勾配ブースティングのサンプルコード教えて
勾配ブースティング(Gradient Boosting)をScikit-learnを使用して実装するサンプルコードを提供します。この例では、勾配ブースティングを使用して分類タスクを実行します。Scikit-learnでは、勾配ブースティングにはGradientBoostingClassifierが提供されています。
以下は、Irisデータセットを使用して勾配ブースティングを実装するサンプルコードです。
python
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingClassifier from sklearn.metrics import accuracy_score # Irisデータセットをロード iris = load_iris() X = iris.data y = iris.target # データをトレーニングセットとテストセットに分割 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 勾配ブースティングモデルを作成 # ハイパーパラメータ(n_estimators、learning_rate、max_depthなど)は調整できます gb_model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42) # モデルをトレーニング gb_model.fit(X_train, y_train) # テストデータで予測 y_pred = gb_model.predict(X_test) # モデルの性能を評価 accuracy = accuracy_score(y_test, y_pred) print(f"Accuracy: {accuracy}")
このコードでは、Irisデータセットをロードし、GradientBoostingClassifierを使用して勾配ブースティングモデルをトレーニングしています。ハイパーパラメータ(例:n_estimators、learning_rate、max_depth)はタスクに合わせて調整できます。モデルをトレーニングし、テストデータで予測を行い、正確度(accuracy)を計算して性能を評価しています。
勾配ブースティングは、アンサンブル学習アルゴリズムの一種であり、多くの機械学習タスクで高い性能を発揮します。ハイパーパラメータの調整により、モデルの性能を最適化できます。

ディスカッション
コメント一覧
まだ、コメントがありません