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 2025

Vidéo: Méthodes d’apprentissage supervisé: linéaire discriminante et Régression logistique 2025
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

Magasin de données ou entrepôt de données? - les mannequins

Magasin de données ou entrepôt de données? - les mannequins

L'idée d'un dépôt de données n'est guère révolutionnaire, malgré ce que vous pourriez lire sur les blogs et dans la presse spécialisée, et ce que vous pourriez entendre lors de conférences ou de séminaires. Un magasin de données est simplement un entrepôt de données réduit - c'est tout. Les vendeurs font de leur mieux pour définir des ...

Classer Votre Entrepôt de données - mannequins

Classer Votre Entrepôt de données - mannequins

Bien que vous devez vous assurer que votre entrepôt de données correspond à vos besoins uniques, certaines directives peuvent vous aider. vous déterminez la complexité probable de son environnement et de sa structure. Une bonne configuration consiste à utiliser une classification à trois niveaux pour la planification d'un entrepôt de données. En déterminant une catégorie probable pour une mise en œuvre, vous pouvez avoir ...

Business Intelligence Architecture et Data Warehousing - Mannequins

Business Intelligence Architecture et Data Warehousing - Mannequins

Les débuts du Business Intelligence (toute variété sauf data mining) avait une forte saveur client / serveur de première génération à deux niveaux. (Certains environnements d'intelligence d'affaires qui étaient hébergés sur un mainframe et qui effectuaient des requêtes et des rapports étaient construits avec une architecture centralisée.) Conceptuellement, les premières architectures d'intelligence d'affaires avaient du sens, compte tenu de l'état de l'art ...

Le choix des éditeurs

Câblage réseau pour l'examen de certification Cisco ICND1 - mannequins

Câblage réseau pour l'examen de certification Cisco ICND1 - mannequins

L'examen de certification ICND1 vous teste sur les différents types de câblage utilisé dans différents scénarios de réseau. Voici quelques points clés à retenir sur le câblage réseau. Rollover Cable: Un câble de survol est aussi connu comme un câble de console et obtient le nom rollover parce que l'ordre des fils d'un ...

Pour la certification compTIA A + - mannequins

Pour la certification compTIA A + - mannequins

Les examens A +, y compris le réseau local (LAN) et le réseau étendu (WAN): LAN: Un réseau local (LAN) est un réseau qui implique généralement un immeuble de bureaux ou peut-être même des systèmes en réseau sur un étage. Le principal point à retenir lors de l'identification ...

Outils de dépannage réseau - nuls

Outils de dépannage réseau - nuls

Voici une liste d'outils de dépannage courants que vous devriez connaître pour les examens A +. L'un des défis des réseaux de soutien aujourd'hui est de savoir comment les résoudre. Vous trouvez tellement d'aspects du réseau qu'il est difficile de savoir par où commencer votre dépannage. Crimper: A ...

Le choix des éditeurs

En sélectionnant Logiciel de blog hébergé - duos

En sélectionnant Logiciel de blog hébergé - duos

Lorsque vous choisissez de bloguer en utilisant un service de blog hébergé, vous n'avez pas besoin de s'inquiéter de la technologie du logiciel du tout. Vous pouvez vous concentrer sur le sujet de votre prochain article de blog plutôt que sur la manière de configurer un serveur Web. Pour utiliser un logiciel de blog hébergé, connectez-vous à l'outil d'édition, écrivez un ...

Sélectionnant l'hébergement Web pour votre blog WordPress - les nuls

Sélectionnant l'hébergement Web pour votre blog WordPress - les nuls

Après avoir choisi un domaine approprié pour votre blog, vous besoin d'un endroit pour votre installation de WordPress à vivre. N'oubliez pas que vous pouvez également demander à d'autres blogueurs quel hôte ils utilisent et quelle a été leur expérience. Les logiciels Web tels que WordPress ont certaines exigences techniques. Les exigences pour WordPress sont PHP 5. 6 ou plus ...

ÉVolutivité et Mom Blogging - mannequins

ÉVolutivité et Mom Blogging - mannequins

L'évolutivité est l'un de ces mots de jargon MBA-ish absolument ennuyeux que vous n'auriez probablement jamais pense que cela s'appliquerait à un blogueur maman. Mais ce que l'évolutivité signifie vraiment, c'est qu'une entreprise doit avoir une structure en place qui lui permet de croître. Bien sûr, vous voulez augmenter votre revenu - mais vous ...