Logistische Regression in mehreren Klassen in SciKit Learn

Ich habe Probleme mit dem richtigen Aufruf von Scikits Logistic Regression für den Fall mit mehreren Klassen. Ich verwende den Löser lbgfs und habe den Parameter multi_class auf multinomial gesetzt.

Es ist mir unklar, wie ich die wahren Klassenbeschriftungen beim Anpassen des Modells übergeben soll. Ich hatte angenommen, dass es ähnlich ist wie für den Random Forest Classifier Multi-Class, bei dem Sie den Datenrahmen [n_samples, m_classes] übergeben. Dabei erhalte ich jedoch die Fehlermeldung, dass die Daten in einem schlechten Zustand sind. ValueError: falsche Eingabeform (20, 5) - in diesem winzigen Beispiel gab es 5 Klassen, 20 Samples.

ei der Überprüfung heißt es in der Dokumentation für die Fit-Methode, dass die Wahrheitswerte als [n_samples] übergeben werden - was mit dem Fehler übereinstimmt, den ich erhalte. Ich habe jedoch keine Ahnung, wie das Modell mit mehreren Klassen trainiert werden soll. Das ist also meine Frage: Wie übergebe ich den vollständigen Satz von Klassenbeschriftungen an die Fit-Funktion?

Ich konnte weder Beispielcode im Internet zum Modellieren noch diese Frage auf StackOverflow finden. Aber ich bin mir sicher, dass jemand wissen muss, wie es geht!

in dem Code unten, 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)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage