# 用随机森林对缺失值预测填充函数

def set_missing(df):

# 把已有的数值型特征取出来

process_df = df.ix[:,[变量]]

# 分成已知该特征和未知该特征两部分

known = process_df[process_df.变量.notnull()].as_matrix()

unknown = process_df[process_df.变量.isnull()].as_matrix()

# X为特征属性值

X = known[:, 1:]

# y为结果标签值

y = known[:, 0]

# fit到RandomForestRegressor之中

rfr = RandomForestRegressor(random_state=0, n_estimators=200,max_depth=3,n_jobs=-1)

rfr.fit(X,y)

# 用得到的模型进行未知特征值预测

predicted = rfr.predict(unknown[:, 1:]).round(0)

print(predicted)

# 用得到的预测结果填补原缺失数据

df.loc[(df.变量.isnull()), '变量'] = predicted

return df

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