Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ GridSearchCVの欠点 | モデリング
Pythonによる機械学習入門

GridSearchCVの欠点

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

GridSearchCV を使用する前に、KNeighborsClassifier には n_neighbors 以外にも多くのハイパーパラメータがあることに注意。重要なものとして weightsp が挙げられる。

重み

デフォルトでは、分類器は weights='uniform' を使用し、すべての k 近傍が等しく投票する。 weights='distance' を設定すると、より近い近傍がより大きな影響を持つようになり、近くの点がより関連性が高い場合に予測精度が向上することが多い。

kNNWeights

P

p パラメータは距離尺度を制御します:

  • p=1: マンハッタン距離;
  • p=2: ユークリッド距離
距離

p パラメータは任意の正の整数を指定できます。さまざまな距離尺度がありますが、p=1p=2 よりも可視化が難しくなります。

Note
注意

weightspの詳細が不明でも心配する必要はありません。これらは、モデルの予測に影響を与えるハイパーパラメータが複数存在することを示すために紹介されています。調整可能なハイパーパラメータの例として扱ってください。

チューニング

以前はn_neighborsのみをチューニングしていました。3つすべてのハイパーパラメータを探索するには、次のようにします:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV は最適なものを見つけるために すべての組み合わせ を試すため、以下のすべてを試行する:

次のような大きなグリッド:

param_grid = {
    'n_neighbors': [...],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

は100通りの組み合わせを生成する。5分割交差検証を行う場合、モデルは500回学習される。 小規模なデータセットでは問題ないが、大規模なデータセットでは処理が非常に遅くなる。

計算時間を短縮するために、RandomizedSearchCV は組み合わせの中からランダムなサブセットのみをテストし、通常はフルグリッドサーチよりもはるかに速く有力な結果を見つけることができる。

question mark

GridSearchCV の主な問題点は、(param_grid で指定された)すべての組み合わせを試すため、多くの時間がかかる場合があることである。この記述は正しいか?

正しい答えを選んでください

すべて明確でしたか?

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

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

セクション 4.  7

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 4.  7
some-alt