Python数据挖掘之随机森林

 主要是使用随机森林将four列缺失的数据补齐。

# fit到RandomForestRegressor之中,n_estimators代表随机森林中的决策树数量
#n_jobs这个参数告诉引擎有多少处理器是它可以使用。 “-1”意味着没有限制,而“1”值意味着它只能使用一个处理器。import pandas as pd #数据分析,引入pandas包,用以数据分析

 

import pandas as pd #数据分析,引入pandas包,用以数据分析
from sklearn.ensemble import RandomForestRegressor #随机森林

data=[[2,3,4],[6,7,8],[9,10,11,12],[52,84,62],[53,95,41,1],[12,92,12,21],[63,12,41,15],[85,76,43,1],[15,123,45,91],[952,42,1,3]]
df=pd.DataFrame(data,columns=['one','two','three','four'])

df2=df[['four','one','two','three']]

print('****************************')
print(df2)

known_data=df2[df2.four.notnull()].as_matrix()
unknown_data=df2[df2.four.isnull()].as_matrix()

y=known_data[:,0]
X=known_data[:,1:]

rfr = RandomForestRegressor(n_estimators=2000, n_jobs=-1)

rfr.fit(X, y)

predictedDatas = rfr.predict(unknown_data[:,1:])
print('****************************')
df2.loc[(df2.four.isnull()),'four']=predictedDatas
print(df2)
print('****************************')

结果:

 

posted @ 2019-06-04 16:15  权杖攻城狮  阅读(848)  评论(0编辑  收藏  举报