ただスタックすれば良いわけではないでしょうが
下記はその結果が微小ですが改良されていることが分かります
各々の分類器のyテスト、予測確率、平均
各学習器で予測結果を出し、多数決で決定(hard)
各学習器で予測確率を出し、平均をとって最も高いクラスを出力(soft)
(stacking)
svm =SVC(C=5, gamma=0.001, probability=True) # support vector machine:教師あり学習の分類や回帰に適用できる
lr = LogisticRegression() # ロジスティック回帰:答えが2つの時に使う
knn = KNN(n_jobs=-1) # k近傍法:パターン認識、回帰分析などに使う
nb = GNB() # naive bayes:決定境界線を決めるときに使う
rfc = RFC(n_estimators=500, n_jobs=-1) # ランダムフォレスト:分類
bgg = BaggingClassifier(n_estimators=300, n_jobs=-1) # 分類
mlp = MLPClassifier(hidden_layer_sizes=(40, 20), max_iter=1000) # 分類
結果のみ
===================================================================================
svm
p:0.8876 r:0.8861 f1:0.8844
lr
p:0.7347 r:0.7394 f1:0.7355
knn
p:0.8470 r:0.8369 f1:0.8309
nb
p:0.8543 r:0.8505 f1:0.8508
rfc
p:0.8506 r:0.8503 f1:0.8476
bgg
p:0.7900 r:0.7865 f1:0.7805
mlp
p:0.6842 r:0.6835 f1:0.6822
hard voting
p:0.8763 r:0.8777 f1:0.8761
soft voting
p:0.8715 r:0.8712 f1:0.8707
stacking
p:0.8961 r:0.8943 f1:0.8941