主要是使用随机森林将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('****************************')

结果:

Python数据挖掘之随机森林-LMLPHP

05-20 10:56