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

bookGridSearchCVの欠点

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

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

Weights

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

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