У меня возникают проблемы с правильным вызовом логистической регрессии Scikit для случая с несколькими классами. Я использую lbgfs solver, и у меня есть параметр multi_class, установленный в многочлен.Логистическая регрессия Multi-класса в SciKit Learn
Непонятно, как передать истинные метки классов при подгонке модели. Я предположил, что он был аналогичным/таким же, как для многоуровневого классификатора лесных классификаторов, в котором вы передаете [n_samples, m_classes] dataframe. Однако при этом возникает ошибка, что данные имеют плохую форму. ValueError: плохая форма ввода (20, 5) - на этом крошечном примере было 5 классов, 20 образцов.
При осмотре документация по методу подгонки говорит о том, что значения истинности передаются как [n_samples], которые соответствуют ошибке, которую я получаю, однако я понятия не имею, как обучать модель с помощью несколько классов. Итак, это мой вопрос: как передать полный набор меток класса в функцию fit?
Мне не удалось найти образец кода в Интернете для моделирования, а также этот вопрос на StackOverflow .. но я уверен, что кто-то должен знать, как это сделать!
в коде ниже, train_features = [n_samples, nn_features], truth_train = [n_samples, m_classes]
clf = LogisticRegressionCV(class_weight='balanced', multi_class='multinomial', solver='lbfgs')
clf.fit(train_features, truth_train)
pred = clf.predict(test_features)
Спасибо за ваш ответ. Я действительно ищу мультикласса, то есть каждый образец имеет только один класс. НО, то, что я сделал с лесом, преобразовывал назначения классов в логические массивы, вот как я закончил с массивом n x m. Итак, если я правильно вас понимаю, я должен преобразовать метки классов в целые числа и создать один массив длиной n_sample, где значения, которые он может принимать, сопоставляются с разными метками класса. это верно? Спасибо за вашу помощь. –
Да, и вы должны делать то же самое с деревьями. В противном случае вы подходите к модели с несколькими метками. – lejlot
@lejlot Я использовал scikit логистическую регрессию для многомерного предсказания скаляров. Ответ dukebody в https://stackoverflow.com/questions/36760000/python-how-to-use-multinomial-logistic-regression-using-sklearn также работает для меня. Может, я неправильно понял ваш ответ? –