赞
踩
最近在处理一些数据,缺失情况比较严重 但是又舍不得删掉,
决定试一下这个多重数据插补的包
首先导入我们需要的包
import numpy as np
# 注意 此评估器目前仍处于实验阶段:预测和API可能会发生变化,而不会出现任何弃用周期。要使用它,你需要显式地导入enable_iterative_imputer:
from sklearn.experimental import enable_iterative_imputer
# 现在你可以正常导入 sklearn.impute包了
from sklearn.impute import IterativeImputer
使用插补器对数据v中缺失的值进行插补
Iter= IterativeImputer(max_iter=10,random_state=1997)
Iter.fit(v)
IteraList = Iter.transform(v)
IteraNp = np.array(IteraList)
简单介绍IterativeImputer的几个参数:
链接: sklearn.impute.IterativeImputer 的官方文档在此.
def Multivariate_Interpolation(k,v): imp = IterativeImputer(estimator = BayesianRidge(),max_iter=10, random_state=1997) imp.fit(v) IteraList = imp.transform(v) IteraNp = np.array(IteraList) IteraNp.shape IteraDict = {} count = 0 for line in pdDict["九龍"].columns.values.tolist(): IteraDict[line] = [] for l in IteraList: IteraDict[line].append(l[count]) count += 1 data=pd.DataFrame(IteraDict) print(data.head()) return data
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。