モデルは(高分散)の上にフィットであるには余りにも複雑であるため、どちらか、パフォーマンスが良くない場合は、モデルをモデルの汎化能力を評価するために、ニューラルネットワークのステップを訓練し、どちらかのモデルは(高い単純すぎる原因リードunderfittingあるキー偏差)。この問題を解決するために、我々は、モデルの汎化能力を評価するためのk倍クロスバリデーション--holdoutインターリーブクロスバリデーションと検証回数の両方に学ばなければなりません。
K分割交差検証結果は、パラメータ評価モデルの平均値として計算され、従って方法の最適なパラメータを見つけるためにK倍クロスバリデーションを使用ホールドアウトよりも安定です。我々は最適なパラメータを見つけたら、パラメータのこのセットは、最終的なモデルとして設定された元のデータにモデルをトレーニングするために使用されます。
1 KFold
クラス sklearn.model_selection.KFold(n_splitsは= '警告'、シャッフル= Falseを、random_state =なし)
電車/テスト用のインデックスを提供
トレーニング/テスト・セットにデータを分割する訓練/テスト用のインデックスを提供します。(シャッフルなしデフォルトで)k個の連続折り畳み式のデータセットを分割するには。
電車/テスト・セット内のデータを分割するために、列車/テスト用のインデックスを提供します。k個の連続折り目に分割データセット(デフォルトでシャッフルなし)。
各検証のように折り畳まれ、K-1は、トレーニングセットを形成するように折り畳まれたまま。
n_splits : int型、デフォルト= 3
数倍。あなたは、少なくとも2でなければなりません。
バージョン0.20での変更点:n_splits
3〜5デフォルトv0.22の変更。
シャッフル : ブール値、オプション
データをバッチに分割する前にシャッフルされているかどうか。
random_state : int型、または全くRandomStateたとえば、オプション、デフォルト=なし
int型ならば、random_stateシード乱数ジェネレータが使用され、それ以外の場合はfalse。RandomStateインスタンス場合は、乱数ジェネレータをrandom_state; なし、乱数生成器はRandomStateインスタンスを使用しない場合np.random
。ときにshuffle
真==を使用。
クラス sklearn.model_selection.StratifiedKFold(n_splitsは= '警告'、シャッフル= Falseを、random_state =なし)
まず、彼らはクロスバリデーション機能K.に適用されます
違いはKFold機能だけのために、あります