Accueil Finances personnelles Comment créer un modèle d'apprentissage supervisé avec régression logistique - mannequins

Comment créer un modèle d'apprentissage supervisé avec régression logistique - mannequins

Table des matières:

Vidéo: Méthodes d’apprentissage supervisé: linéaire discriminante et Régression logistique 2024

Vidéo: Méthodes d’apprentissage supervisé: linéaire discriminante et Régression logistique 2024
Anonim

Après avoir construit votre premier modèle prédictif de classification pour l'analyse des données, créer plus de modèles comme c'est une tâche très simple dans scikit. La seule vraie différence d'un modèle à l'autre est que vous devrez ajuster les paramètres de l'algorithme à l'algorithme.

Comment charger vos données

Cette liste de code va charger le jeu de données iris dans votre session: >>>> à partir de sklearn. datasets import load_iris >>> iris = load_iris ()

Comment créer une instance du classificateur

Les deux lignes de code suivantes créent une instance du classificateur. La première ligne importe la bibliothèque de régression logistique. La deuxième ligne crée une instance de l'algorithme de régression logistique. >>>> à partir de sklearn import linear_model >>> logClassifier = linear_model. LogisticRegression (C = 1, random_state = 111)

Notez le paramètre (paramètre de régularisation) dans le constructeur. Le paramètre

de régularisation

est utilisé pour empêcher le surajustement. Le paramètre n'est pas strictement nécessaire (le constructeur fonctionnera correctement sans lui car il aura par défaut la valeur C = 1). La création d'un classificateur de régression logistique en utilisant C = 150 crée un meilleur tracé de la surface de décision. Vous pouvez voir les deux parcelles ci-dessous.

Comment exécuter les données d'apprentissage

Vous devez diviser l'ensemble de données en ensembles d'apprentissage et de formation avant de pouvoir créer une instance du classificateur de régression logistique. Le code suivant accomplira cette tâche: >>>> à partir de sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris, iris, target, test_size = 0, 10, random_state = 111) >>> logClassifier. fit (X_train, y_train)

Line 1 importe la bibliothèque qui vous permet de diviser l'ensemble de données en deux parties.

La ligne 2 appelle la fonction de la bibliothèque qui divise l'ensemble de données en deux parties et affecte les ensembles de données maintenant divisés à deux paires de variables.

La ligne 3 prend l'instance du classificateur de régression logistique que vous venez de créer et appelle la méthode d'ajustement pour entraîner le modèle avec l'ensemble de données d'apprentissage.

Comment visualiser le classificateur

En regardant la surface de décision sur le tracé, il semble que certains réglages doivent être faits. Si vous regardez près du milieu de la parcelle, vous pouvez voir que beaucoup de points de données appartenant à la zone centrale (Versicolor) se trouvent dans la zone à droite (Virginica).

Cette image montre la surface de décision avec une valeur C de 150. Il semble visuellement meilleur, donc choisir d'utiliser ce paramètre pour votre modèle de régression logistique semble approprié.

Exécution des données de test

Dans le code suivant, la première ligne envoie le jeu de données de test au modèle et la troisième ligne affiche la sortie: >>>> predicted = logClassifier. predict (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])

Comment évaluer le modèle < Vous pouvez croiser la sortie de la prédiction avec le tableau y_test. Par conséquent, vous pouvez voir qu'il a correctement prédit tous les points de données de test. Voici le code: >>>> de sklearn import metrics >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métriques. precision_score (y_test, prédit) 1. 0 # 1. 0 est 100% précision >>> prédit == y_testarray ([Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai], dtype = bool)

Alors, comment le modèle de régression logistique avec le paramètre C = 150 se compare-t-il à cela? Eh bien, vous ne pouvez pas battre 100 pour cent. Voici le code pour créer et évaluer le classificateur logistique avec C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> prédit = logClassifier_2. prévoir (X_test) >>> les métriques. precision_score (y_test, prédit) 0. 93333333333333335 >>> métriques. confusion_matrix (y_test, prédit) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])

Nous nous attendions à mieux, mais c'était pire. Il y avait une erreur dans les prédictions. Le résultat est le même que celui du modèle SVM (Support Vector Machine).

