- ライブラリのインポート: まず、必要なライブラリをインポートします。一般的に使用されるライブラリには、scikit-learn、numpy、pandasなどがあります。
from sklearn.ensemble import VotingClassifier, VotingRegressor
from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
from sklearn.linear_model import LogisticRegression, LinearRegression
from sklearn.metrics import accuracy_score, mean_squared_error
- データの準備: アンサンブル学習に使用するデータを準備します。データは、分類問題の場合は特徴行列と目的変数で構成され、回帰問題の場合は特徴行列と連続値の目的変数で構成されることが一般的です。
# 分類問題の場合
X_train, y_train = ...
X_test, y_test = ...
# 回帰問題の場合
X_train, y_train = ...
X_test, y_test = ...
- アンサンブル学習のモデルの作成: 異なるモデルを組み合わせてアンサンブル学習モデルを作成します。分類問題の場合はVotingClassifierを使用し、回帰問題の場合はVotingRegressorを使用します。
# 分類問題の場合
model1 = DecisionTreeClassifier()
model2 = LogisticRegression()
ensemble_model = VotingClassifier(estimators=[('dt', model1), ('lr', model2)], voting='hard')
# 回帰問題の場合
model1 = DecisionTreeRegressor()
model2 = LinearRegression()
ensemble_model = VotingRegressor(estimators=[('dt', model1), ('lr', model2)])
- モデルの学習と予測: アンサンブルモデルを学習させ、予測を行います。
ensemble_model.fit(X_train, y_train)
# 分類問題の場合
y_pred = ensemble_model.predict(X_test)
# 回帰問題の場合
y_pred = ensemble_model.predict(X_test)
- モデルの評価: 予測結果を評価します。分類問題の場合はaccuracy_scoreなどの分類用の評価指標を使用し、回帰問題の場合はmean_squared_errorなどの回帰用の評価指標を使用します。
# 分類問題の場合
accuracy = accuracy_score(y_test, y_pred)
# 回帰問題の場合
mse = mean_squared_error(y_test, y_pred)
以上がPythonでのアンサンブル学習の実装方法の基本的な手順です。必要に応じて、他のアンサンブル手法やモデルを組み合わせることも可能です。また、ハイパーパラメータの調整や交差検証などを行うことで、モデルのパフォーマンスをさらに向上させることができます。