本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。