データセットのサンプリング戦略がモデルのパフォーマンスに与える影響には、特定のコード例が必要です
機械学習と深層学習の急速な発展に伴い、データの品質と規模は向上しています。 set モデルのパフォーマンスへの影響はますます重要になってきています。実際のアプリケーションでは、過剰なデータ セット サイズ、不均衡なサンプル カテゴリ、サンプル ノイズなどの問題に直面することがよくあります。現時点では、サンプリング戦略を適切に選択すると、モデルのパフォーマンスと汎化能力を向上させることができます。この記事では、さまざまなデータセットのサンプリング戦略がモデルのパフォーマンスに与える影響について、具体的なコード例を通じて説明します。
import numpy as np def random_sampling(X, y, sample_ratio): num_samples = int(sample_ratio * X.shape[0]) indices = np.random.choice(X.shape[0], num_samples, replace=False) X_sampled = X[indices] y_sampled = y[indices] return X_sampled, y_sampled
from sklearn.model_selection import train_test_split from sklearn.utils import resample def stratified_sampling(X, y, sample_ratio): X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, test_size=1-sample_ratio) X_sampled, y_sampled = resample(X_train, y_train, n_samples=int(sample_ratio * X.shape[0])) return X_sampled, y_sampled
from sklearn.svm import OneClassSVM def margin_sampling(X, y, sample_ratio): clf = OneClassSVM(gamma='scale') clf.fit(X) y_pred = clf.predict(X) reliable_samples = X[y_pred == 1] num_samples = int(sample_ratio * X.shape[0]) indices = np.random.choice(reliable_samples.shape[0], num_samples, replace=False) X_sampled = reliable_samples[indices] y_sampled = y[indices] return X_sampled, y_sampled
要約すると、データ セットのサンプリング戦略が異なれば、モデルのパフォーマンスに与える影響も異なります。ランダム サンプリングはトレーニング セットを簡単かつ迅速に取得できますが、不均衡なサンプル カテゴリが発生する可能性があります。層別サンプリングはサンプル カテゴリのバランスを維持し、少数カテゴリを処理するモデルの能力を向上させることができます。エッジ サンプリングはノイズの多いサンプルをフィルタリングして堅牢性を向上させることができます。モデルのセックス。実際のアプリケーションでは、モデルのパフォーマンスと汎化能力を向上させるために、特定の問題に基づいて適切なサンプリング戦略を選択し、実験と評価を通じて最適な戦略を選択する必要があります。
以上がデータセットのサンプリング戦略がモデルのパフォーマンスに与える影響の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。