GridSearchCVの欠点
メニューを表示するにはスワイプしてください
GridSearchCV を使用する前に、KNeighborsClassifier には n_neighbors 以外にも多くのハイパーパラメータがあることに注意。重要なものとして weights と p が挙げられる。
重み
デフォルトでは、分類器は 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つを試してチャットを始めてください