В настоящее время я работаю над проблемой классификации с несколькими метками, используя scikit-learn
, и у меня возникли проблемы с изучением того, как получить прогнозируемые вероятности для каждого класса/метки - аналогично тому, как метод scikit-learn .predict_proba()
выполняет двоичные задачи классификации.Усвоение прогнозируемых вероятностей для многоточечных проблем
Мой y
- это массив 100x10 2d, имеющий 10 уникальных классов, и я использую scikit-learn ensemble.RandomForestClassifier()
в качестве моего классификатора.
Что я хотел бы сделать, просто предсказать вероятность того, что набор заданных объектов относится к одному из классов (отмечен ниже как cl_
) в y
. Поэтому в основном я себе выход похож на это:
cl_1 | cl_2 | cl_3 | cl_4 | cl_5 | cl_6 | cl_7 | cl_8 | cl_9 | cl_10
---------------------------------------------------------------------
0.0 | 0.0 | 0.0 | 0.1 | 0.3 | 0.0 | 0.0 | 0.0 | 0.6 | 0.0
ПРИМЕЧАНИЕ: меня подходят классификатор Random Forest к набору данных и метод .predict()
работает, как ожидалось. Тем не менее, метод возвращает .predict_proba()
вероятность в виде С й М, гдеС является количество уникальных классов, а М этим количество экземпляров в наборе данных.
Осветление/Update: Вот фактический y
экземпляр из моего набора данных:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0]
Используя .predict_proba()
на X_test
возвращает 2d-массив формы 39 х 848048 (где 39 это число уникальных классов и 848 048 - количество экземпляров). Так что, в условиях неспециалиста, я спрашиваю: как мне сделать с того, что возвращается .predict_proba()
(в той мере, в какой это касается вышеприведенной диаграммы).
Примечание: Это:
y_hat_proba = clf.predict_proba(X_test)
print(y_hat_proba[0][1])
возвращает [ 1. 0.]
Является ли ваша переменная класса. И вы разогрели его кодирование или что-то еще? В других словах каждый ярлык класса является бинарным вектором? Я не понимаю, почему его 100 x 10. –
Yea y был перенесен через preprocessing.MultiLabelBinarizer(). Я использую это из-за нескольких ярлыков. Я использовал 100 x 10 в качестве примера - 100 - примерное число экземпляров, а 10 - 10 уникальных классов. – ralston
Можете ли вы опубликовать примеры выводов для нескольких примеров обучения? Разве столбцы не суммируются? Потому что это звучит так, как будто вы хотели бы M x C ndarray в качестве вывода, верно? –