Maison  >  Article  >  Périphériques technologiques  >  Comment diviser correctement un ensemble de données ? Résumé de trois méthodes courantes

Comment diviser correctement un ensemble de données ? Résumé de trois méthodes courantes

WBOY
WBOYavant
2023-04-08 18:51:071449parcourir

La décomposition de l'ensemble de données en un ensemble d'entraînement peut nous aider à comprendre le modèle, ce qui est très important pour la manière dont le modèle se généralise à de nouvelles données invisibles. Un modèle peut ne pas se généraliser correctement à de nouvelles données invisibles s'il est surajusté. Il n’est donc pas possible de faire de bonnes prédictions.

Avoir une stratégie de validation appropriée est la première étape pour réussir à créer de bonnes prédictions et à utiliser la valeur commerciale des modèles d'IA. Cet article a compilé quelques stratégies courantes de fractionnement des données.

Formation simple et répartition des tests

Divisez l'ensemble de données en parties de formation et de validation, avec 80 % de formation et 20 % de validation. Vous pouvez le faire en utilisant l'échantillonnage aléatoire de Scikit.

Comment diviser correctement un ensemble de données ? Résumé de trois méthodes courantes

Tout d'abord, la graine aléatoire doit être corrigée, sinon la même répartition des données ne peut pas être comparée et les résultats ne peuvent pas être reproduits pendant le débogage. Si l'ensemble de données est petit, rien ne garantit que la répartition de validation puisse être décorrélée de la répartition de formation. Si les données sont déséquilibrées, vous n'obtiendrez pas le même rapport de répartition.

Un simple fractionnement ne peut donc que nous aider à développer et à déboguer. La véritable formation n'est pas assez parfaite, donc les méthodes de fractionnement suivantes peuvent nous aider à mettre fin à ces problèmes. La validation croisée K-fold divise l'ensemble de données en k partitions. Dans l'image ci-dessous, l'ensemble de données est divisé en 5 partitions.

Sélectionnez une partition comme ensemble de données de validation, tandis que les autres partitions sont l'ensemble de données de formation. Cela entraînera le modèle sur chaque ensemble différent de partitions.

Comment diviser correctement un ensemble de données ? Résumé de trois méthodes courantesAu final, K différents modèles seront obtenus, et ces modèles seront utilisés ensemble en utilisant la méthode d'intégration lors du raisonnement et de la prédiction ultérieure.

K est généralement défini sur [3,5,7,10,20]

Si vous souhaitez vérifier les performances du modèle avec un faible biais, utilisez un K [20] plus élevé. Si vous construisez un modèle pour la sélection de variables, utilisez un k faible [3,5] et le modèle aura une variance plus faible.

Avantages :

En faisant la moyenne des prédictions du modèle, vous pouvez améliorer les performances du modèle sur des données invisibles tirées de la même distribution.

Il s'agit d'une méthode largement utilisée pour obtenir de bons modèles de production.
  • Vous pouvez utiliser différentes techniques d'intégration pour créer des prédictions pour chaque donnée de l'ensemble de données, et utiliser ces prédictions pour améliorer le modèle, appelé OOF (out-fold prédiction).
  • Question :
Si vous disposez d'un ensemble de données déséquilibré, utilisez Stratified-kFold.

Si vous recyclez un modèle sur tous les ensembles de données, vous ne pouvez pas comparer ses performances à celles d'un modèle entraîné avec k-Fold. Parce que ce modèle est formé sur k-1, et non sur l'ensemble des données.
  • Stratified-kFold
  • peut préserver le rapport entre les différentes classes dans chaque pli. Si l'ensemble de données est déséquilibré, disons que Class1 a 10 exemples et Class2 a 100 exemples. Stratified-kFold crée chaque classification de pli avec le même rapport que l'ensemble de données d'origine

L'idée est similaire à la validation croisée K-fold, mais avec le même rapport pour chaque pli que l'ensemble de données d'origine.

Le ratio initial entre les classes peut être conservé à chaque fractionnement. Si votre ensemble de données est volumineux, la validation croisée du pli K peut également préserver les proportions, mais cela est stochastique, alors que Stratified-kFold est déterministe et peut être utilisé avec de petits ensembles de données.

Comment diviser correctement un ensemble de données ? Résumé de trois méthodes courantesBootstrap et sous-échantillonnage

Bootstrap et sous-échantillonnage sont similaires à la validation croisée K-Fold, mais ils n'ont pas de plis fixes. Il sélectionne aléatoirement certaines données de l'ensemble de données et utilise d'autres données comme validation et les répète n fois

Bootstrap = échantillonnage alterné, que nous avons présenté en détail dans les articles précédents.

Quand l’utiliser ? Bootstrap et Subsamlping ne peuvent être utilisés que si l'erreur standard de l'erreur métrique estimée est importante. Cela peut être dû à des valeurs aberrantes dans l’ensemble de données.

Résumé

Habituellement, dans l'apprentissage automatique, la validation croisée k-fold est utilisée comme point de départ. Si l'ensemble de données est déséquilibré, Stratified-kFold est utilisé. S'il existe de nombreuses valeurs aberrantes, Bootstrap ou d'autres méthodes peuvent être utilisées pour. améliorer le repliement des données.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer