Au moment où vous prenez un cliché d’un modèle et que vous devez le préparer, vous disposez clairement d’un ensemble de données. Quoi qu’il en soit, dans le sillage de la préparation, nous devons tester le modèle sur un ensemble de données de test. Pour cela, vous disposerez d’un ensemble de données qui ne sera pas le même que l’ensemble de préparation que vous avez utilisé auparavant. Quoi qu’il en soit, il n’est généralement pas concevable de disposer d’une aussi grande quantité d’informations pendant la phase d’amélioration.

Dans ce cas, il est clair que l’arrangement consiste à diviser l’ensemble de données dont vous disposez en deux ensembles, l’un pour la préparation et l’autre pour les essais ; et vous le faites avant de commencer à préparer votre modèle.

Dans tous les cas, l’enquête consiste à savoir comment vous allez séparer les informations. Vous ne pouvez en aucun cas, ni sous quelque forme que ce soit, séparer physiquement l’ensemble des données en deux. En outre, vous devez vous assurer que vous séparez les informations de manière irrégulière. Pour nous aider dans cette entreprise, la bibliothèque SciKit met à notre disposition un appareil, appelé la bibliothèque Model Choice. Il existe une classe dans la bibliothèque qui est, à juste titre, appelée “train_test_split”. Grâce à cet appareil, nous pouvons sans trop de difficultés diviser l’ensemble de données en deux parties, l’une pour la préparation et l’autre pour les tests.

Il y a quelques paramètres que nous devons comprendre avant d’utiliser la classe :

test_size – Ce paramètre permet de choisir la taille des informations qui doivent faire partie de l’ensemble de données de test. Elle est donnée en tant que partie. Par exemple, si vous obtenez 0,5 comme valeur, l’ensemble de données sera divisé par deux par rapport à l’ensemble de données du test. Dans le cas où vous indiquez ce paramètre, vous pouvez ignorer le paramètre suivant.

train_size – Vous devez déterminer ce paramètre juste au cas où vous n’indiqueriez pas la test_size. Cela équivaut à test_size, mais vous indiquez plutôt à la classe quel pourcentage de l’ensemble de données vous devez séparer comme ensemble de préparation.

random_state – Ici, vous passez un nombre entier, qui servira de germe au générateur de nombres arbitraires pendant la division. Vous pouvez également passer un cas de la classe RandomState, qui finira par être le générateur de nombres. Dans le cas où vous ne transmettez rien, l’occurrence RandomState utilisée par np.random sera utilisée.

A titre d’exemple, considérons le même ensemble de données que nous avons considéré dans nos exemples précédents

Nous l’avons divisé en deux ensembles de données distincts, l’un pour les points forts libres – x, et l’autre pour la variable dépendante – y (qui est la dernière section). Nous allons maintenant diviser l’ensemble de données x en deux ensembles distincts – xTrain et xTest. En gros, nous allons également diviser l’ensemble de données y en deux ensembles – yTrain et yTest. L’utilisation de la bibliothèque sklearn est fondamentale. Nous devrions jeter un coup d’œil au code :

from sklearn.model_selection import train_test_splitxTrain
, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)

Comme le code devrait le montrer, nous avons divisé l’ensemble de données dans une proportion de 80 à 20, ce qui est une pratique typique des sciences de l’information. Pour changer, je ne donnerai pas le rendement ici. Essayez vous-même et percevez comment sont les nouveaux ensembles de données.