MLPClassfier предиката и предиката_процесса кажутся несовместимыми - PullRequest
0 голосов
/ 30 января 2020

Я использую MLPClassifier с использованием решателя lbfgs.

Если я вычисляю ожидаемое значение с помощью методаgnast_Proba () и атрибута classes_, оно не совпадает с тем, что возвращает прогнозируемый метод.

Какой из них более точный?

Должно ли значение, возвращаемое функцией предиката (), быть одним из классов? Разве это не будет интерполировать между классами? У меня есть постоянно меняющаяся переменная, которую я хочу предсказать.

1 Ответ

1 голос
/ 30 января 2020

Определение

predict - классифицирует ваш ввод в метку.

predict_proba - возвращает прогнозируемую вероятность для каждого класса в вашей модели.

Пример

Если бы это была двоичная проблема, и ваши классы помечены 0 и 1. Затем для некоторого входного сигнала, который вы тестируете, predict вернет класс, скажем, 1.

Однако predict_proba даст вам прогнозируемую вероятность того, что этот входной сигнал отобразится в класс 1 в этом примере это может быть 0.8. Вот почему их значения не совпадают.

Что является более точным?

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

[0.11, 0.01, 0.88]

Вы можете рассматривать эту модель как модель с высокой степенью уверенности в том, что этот вход соответствует третьему классу, так как он имеет наибольшая вероятность 0.88.

Напротив, для некоторого другого входного значения ваша модель может выдать следующее:

[0.33, 0.32, 0.34]

Ваша модель все еще предсказывает третий класс, так как он имеет наибольшая вероятность Однако существует низкая степень уверенности в том, что третий класс является истинным классом.

...