スタッキングアンサンブルとメタラーナー
メニューを表示するにはスワイプしてください
スタッキングは高度なアンサンブル手法であり、複数のベースモデルからの予測値を上位モデル(メタラーナー)の入力特徴量として使用します。メタラーナーは、ベースモデルの出力を最適に組み合わせて全体の性能を向上させる方法を学習します。
定義
メタラーナーは、ベースモデルの予測値を入力として受け取り、それらを組み合わせて最終的な予測を行う方法を学習するモデル。
定義
スタッキング一般化は、ベースモデルの出力に対してメタラーナーを学習させ、単一モデルよりも高い汎化性能を得るプロセス。
1234567891011121314151617181920212223242526272829303132from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import StackingClassifier from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC # Load dataset X, y = load_iris(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) # Define base models base_estimators = [ ('dt', DecisionTreeClassifier(random_state=42)), ('lr', LogisticRegression(max_iter=1000, random_state=42)), ('svc', SVC(probability=True, random_state=42)) ] # Define meta-learner meta_learner = LogisticRegression(max_iter=1000, random_state=42) # Build stacking ensemble stacking_clf = StackingClassifier( estimators=base_estimators, final_estimator=meta_learner, cv=5 ) # Train and evaluate stacking_clf.fit(X_train, y_train) score = stacking_clf.score(X_test, y_test) print(f"Stacking ensemble accuracy: {score:.2f}")
上記のコードでは、ベースモデルが予測を生成し、その予測をメタラーナーが受け取り最終的な判断を行います。この手法により、個々のモデルでは捉えきれないパターンも捉えることができます。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 13
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 13