L'impact de la stratégie d'échantillonnage des ensembles de données sur les performances du modèle nécessite des exemples de code spécifiques
Avec le développement rapide de l'apprentissage automatique et de l'apprentissage profond, l'impact de la qualité et de l'échelle des ensembles de données sur les performances du modèle est devenu de plus en plus important. Dans les applications pratiques, nous sommes souvent confrontés à des problèmes tels qu'une taille excessive d'ensemble de données, des catégories d'échantillons déséquilibrées et du bruit d'échantillon. À l’heure actuelle, un choix raisonnable de stratégie d’échantillonnage peut améliorer les performances et la capacité de généralisation du modèle. Cet article discutera de l'impact de différentes stratégies d'échantillonnage d'ensembles de données sur les performances du modèle à travers des exemples de code spécifiques.
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
En résumé, différentes stratégies d'échantillonnage d'ensembles de données ont des impacts différents sur les performances du modèle. L'échantillonnage aléatoire peut facilement et rapidement obtenir l'ensemble d'apprentissage, mais il peut conduire à des catégories d'échantillons déséquilibrées ; l'échantillonnage stratifié peut maintenir l'équilibre des catégories d'échantillons et améliorer la capacité du modèle à gérer les catégories minoritaires. L'échantillonnage de bord peut filtrer les échantillons bruyants et améliorer la robustesse ; du sexe modèle. Dans les applications pratiques, nous devons choisir une stratégie d'échantillonnage appropriée en fonction de problèmes spécifiques et sélectionner la stratégie optimale par le biais d'expériences et d'évaluations pour améliorer les performances et la capacité de généralisation du modèle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!