Python ML - Как лучше всего спасти * массив значений 1001 * ml - PullRequest
0 голосов
/ 06 февраля 2020

Я создал модель со склеарном для классификации. Когда я вызываю функцию y_pred2 = clf.predict (features2), она возвращает список со всеми идентификаторами моего прогноза

y_pred2 = clf.predict(features2)

Print Array

array([**5**, 5, 5, 1, 6, 1, 6, 1, 1, 1])

Здесь я могу добавить его в свой фрейм данных без каких-либо задача df ['prediction'] = y_pred2

Но я также хочу записать вероятность моего мультикласса при наилучшем значении

y_pred2 = clf.predict_proba(features2)[0]

array([0.02670249, 0.23888486, 0.00940765, 0.15213608, 0.02719888,
   **0.42038983**, 0.07503347, 0.02960037, 0.02064636])

Но я также хочу записать вероятность моего мультикласса по наилучшему значение, но возврат из функции predict_proba возвращает массив всего моего класса, как я могу сделать, чтобы записать значение моей оценки прогноза.

Пример в соответствии с моим прогнозом мой лучший класс и первая позиция 5 , где значение вероятности было 0,42038983 . C

Как я могу взять лучшее значение из моего массива и записать в мой фрейм данных?

1 Ответ

1 голос
/ 06 февраля 2020

так что, если мы будем работать с результатом как с обычным списком, мы можем попробовать что-то вроде

y_pred2 = clf.predict_proba(features2)[0]
someclass = y_pred2.index(max(y_pred2)) # returns the class index *Maximum predicted value
itsprob = max(y_pred2) # returns the Portability *Maximum predicted value

, тогда вы можете либо классифицировать переменную prob в df, либо как вам угодно. я не могу воспроизвести весь ваш сценарий, так как я не знаю весь ваш код

...