マルチクラスのケースに対するScikitのロジスティック回帰の適切な呼び出しに問題があります。私はlbgfsソルバーを使用していますが、多項式に設定されたmulti_classパラメーターがあります。SciKitのマルチクラスロジスティック回帰Learn
実際のクラスラベルをモデルにフィットさせるにはどうすればよいかわかりません。私は、それが[n_samples、m_classes] dataframeを渡すランダムなフォレストクラシファイアのマルチクラスと同様であると仮定していました。しかし、これを行うと、データが悪い形であるというエラーが発生します。 ValueError:不正な入力形状(20,5) - この小さな例では、5つのクラス、20のサンプルがありました。
検査では、真理値が[n_samples]として渡されているというメッセージが表示されますが、これは私が得ているエラーと一致しますが、モデルを訓練する方法はわかりません複数のクラス。だから、これは私の質問です:どのようにフィット関数にクラスラベルの完全なセットを渡すのですか?
インターネット上でモデルを作るためのサンプルコードや、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)
は、ご返信いただきありがとうございます。私は実際にマルチクラスを探しています。つまり、各サンプルは1つのクラスだけです。しかし、私がフォレストで行ったことは、クラスの割り当てをブール値の配列に変換していたので、n x m配列で終わったのです。だから私はあなたを正しく理解していれば、私は整数に私のクラスラベルを変換し、単一のn_sample長い配列を作成する必要があります。あれは正しいですか?ご協力いただきありがとうございます。 –
はい、木と同じようにする必要があります。それ以外の場合は、マルチラベルモデルに適合します。 – lejlot
@lejlot私はscikitロジスティック回帰をスカラーのマルチ予測に使用しました。私は、dukebodyの回答がhttps://stackoverflow.com/questions/36760000/python-how-to-use-multinomial-logistic-regression-using-sklearnでもうまくいきます。私はあなたの反応を誤解しているのでしょうか? –