from sklearn.preprocessing import LabelEncoder # LabelEncoderを使用してクラスラベルを変換する label_encoder = LabelEncoder() y_train_encoded = label_encoder.fit_transform(y_train) y_test_encoded = label_encoder.transform(y_test) # XGBoostモデルの作成とトレーニング xgb_model = xgb.XGBClassifier(n_estimators=1000, random_state=100) xgb_model.fit(X_train, y_train_encoded) # テストセットでの予測 y_pred_encoded = xgb_model.predict(X_test) # モデルの評価 accuracy = accuracy_score(y_test_encoded, y_pred_encoded) precision = precision_score(y_test_encoded, y_pred_encoded, average=’weighted’) recall = recall_score(y_test_encoded, y_pred_encoded, average=’weighted’) f1 = f1_score(y_test_encoded, y_pred_encoded, average=’weighted’) roc_auc = roc_auc_score(y_test_encoded, xgb_model.predict_proba(X_test), multi_class=’ovr’) print(“Accuracy:”, accuracy) print(“Precision:”, precision) print(“Recall:”, recall) print(“F1 Score:”, f1) print(“ROC AUC Score:”, roc_auc) グリッドサーチして
グリッドサーチを使用してXGBoostモデルのハイパーパラメータをチューニングする方法を示します。グリッドサーチは、指定したハイパーパラメータの組み合わせの中から最適なパフォーマンスを持つモデルを選択します。
以下は、グリッドサーチを使用してXGBoostモデルのハイパーパラメータをチューニングする例です。
python
from sklearn.model_selection import GridSearchCV # チューニングするハイパーパラメータの範囲を定義 param_grid = { 'n_estimators': [100, 500, 1000], 'max_depth': [3, 5, 7], 'learning_rate': [0.01, 0.1, 0.3], 'subsample': [0.6, 0.8, 1.0], 'colsample_bytree': [0.6, 0.8, 1.0], } # グリッドサーチを行う grid_search = GridSearchCV(estimator=xgb_model, param_grid=param_grid, cv=3, scoring='accuracy', verbose=2, n_jobs=-1) grid_search.fit(X_train, y_train_encoded) # 最適なモデルを取得 best_model = grid_search.best_estimator_ # 最適なモデルで予測を行う y_pred_encoded = best_model.predict(X_test) # モデルの評価 accuracy = accuracy_score(y_test_encoded, y_pred_encoded) precision = precision_score(y_test_encoded, y_pred_encoded, average='weighted') recall = recall_score(y_test_encoded, y_pred_encoded, average='weighted') f1 = f1_score(y_test_encoded, y_pred_encoded, average='weighted') roc_auc = roc_auc_score(y_test_encoded, best_model.predict_proba(X_test), multi_class='ovr') print("Best Parameters:", grid_search.best_params_) print("Accuracy:", accuracy) print("Precision:", precision) print("Recall:", recall) print("F1 Score:", f1) print("ROC AUC Score:", roc_auc)
このコードでは、param_gridでチューニングするハイパーパラメータの範囲を定義し、GridSearchCVを使用してグリッドサーチを行います。最適なモデルはbest_modelに格納され、そのモデルでテストセットの予測と評価を行います。

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