始める無料で始める

分類モデルの性能の可視化

この演習では、分類問題に取り組みます。"popularity" データセットの music_df 列は、1 列の中央値以上の場合は "popularity"、中央値未満の場合は 0 となる二値に変換されています。

3つの異なるモデルを構築し、楽曲が人気かどうかを分類した結果を可視化しましょう。

データはあらかじめ分割・スケーリングされており、X_train_scaledX_test_scaledy_trainy_test として読み込まれています。また、KNeighborsClassifierDecisionTreeClassifierLogisticRegression はすでにインポートされています。

この演習はコースの一部です

scikit-learn による教師あり学習

コースを見る

演習の手順

  • "Logistic Regression""KNN""Decision Tree Classifier" をキーとする辞書を作成し、それぞれの値に各モデルの呼び出しを設定しましょう。
  • models の値をループ処理しましょう。
  • KFold オブジェクトをインスタンス化して6分割を実行する設定にし、shuffleTruerandom_state12 に設定しましょう。
  • モデル、スケーリング済みの訓練用特徴量、訓練用ターゲットを使用し、cvkf に設定して交差検証を実行しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行