Как понять в каком порядке выдается вероятность события? Задаю модель на примере.import numpy as np
X = np.array([[-1, -1, 2], [-2, -1, 4], [1, 1, 5], [2, 1, 2]]) #Тут массив из 3
y = np.array([2, 1, 1, 1])
from sklearn.svm import SVC
clf = SVC(probability=True) #Обязательно задать для расчета вероятностей
clf.fit(X, y)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
max_iter=-1, probability=True, random_state=None, shrinking=True,
tol=0.001, verbose=False)
print(clf.predict([[-0.8, -1, 5]])) # И тут массив из 3
print(clf.predict_proba([[-0.8, -1, 5]]))
Получаю ответ:
[1] #К какому классу относим событие
[[ 0.47949123 0.52050877]] - #Вероятность классов
В хелпе указывается: Returns the probability of the sample for each class in the model. The columns correspond to the classes in sorted order, as they appear in the attribute classes_.
Как я понял predict_proba вероятности сортируются так, как они появляются в классе атрибута. Как это можно понять?
Очередность будет такая же как я указал y?
y = np.array([2, 1, 1, 1]) , то есть:
2 - 0.47949123%
1 - 0.52050877%

21 Авг 2019 в 06:06
241 +1
0
Ответы
1

Да, вероятности возвращаются в том же порядке, в котором классы появляются в атрибуте classes_.
В вашем случае, если y = np.array([2, 1, 1, 1]), то вероятности будут возвращены в следующем порядке:
Класс 2 - 0.47949123%
Класс 1 - 0.52050877%

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир