データセットのサンプルのハイパーパラメーターチューニングは悪い考えですか?
140000の例と30の機能のデータセットがあり、それらに対してバイナリ分類(SVM、ロジスティック回帰、ランダムフォレストなど)のいくつかの分類器をトレーニングしています。 多くの場合、グリッド検索またはランダム検索を使用したデータセット全体のハイパーパラメーター調整は、時間的にコストがかかりすぎます。 私は次のテクニックを使い始めました データセットのサブサンプル 取得した分数を使用して、ハイパーパラメーターを調整します 取得したパラメーターを使用して、データセット全体を使用してモデルをトレーニングします 第2段階Iの使用に関するパラメータの各セットを評価することsklearnのGridSearchCVCV = 10で。私は第三ステップIの使用中に作成することを最終的なモデルを評価するためにsklearn「S cross_val_predict。その意味で、データの10%を残してモデルを評価し、残りのトレーニングを行い、10%で予測精度を10回繰り返し測定し、スコアの平均を取得します。 私が心配したのは、データセット全体のトレーニングから得られる予測精度が、最適なパラメーターセットのパラメーターを調整するときに得られる評価に非常に近いことです(テストされた各パラメーターセットは、平均10-フォールドクロス検証結果)。 ほとんどの場合、cross_val_predictすべてのトレーニング例(データセット全体)を使用して測定した精度は、最適なパラメーターの評価が返す値をわずかに上回っています。 これをここで説明するために、一連のパラメーターの評価を行います(上記で説明したものよりも小さいデータセット上ですが、効果は同じです) Best parameters set found on development set: {'kernel': 'rbf', 'C': 9, 'gamma': 0.1} Scores for all sets of parameters 0.851 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.5} 0.852 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.1} …