本文簡要介紹python語言中 sklearn.impute.KNNImputer
的用法。
用法:
class sklearn.impute.KNNImputer(*, missing_values=nan, n_neighbors=5, weights='uniform', metric='nan_euclidean', copy=True, add_indicator=False)
使用k-Nearest Neighbors 完成缺失值的插補。
每個樣本的缺失值使用來自訓練集中找到的
n_neighbors
最近鄰居的平均值進行估算。如果兩個樣本都沒有缺失的特征是接近的,那麽兩個樣本是接近的。在用戶指南中閱讀更多信息。
- missing_values:int、float、str、np.nan 或 None,默認=np.nan
缺失值的占位符。所有出現的
missing_values
都將被估算。對於帶有缺失值的可空整數 dtype 的 pandas 數據幀,missing_values
應設置為 np.nan,因為pd.NA
將轉換為 np.nan。- n_neighbors:整數,默認=5
用於插補的相鄰樣本數。
- weights:{‘uniform’, ‘distance’} 或可調用,默認='uniform'
預測中使用的權重函數。可能的值:
- ‘uniform’:統一權重。每個鄰域中的所有點的權重相等。
- ‘distance’:權重點按距離的倒數計算。在這種情況下,查詢點的較近的鄰居將比較遠的鄰居具有更大的影響。
- callable:一個用戶定義的函數,它接受一個距離數組,並返回一個包含權重的相同形狀的數組。
- metric:{‘nan_euclidean’} 或可調用,默認='nan_euclidean'
用於搜索鄰居的距離度量。可能的值:
- ‘nan_euclidean’
- callable :用戶定義的函數,符合
_pairwise_callable(X, Y, metric, **kwds)
的定義。該函數接受兩個數組 X 和 Y,以及kwds
中的missing_values
關鍵字,並返回一個標量距離值。
- copy:布爾,默認=真
如果為 True,將創建 X 的副本。如果為 False,則將盡可能就地進行插補。
- add_indicator:布爾,默認=假
如果為真,
MissingIndicator
變換將疊加到 imputer 變換的輸出上。這允許預測估計器解釋缺失,盡管有插補。如果某個特征在擬合/訓練時沒有缺失值,則即使在變換/測試時存在缺失值,該特征也不會出現在缺失指示器上。
- indicator_:sklearn.impute.MissingIndicator
用於為缺失值添加二元指標的指標。
None
如果 add_indicator 為假。- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。
參數:
屬性:
參考:
- Olga Troyanskaya、Michael Cantor、Gavin Sherlock、Pat Brown、Trevor Hastie、Robert Tibshirani、David Botstein 和 Russ B. Altman,DNA 微陣列的缺失值估計方法,BIOINFORMATICS Vol。 17 號2001 年 6 月,第 520-525 頁。
例子:
>>> import numpy as np >>> from sklearn.impute import KNNImputer >>> X = [[1, 2, np.nan], [3, 4, 3], [np.nan, 6, 5], [8, 8, 7]] >>> imputer = KNNImputer(n_neighbors=2) >>> imputer.fit_transform(X) array([[1. , 2. , 4. ], [3. , 4. , 3. ], [5.5, 6. , 5. ], [8. , 8. , 7. ]])
相關用法
- Python sklearn KNeighborsTransformer用法及代碼示例
- Python sklearn KNeighborsRegressor用法及代碼示例
- Python sklearn KNeighborsRegressor.kneighbors用法及代碼示例
- Python sklearn KNeighborsClassifier.kneighbors用法及代碼示例
- Python sklearn KNeighborsClassifier用法及代碼示例
- Python sklearn KNeighborsRegressor.kneighbors_graph用法及代碼示例
- Python sklearn KNeighborsClassifier.kneighbors_graph用法及代碼示例
- Python sklearn KNeighborsTransformer.kneighbors_graph用法及代碼示例
- Python sklearn KNeighborsTransformer.kneighbors用法及代碼示例
- Python sklearn KBinsDiscretizer用法及代碼示例
- Python sklearn KDTree用法及代碼示例
- Python sklearn KernelPCA用法及代碼示例
- Python sklearn KernelDensity用法及代碼示例
- Python sklearn KernelRidge用法及代碼示例
- Python sklearn KMeans用法及代碼示例
- Python sklearn KernelCenterer用法及代碼示例
- Python sklearn KFold用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.impute.KNNImputer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。