Comment faire pour exécuter les données de formation dans un modèle d'apprentissage supervisé svm

Avant que vous pouvez nourrir le classificateur Support Vector Machine (SVM) avec les données qui ont été chargés pour l'analyse prédictive, vous devez diviser l'ensemble de données complet en un ensemble de formation et un ensemble de test.

Heureusement, scikit-learn a mis en place une fonction qui vous aidera à diviser facilement l'ensemble de données complet. La train_test_split fonction prend en entrée un ensemble de données unique et une valeur de pourcentage. La valeur en pourcentage est utilisée pour déterminer la taille de l'appareil d'essai. La fonction retourne deux ensembles de données: l'ensemble de données de test (avec sa taille spécifiée) et l'ensemble de données de formation (qui utilise les données restantes).

Typiquement, on peut prendre environ 70-80 pour cent des données à utiliser comme un ensemble de formation et d'utiliser les données restantes comme l'ensemble de test. Mais l'ensemble de données Iris est très faible (seulement 150 cas), de sorte que vous pouvez prendre 90 pour cent de celui-ci pour former le modèle et utiliser l'autre 10 pour cent que les données de test pour voir comment votre modèle prédictif sera performant.

Tapez le code suivant pour partager votre ensemble de données:

>>> From sklearn importation cross_validation >>> X_train, X_test, y_train, y_test = cross_validation.train_test_split (iris.data, iris.target, test_size = 0,10, random_state = 111)



Les premières importations de ligne validation croisée bibliothèque dans votre session. La deuxième ligne crée l'installation d'essai de 10 pour cent de l'échantillon.

x_train contiendra 135 observations et ses caractéristiques.
y_train contiendra 135 étiquettes dans le même ordre que les observations 135.
x_test contiendra 15 (ou 10 pour cent) des observations et de ses caractéristiques.
y_test contiendra 15 étiquettes dans le même ordre que les 15 observations.

Le code suivant vérifie que la scission est ce que vous attendiez:

>>> X_train.shape (135, 4) >>> y_train.shape (135,) >>> X_test.shape (15, 4) >>> y_test.shape (15,)

Vous pouvez voir à partir de la sortie qu'il ya 135 observations avec 4 caractéristiques 135 étiquettes dans l'ensemble de la formation et. L'ensemble de test dispose de 15 observations avec 4 caractéristiques et de 15 étiquettes.

Beaucoup de débutants dans le domaine de l'analyse prédictive oublient de diviser les ensembles de données - qui introduit un défaut de conception sérieuse dans le projet. Si les 150 cas complets ont été chargés dans la machine en tant que données de formation, cela ne laisserait pas de données invisibles pour tester le modèle. Ensuite, vous auriez à recourir à la réutilisation d'une partie des instances de formation pour tester le modèle prédictif.

Vous verrez que dans une telle situation, le modèle prédit toujours la bonne classe - parce que vous êtes en utilisant exactement les mêmes données que vous avez utilisé pour former le modèle. Le modèle a déjà vu ce modèle avant- elle aura aucun problème que répéter ce qu'il a vu. Un modèle prédictif de travail doit faire des prédictions pour des données qu'il n'a pas encore vu.

Lorsque vous avez une instance d'un classificateur SVM, un ensemble de données de formation, et un ensemble de données de test, vous êtes prêt à former le modèle avec les données de formation. En tapant le code suivant dans l'interprète va faire exactement ce que:

>>> SvmClassifier.fit (X_train, y_train)

Cette ligne de code crée un modèle de travail pour faire des prédictions à partir. Plus précisément, un modèle prédictif qui prédire quelle classe d'Iris un nouvel ensemble de données sans étiquette appartient. La svmClassifier Ainsi aura plusieurs méthodes que vous pouvez appeler pour faire des choses différentes.

Par exemple, après avoir appelé la s'adapter méthode, la méthode la plus utile à appeler est le prédire Procédé. Voilà la méthode à laquelle vous nourrissez nouvelle de données en retour, il prédit le résultat.


» » » » Comment faire pour exécuter les données de formation dans un modèle d'apprentissage supervisé svm