說我有一個這樣的數據集:很難理解輸出
5.9;0.645;0.12;2;0.075;32;44;0.99547;3.57;0.71;10.2;5
6;0.31;0.47;3.6;0.067;18;42;0.99549;3.39;0.66;11;6
,其中1號11列表示的功能(酸性,氯化物等),最後一列表示給予項目評級(例如,5或6。)
數據集由此訓練:
target = [x[11] for x in dataset]
train = [x[0:11] for x in dataset]
rf = RandomForestClassifier(n_estimators=120, n_jobs=-1)
rf.fit(train, target)
predictions = rf.predict_proba(testdataset)
print predictions[0]
它打印像
[ 0. 0.01666667 0.98333333 0. 0. 0. ]
現在,它爲什麼不輸出一個單一的分類,例如5或6的評級?
該文檔中提到「輸入樣本的預測類別概率計算爲森林中樹木的平均預測類別概率」,這是我無法理解的。
如果使用
print rf.predict(testdataset[-1])
[ 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6.]
它打印出更多的東西像你所期望的 - 至少它看起來像收視率 - 但我還是不明白,爲什麼有每個功能的預測,而不是一個單一的預測取考慮到所有功能?
者均基於數據來自葡萄酒的數據集在這裏:http://www3.dsi.uminho.pt/pcortez/wine/ – Sofia
是什麼testdatasets的形狀? –