GridSearchCVの欠点
メニューを表示するにはスワイプしてください
GridSearchCVを使用する前に、KNeighborsClassifierにはn_neighbors以外にも多くのハイパーパラメータがあることに注意。重要なものとしてweightsとpが挙げられる。
Weights
デフォルトでは、分類器はweights='uniform'を使用し、すべてのk近傍が等しく投票する。
weights='distance'を設定すると、近い近傍ほど影響力が大きくなり、近くのデータ点がより重要な場合に予測精度が向上することが多い。
P
pパラメータは距離尺度を制御する:
p=1: マンハッタン距離;p=2: ユークリッド距離。
p パラメータは任意の正の整数を取ることが可能。さまざまな距離が存在するが、p=1 や p=2 よりも可視化が難しい。
weights や p の詳細が不明確でも心配不要。これらは、モデルの予測に影響を与えるハイパーパラメータが複数存在することを示すために紹介されている。調整可能なハイパーパラメータの例として扱う。
これまでは 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 は組み合わせの中からランダムなサブセットのみを試行します。これにより、グリッドサーチよりもはるかに速く優れた結果が得られることが多いです。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください