Python數據挖掘之隨機森林

 主要是使用隨機森林將four列缺失的數據補齊。dom

# fit到RandomForestRegressor之中,n_estimators表明隨機森林中的決策樹數量
#n_jobs這個參數告訴引擎有多少處理器是它可使用。 「-1」意味着沒有限制,而「1」值意味着它只能使用一個處理器。import pandas as pd #數據分析,引入pandas包,用以數據分析spa

 

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('****************************')

結果:3d

相關文章
相關標籤/搜索