Voici la liste complète du code pour créer et évaluer un modèle de classification de régression logistique avec les paramètres par défaut: >>>> de sklearn. jeux de données import load_iris >>> depuis sklearn import linear_model >>> depuis sklearn import cross_validation >>> depuis sklearn import metrics >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris., iris. target, test_size = 0, 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. fit (X_train, y_train) >>> prédit = logClassifier. predict (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métriques. precision_score (y_test, prédit) 1. 0 # 1. 0 est 100% précision >>> prédit == y_testarray ([Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai, Vrai], dtype = bool)
Comment créer un modèle d'apprentissage supervisé avec régression logistique - mannequins

Le choix des éditeurs

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Est un pointeur sur le tableau lui-même. Le tableau est une séquence de variables stockée en mémoire. Le nom du tableau pointe vers le premier élément. C'est une question intéressante sur les pointeurs: Pouvez-vous avoir un en-tête de fonction, comme la ligne suivante, et juste utiliser sizeof pour déterminer comment ...

Boost Bibliothèques et C ++ - mannequins

Boost Bibliothèques et C ++ - mannequins

De nombreux développeurs utilisent les bibliothèques Boost car elles fournissent un code de haute qualité une partie de Boost est en train d'être normalisée pour être incluse dans la bibliothèque standard. L'une des meilleures choses à propos de Boost est que la bibliothèque elle-même est gratuite. Le site Web de Boost tient à faire savoir aux développeurs qu'ils ne ...

Casser les programmes Mis à part C ++ - les mannequins

Casser les programmes Mis à part C ++ - les mannequins

Le programmeur peut casser un seul programme en fichiers sources distincts généralement appelés modules. Ces modules sont compilés séparément dans le code machine par le compilateur C ++, puis combinés au cours du processus de génération pour générer un seul programme. Ces modules sont également connus par les geeks du compilateur en tant qu'unités de traduction C ++. Le processus de combinaison ...

Le choix des éditeurs

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

L'information l'affichage ne sert pas uniquement à vérifier les paramètres de prise de vue actuels; Cela vous donne également un accès rapide à certains des paramètres les plus critiques. La touche de cette fonction est le bouton Information Edit, situé à l'arrière de l'appareil photo, à droite du viseur. Voici comment cela fonctionne: Afficher les informations ...

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

En mode d'affichage hautes lumières sur votre Nikon D7100 pense que l'appareil photo peut être surexposé clignoter dans le moniteur de l'appareil photo. L'un des problèmes de photo les plus difficiles à corriger dans un programme de retouche photo est connu sous le nom de surbrillance dans certains cercles et de surbrillance dans d'autres. Les deux termes signifient que les zones les plus claires de ...

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Présentes en bas à gauche Au coin du Nikon D3300, le bouton i active une bande de contrôle qui vous donne un accès rapide à certains paramètres de prise de vue critiques. Voici comment utiliser la bande de contrôle pour la photographie dans le viseur: Affichez l'écran d'informations. Vous pouvez le faire en appuyant sur le bouton Info. Appuyez sur le bouton i. Le haut ...

Le choix des éditeurs

Comment imprimer vos diapositives et notes Keynote - Les tétines

Comment imprimer vos diapositives et notes Keynote - Les tétines

Lorsque vous créez une présentation dans Snow Leopard Application Keynote, vous ne pouvez pas toujours vouloir imprimer des documents. Cependant, si vous présentez un long diaporama avec beaucoup d'informations que vous aimeriez que votre public se souvienne, rien ne vaut les documents qui incluent des images réduites de vos diapositives (et, facultativement, les notes de votre présentateur). Vous pouvez ...

Comment réorganiser ou supprimer les signets - les mannequins

Comment réorganiser ou supprimer les signets - les mannequins

Safari enregistre vos signets et vos dossiers de signets dans l'ordre dans lequel vous les créez, en les ajoutant au bas d'une liste toujours croissante. Si vous continuez à ajouter des marque-pages au menu Signets sans les placer dans des dossiers, vous pouvez constater que vous avez un nombre de signets gazillion indiqué bon gré mal gré et que vous ne vous en souvenez plus ...

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Avec un compte MobileMe actif, iDisk est disponible et vous fournit un espace de stockage supplémentaire. Pour connaître l'espace de stockage utilisé et pour configurer l'accès à votre dossier Public, ouvrez les Préférences Système, cliquez sur l'icône MobileMe, puis sur le bouton iDisk pour afficher les paramètres. Vos paramètres iDisk sont disponibles dans les Préférences Système. Le ...