sklearn學習 使用 IterativeImputer 进行多重数据插补

最近在处理一些数据,缺失情况比较严重 但是又舍不得删掉,
决定试一下这个多重数据插补的包

首先导入我们需要的包

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
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值