簡體   English   中英

如果sklearn的輸入向量中缺少列中的所有值,則Imputer如何工作

[英]How will the Imputers work if all the values in a column is missing in input vector in sklearn

我有一個包含大量列的數據集,我以這樣一種方式對應用程序進行了編程:如果缺少給定列的任何值,則將使用均值作為不合理策略填充不合理值。

但是,令我有些擔心的是,如果缺少整列的所有值,那么不完美的人將如何執行?在這種情況下,正確的方法是什么?

如果在給定的列中缺少所有數據,則Imputer將丟棄該列。

這是一個示例,包含4個樣本和2列,其中一個樣本具有缺失值:

X = np.array([[1,1],[1,2],[1,1],[1,2],[1,np.nan]])
imputer = Imputer(missing_values='NaN', strategy='mean', axis=0)
print(imputer.fit_transform(X))

打印出來

 [[ 1.   1. ]
 [ 1.   2. ]
 [ 1.   1. ]
 [ 1.   2. ]
 [ 1.   1.5]]

但是,如果缺少第二列中的所有數據:

X = np.array([[1,np.nan],[1,np.nan],[1,np.nan],[1,np.nan],[1,np.nan]])
imputer = Imputer(missing_values='NaN', strategy='mean', axis=0)
print(imputer.fit_transform(X))

我們獲得:

[[ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]]

在這種情況下,此默認行為可能是正確的方法,因為無論如何都無法使用此列( 此功能)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM