ホームページ  >  記事  >  バックエンド開発  >  相互検証と Python コードの実装

相互検証と Python コードの実装

零到壹度
零到壹度オリジナル
2018-04-16 11:45:3310195ブラウズ

この記事では、特定の参考値を持つ相互検証と Python コードの実装を紹介します。必要な友人が参照できるようにします。

モデル選択の 2 つの方法: 正則化 (代表的な方法)、相互検証。 。

ここでは、相互検証とその Python コード実装を紹介します。

相互検証

指定されたサンプル データが十分な場合、モデル選択の簡単な方法は、データ セットをランダムに 3 つの部分に分割し、トレーニング セット、検証セット、テスト セットに分けることです。

トレーニングセット: モデルのトレーニング

検証セット: モデルの選択

テストセット: モデルの最終評価

異なる複雑さの学習モデル、選択検証セット上で予測誤差が最小のモデル。検証セットには十分なデータがあるため、モデル選定に利用することも有効です。データが不十分な多くの実際のアプリケーションでは、相互検証手法を使用できます。

基本的な考え方: データを繰り返し使用し、指定されたデータをトレーニング セットとテスト セットに分割し、これに基づいてトレーニング、テスト、モデルの選択を繰り返し実行します。

単純な相互検証:

データをトレーニング セットとテスト セットの 2 つの部分にランダムに分割します。一般に、データの 70% がトレーニング セット、30% がテスト セットです。

コード(分割トレーニングセット、テストセット):

RREEEE

その中でrandom_stateソースコード説明:int、ランダムステートインスタンスまたはなし、オプション(デフォルト=なし)

int、RandomState インスタンスまたは None、オプション (デフォルト = None) int の場合、random_state は乱数ジェネレーターによって使用されるシードです。 RandomState インスタンスの場合、random_state は乱数ジェネレーターです。 None の場合、乱数ジェネレーター`np.random` によって使用される RandomState インスタンスです


主な考え方は、

random_state=10
などの特定の値を設定すると、各除算後のデータは同じになります。複数回実行しても同じです。 None に設定されている場合、つまり

random_state=None の場合、各除算後のデータは異なり、除算が実行されるたびにデータは異なります。 コード (トレーニング セット、検証セット、テスト セットの分割):

from sklearn.cross_validation import train_test_split
# data (全部数据)   labels(全部目标值)     X_train 训练集(全部特征)  Y_train 训练集的目标值
X_train, X_test, Y_train, Y_test = train_test_split(data,labels, test_size=0.25, random_state=0) #这里训练集75%:测试集25%
関連する推奨事項:

相互検証

3 種類の相互検証

相互検証の使用

相互検証を使用する理由

以上が相互検証と Python コードの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。