from sklearn.preprocessing import LabelEncoder import xgboost as xgb # 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モデルを使用していますね。モデルの評価指標が表示されていますが、どのようなデータセットを扱っているか、またその問題がどのような性質を持っているかによって、これらのスコアがどのように解釈されるかが異なります。

データセットやその背後にある問題の性質について少し詳細を教えていただけますか?それによって、モデルの評価スコアをより適切に解釈し、必要に応じて改善点を見つけることができます。

未分類

Posted by ぼっち