Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:最適なK値の選択 | セクション
Pythonによる分類
セクション 1.  7
single

single

bookチャレンジ:最適なK値の選択

メニューを表示するにはスワイプしてください

前の章で示したように、モデルの予測はk(近傍点の数)の値によって異なる場合があります。k-NNモデルを構築する際には、最も高いパフォーマンスを示すk値を選択することが重要です。

一般的な方法として、交差検証を用いてモデルのパフォーマンスを評価します。ループを実行し、さまざまなk値に対して交差検証スコアを計算し、最も高いスコアを持つものを選択します。これは最も広く使われている手法です。

この作業を行うために、sklearnは便利なツールであるGridSearchCVクラスを提供しています。

param_gridパラメータには、キーがパラメータ名、値が試すオプションのリストとなる辞書を指定します。たとえば、1に対して99からn_neighborsまでの値をテストする場合、次のように記述します。

param_grid = {'n_neighbors': range(1, 100)}

.fit(X, y)オブジェクトでGridSearchCVメソッドを呼び出すと、パラメータグリッド全体を探索して最適なパラメータを見つけ、その最適なパラメータで全データセットを使ってモデルを再学習します。

最良のスコア.best_score_属性で取得でき、最適化されたモデルで予測を行うには.predict()メソッドを使用します。同様に、最良のモデル自体は.best_estimator_属性で取得できます。

タスク

スワイプしてコーディングを開始

Star Warsの評価データセットがDataFrame変数にdfとして格納されています。

  • param_gridを、n_neighborsパラメータに値[3, 9, 18, 27]を持つ辞書として初期化してください。
  • GridSearchCVを用いて4分割交差検証(4-fold cross-validation)を行うparam_gridオブジェクトを作成し、学習させ、その結果をgrid_search変数に格納してください。
  • grid_searchから最適なモデルを取得し、best_model変数に格納してください。
  • 最適なモデルのスコアを取得し、best_score変数に格納してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  7
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt