0

私はPythonとScikit初心者です。 私はScikitで作成された2つのロジスティック回帰モデルを持っており、それらを結合して新しいモデルを取得したいと思います。私の心に はそのようなものです:pythonとscikitを使って2つのロジスティック回帰モデルを結合するには?

clf1 = LogisticRegression() 
clf1.fit(X_set, Y_set) 
clf2 = LogisticRegression() 
clf2.fit(X_set, Y_set) 
combined_clf = clf1 + clf2 

しかし、私はそれを行う方法がわかりません。 ありがとうございました。

答えて

1

ここでは2つの方法があります。

最初のものは、それぞれの分類子を予測クラスに投票させることです。これを行うには、sklearn.ensemble.VotingClassifierを使用できます。あなたの例では:

from sklearn.ensemble import VotingClassifier 
clf1 = LogisticRegression() 
clf2 = LogisticRegression() 
eclf1 = VotingClassifier(estimators=[('lr1', clf1), ('lr2', clf2),voting='hard') 
eclf1 = eclf1.fit(X, Y) 

他の一つはを積み重ねるです。 基本的には、複数のクラシファイアの出力を結合し、第1のクラシファイアの出力にメタクラス化を練習することです。

この方法を説明する便利なリンクは次のとおりです。https://rasbt.github.io/mlxtend/user_guide/classifier/StackingClassifier/ mlxtendとあなたの例の使用

from mlxtend.classifier import StackingClassifier 
clf1 = LogisticRegression() 
clf2 = LogisticRegression() 
lr = Your_Meta_Classifier() 
sclf = StackingClassifier(classifiers=[clf1, clf2], 
         meta_classifier=lr) 

をしかし、あなたの例では、同じ決定論的な方法で訓練されたモデルは、私はそれらを積み重ねることは任意の改善につながるとは思いません。

希望しました!