Как работает функция random forest_gnate_proba()?
Я работаю на python 3.4
Я пытаюсь сделать прогноз с помощью sklearn random forest
модель. Я сначала сгенерировал confusion matrix
и вычисленная точность, как описано ниже:
accuracy= confusion_matrix.trace() / len(testing_dataframe)
Это дало мне точность около 0.18
что не достаточно хорошо
Итак, чтобы получить более высокий результат, я сгенерировал 6 предложений (у меня есть около 1000 меток), используя predict_proba()
Метод и вычислил точность следующим образом:
Boolean_array=np.zeros(len(testing_dataframe))
if label[i] is in propositions[i]:
Boolean_array[i]= True
else:
Boolean_array[i]= False
accuracy=numpy.mean(propositions)
И это дало мне точность около 0.16
что довольно странно, потому что я ожидаю, что это будет выше.
Вот почему я хотел бы знать, если predict()
а также predict_proba()
связаны, я имею в виду:
predict(X)=predict_proba(X).max()
Кто-нибудь знает, как это predict_proba
работает пожалуйста а почему я получаю более низкую точность?
Редактировать:
Вот небольшая выборка моих данных:
функции DataFrame
:
f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 ... f90 f91 f92 f93 f94 f95 f96 f97 f98 f99
0 0.535271 0.025914 0.562412 -0.419993 0.681204 0.454155 -0.011025 0.038262 0.527357 -0.050546 ... 0.030861 -0.610272 0.317212 -0.418725 0.177978 -0.417070 0.053116 0.395432 0.291500 1.316563
1 -0.901409 -0.516550 -0.332680 1.256825 0.493730 -0.874850 -0.709655 1.452980 -1.383530 0.168827 ... 0.035605 0.445295 -1.631235 0.297015 0.204900 -0.064275 -0.739375 0.583020 -0.949815 1.621750
2 0.160291 0.817350 -0.751626 0.226337 0.727847 0.086183 -0.376025 1.272175 0.031435 0.418815 ... 0.025983 -0.118028 -0.608380 -0.626938 0.212298 -0.948225 0.461030 0.565805 0.860127 1.669100
3 -0.476125 -0.670245 0.146448 0.242735 1.179170 -1.206770 -0.374161 0.474205 0.605703 -0.915345 ... -0.737470 1.207160 1.749050 1.401800 -0.694545 0.621000 0.133150 0.117960 -0.712190 -0.829515
4 1.592632 0.406484 -0.582462 -0.273904 -0.043725 0.473370 -0.561084 -0.586366 0.395254 -0.137352 ... -1.805612 -1.325500 -0.304604 0.031349 1.496978 -0.026860 0.023190 1.226166 1.279988 1.158928
Этикетки DataFrame
:
0 1360
1 268
2 269
3 1047
4 1344
Name: labels, dtype: int64
заранее спасибо