Traitement de train Split à Sklearn

Traitement de train Split à Sklearn

L'ensemble de données initial nécessaire pour former des algorithmes d'apprentissage automatique est connu sous le nom de données de formation. Les algorithmes d'apprentissage automatique sont invités à faire des prédictions ou à effectuer une tâche en utilisant des ensembles de données de formation. L'ensemble de données de test évalue la façon dont les données de formation sont effectuées. Sklearn est une boîte à outils d'apprentissage automatique basée sur Python qui nous permet de diviser nos données en train et tester des échantillons Train_test_split () méthode. La technique Train_Test_Split () est discutée dans cet article.

Qu'est-ce que le test de train divisé

Les modèles d'apprentissage automatique sont formés à l'aide de la technique de division des tests de train. Il établit l'efficacité des algorithmes d'apprentissage automatique. Il peut être utilisé pour résoudre des problèmes impliquant la régression et la classification. L'ensemble de données de formation d'apprentissage automatique est la division des tests de train. Il est composé d'une quantité importante de données. En python, le scikit Le forfait Learn a un module appelé Sélection du modèle à partir de laquelle vous pouvez importer «Train Test Split». Vous pouvez fournir l'échantillon de taille de formation et de test dans cette fonction à l'aide de tailles de train et de test. Il n'y a rien de tel que le pourcentage de division parfait. Vous devez sélectionner un pourcentage divisé qui convient aux objectifs de votre projet.

Le modèle doit correspondre avec précision aux données données en utilisant des entrées et des sorties connues. Le programme est ensuite utilisé pour faire des prédictions sur le sous-ensemble de données restantes pour en tirer des leçons. Sans connaître les valeurs d'entrée et de sortie prévues, cela peut être utilisé pour générer des prédictions sur les ensembles de données à l'avenir. La fonction Train_Test_Split () dans la boîte à outils d'apprentissage machine Scikit-Learn à Python peut être utilisée pour implémenter la technique d'évaluation de la fraction de test de train. Il accepte l'ensemble de données comme entrée et le divise en deux sous-ensembles sous forme de sortie.

Ensemble d'essai

L'ensemble de tests est une sélection d'instances tirées de l'ensemble de données pour évaluer l'efficacité du modèle. Ces données sont maintenues séparées des données de formation et de réglage. Par conséquent, je ne peux pas être utilisé pendant les étapes de formation ou de réglage du processus d'apprentissage. Cela ne affecterait les performances qu'en biaisant le modèle aux données.

Ensemble d'entraînement

Les ensembles de formation et de test doivent être maintenus séparés. La phase de formation consomme l'ensemble de formation pour identifier les valeurs des paramètres qui minimisent une fonction de coût spécifique à l'ensemble de l'ensemble de formation. Une fois formé sur l'ensemble de données de formation, le modèle sera évalué sur l'ensemble de données de test. L'ensemble de données de test ne devrait pas être beaucoup plus petit que l'ensemble de données de formation.

Comment former des données

Un modèle est construit à l'aide de données spécifiques, appelées données de «formation». Dans un modèle linéaire simple, le modèle formalise les relations entre les variables en produisant l'équation mathématique d'une ligne. Le type de modèle détermine comment il est construit. Par exemple, une régression diffère des autres méthodes.

Il est important de distinguer les données de formation des autres données, car vous divisez souvent votre ensemble de données initial en deux parties: données de formation pour créer des modèles et tester les données pour les évaluer. En règle générale, vous le feriez en demandant à votre modèle de prédire les valeurs dans les données de test (basées sur les variables du modèle) et en les comparant aux valeurs réelles.

Le but de diviser nos données

Le sur-ajustement et le sous-ajustement sont deux problèmes importants auxquels nous sommes confrontés lors du test de notre ensemble de données.

La construction d'un modèle basé sur des données qui n'est pas censées être connues est appelée un biais de spectre.

Le sur-ajustement, c'est quand un modèle s'adapte trop étroitement aux données historiques. Il devient infructueux à l'avenir. La sous-information est l'acte de créer un modèle qui s'adapte aux données passées si librement qu'elle est rendue inutile à l'avenir.

Implémentation de train_test_split () dans Sklearn

# Importation des méthodes et bibliothèques nécessaires
Importer Numpy comme NP
de Sklearn.Model_Selection Import Train_test_split
# Création d'un exemple de jeu de données
X, y = np.Arange (100).Reshape ((20, 5)), gamme (20)
Imprimer («Les fonctionnalités sont», x)
imprimer («les étiquettes cibles sont», liste (y))

Sortir

Les fonctionnalités sont

[[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]
[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]
[60 61 62 63 64]
[65 66 67 68 69]
[70 71 72 73 74]
[75 76 77 78 79]
[80 81 82 83 84]
[85 86 87 88 89]
[90 91 92 93 94]
[95 96 97 98 99]]

Les étiquettes cibles sont

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Plaquer les données

X_train, x_test, y_train, y_test = Train_test_split (x, y, test_size = 0.33, random_state = 42)
imprimer («Les fonctionnalités de formation sont», x_train)
imprimer («étiquettes de formation sont», y_train)
print ('Les fonctionnalités de test sont', x_test)
imprimer («étiquettes de test sont», y_test)

Sortir

Les fonctionnalités de formation sont

[[15 16 17 18 19]
[90 91 92 93 94]
[80 81 82 83 84]
[65 66 67 68 69]
[10 11 12 13 14]
[45 46 47 48 49]
[95 96 97 98 99]
[20 21 22 23 24]
[60 61 62 63 64]
[35 36 37 38 39]
[50 51 52 53 54]
[70 71 72 73 74]
[30 31 32 33 34]]

Les étiquettes de formation sont

[3, 18, 16, 13, 2, 9, 19, 4, 12, 7, 10, 14, 6]

Les fonctionnalités de test sont

[[0 1 2 3 4]
[85 86 87 88 89]
[75 76 77 78 79]
[5 6 7 8 9]
[40 41 42 43 44]
[25 26 27 28 29]
[55 56 57 58 59]]

Les étiquettes de test sont

[0, 17, 15, 1, 8, 5, 11]

Conclusion

Nous avons discuté de la méthode Train_Test_Split () de Sklearn, qui est utilisée pour diviser les données initiales en train et tester des échantillons. Ceci est nécessaire pour évaluer les performances de notre modèle et finalement l'améliorer. Nous avons également vu en quoi les échantillons de train et de test sont différents les uns des autres. Enfin, nous avons implémenté la méthode Train_test_split () dans Sklearn.