Как я могу узнать вероятность класса, предсказанного функцией prec() в Vector Vector Machine?
Как я могу узнать вероятность выборки, которую он принадлежит классу, предсказанному функцией prec() Scikit-Learn в поддержке Vector Machine?
>>>print clf.predict([fv])
[5]
Есть ли какая-либо функция?
Ответ 1
Используйте clf.predict_proba ([fv]), чтобы получить список с прогнозируемыми вероятностями для каждого класса. Однако эта функция недоступна для всех классификаторов.
Что касается вашего комментария, рассмотрите следующее:
В принципе, если у вас многоклассовая проблема с большим количеством данных, предсказываемая ранее предсказанная версия, работает хорошо. В противном случае вам, возможно, придется делать с заказом, который не дает оценки вероятности из функции принятия решения.
Вот хороший мотив для использования pred_proba для получения словаря или списка классов с вероятностью:
model = svm.SVC(probability=True)
model.fit(X, Y)
results = model.predict_proba(test_data)[0]
# gets a dictionary of {'class_name': probability}
prob_per_class_dictionary = dict(zip(model.classes_, results))
# gets a list of ['most_probable_class', 'second_most_probable_class', ..., 'least_class']
results_ordered_by_probability = map(lambda x: x[0], sorted(zip(model.classes_, results), key=lambda x: x[1], reverse=True))
Ответ 3
При создании класса SVC для вычисления вероятностных оценок устанавливается probability=True: