分類モデルの性能の可視化
この演習では、分類問題に取り組みます。"popularity" データセットの music_df 列は、1 列の中央値以上の場合は "popularity"、中央値未満の場合は 0 となる二値に変換されています。
3つの異なるモデルを構築し、楽曲が人気かどうかを分類した結果を可視化しましょう。
データはあらかじめ分割・スケーリングされており、X_train_scaled、X_test_scaled、y_train、y_test として読み込まれています。また、KNeighborsClassifier、DecisionTreeClassifier、LogisticRegression はすでにインポートされています。
この演習はコースの一部です
scikit-learn による教師あり学習
演習の手順
"Logistic Regression"、"KNN"、"Decision Tree Classifier"をキーとする辞書を作成し、それぞれの値に各モデルの呼び出しを設定しましょう。modelsの値をループ処理しましょう。KFoldオブジェクトをインスタンス化して6分割を実行する設定にし、shuffleをTrue、random_stateを12に設定しましょう。- モデル、スケーリング済みの訓練用特徴量、訓練用ターゲットを使用し、
cvをkfに設定して交差検証を実行しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create models dictionary
models = {"____": ____(), "____": ____(), "____": ____()}
results = []
# Loop through the models' values
for model in ____.____():
# Instantiate a KFold object
kf = ____(n_splits=____, random_state=____, shuffle=____)
# Perform cross-validation
cv_results = ____(____, ____, ____, cv=____)
results.append(cv_results)
plt.boxplot(results, labels=models.keys())
plt.show()