Zuhause Persönliche Finanzen Erstellen eines überwachten Lernmodells mit logistischer Regression - Dummies

Erstellen eines überwachten Lernmodells mit logistischer Regression - Dummies

Inhaltsverzeichnis:

Video: Icinga Web 2: Erstellen und verwalten von Business Prozessen (Webinar vom 30. März 2017) 2024

Video: Icinga Web 2: Erstellen und verwalten von Business Prozessen (Webinar vom 30. März 2017) 2024
Anonim

Nachdem Sie Ihr erstes Klassifizierungsvorhersagemodell für die Analyse der Daten erstellt haben, ist das Erstellen weiterer Modelle in scikit eine wirklich einfache Aufgabe. Der einzige wirkliche Unterschied von einem Modell zum nächsten ist, dass Sie möglicherweise die Parameter vom Algorithmus zum Algorithmus abstimmen müssen.

So laden Sie Ihre Daten

Mit dieser Codeliste wird das Iris-Dataset in Ihre Sitzung geladen: >>>> from sklearn. Datensätze importieren load_iris >>> iris = load_iris ()

Wie erstelle ich eine Instanz des Klassifikators

Die folgenden zwei Codezeilen erzeugen eine Instanz des Klassifikators. Die erste Zeile importiert die logistische Regressionsbibliothek. Die zweite Zeile erstellt eine Instanz des logistischen Regressionsalgorithmus. >>>> aus sklearn import linear_model >>> logClassifier = linear_model. LogisticRegression (C = 1, random_state = 111)

Beachten Sie den Parameter (Regularisierungsparameter) im Konstruktor. Der

Regularisierungsparameter

wird verwendet, um eine Überanpassung zu verhindern. Der Parameter ist nicht unbedingt erforderlich (der Konstruktor funktioniert ohne ihn, da er standardmäßig C = 1 ist). Wenn Sie einen logistischen Regressionsklassifikator mit C = 150 erstellen, wird eine bessere Darstellung der Entscheidungsoberfläche erstellt. Sie können beide Plots unten sehen.

So führen Sie die Trainingsdaten aus

Sie müssen das Dataset in Trainings- und Testsets aufteilen, bevor Sie eine Instanz des logistischen Regressionsklassifikators erstellen können. Der folgende Code erledigt diese Aufgabe: >>>> aus sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris.daten, iris.ziel, test_size = 0. 10, random_state = 111) >>> logClassifier. fit (X_train, y_train)

Zeile 1 importiert die Bibliothek, mit der Sie das Dataset in zwei Teile aufteilen können.

Zeile 2 ruft die Funktion aus der Bibliothek auf, die das Dataset in zwei Teile aufteilt, und ordnet die jetzt geteilten Datensätze zwei Variablenpaaren zu.

Zeile 3 verwendet die Instanz des logistischen Regressionsklassifikators, die Sie gerade erstellt haben, und ruft die Anpassungsmethode auf, um das Modell mit dem Trainingsdataset zu trainieren.

So visualisieren Sie den Klassifikator

Beim Betrachten des Entscheidungsoberflächenbereichs im Diagramm sieht es so aus, als ob ein Tuning vorgenommen werden muss. Wenn Sie in die Mitte des Diagramms schauen, können Sie sehen, dass viele der Datenpunkte, die zum mittleren Bereich (Versicolor) gehören, in dem Bereich auf der rechten Seite liegen (Virginica).

Dieses Bild zeigt die Entscheidungsoberfläche mit einem C-Wert von 150. Es sieht optisch besser aus, daher erscheint es angemessen, diese Einstellung für Ihr logistisches Regressionsmodell zu verwenden.

Ausführen der Testdaten

Im folgenden Code wird das Test-Dataset mit der ersten Zeile an das Modell und die dritte Zeile mit der Ausgabe ausgegeben: >>>> predicted = logClassifier. vorhersagen (X_test) >>> vorhergesagtes Array ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])

Wie man das Modell auswertet < Sie können die Ausgabe der Vorhersage mit dem y_test-Array vergleichen. Als Ergebnis können Sie sehen, dass alle Testdatenpunkte korrekt vorhergesagt wurden. Hier ist der Code: >>>> von 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]) >>> Metriken. precision_score (y_test, vorhergesagt) 1. 0 # 1. 0 ist 100-prozentige Genauigkeit >>> vorhergesagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)

Wie passt das logistische Regressionsmodell mit dem Parameter C = 150 dazu? Nun, Sie können nicht 100 Prozent schlagen. Hier ist der Code zum Erstellen und Auswerten des logistischen Klassifikators mit C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> vorhergesagt = logClassifier_2. Vorhersage (X_test) >>> Metriken. precision_score (y_test, vorhergesagt) 0. 93333333333333335 >>> Metriken. confusion_matrix (y_test, vorhergesagt) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])

Wir hatten bessere Ergebnisse erwartet, aber es war tatsächlich schlimmer. Es gab einen Fehler in den Vorhersagen. Das Ergebnis ist das gleiche wie das des Support Vector Machine (SVM) Modells.

Hier ist die vollständige Auflistung des Codes zum Erstellen und Auswerten eines logistischen Regressionsklassifikationsmodells mit den Standardparametern: >>>> aus sklearn. Datensätze importieren load_iris >>> aus sklearn import linear_model >>> aus sklearn import cross_validation >>> aus sklearn import metrics >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris.daten, iris.ziel, test_size = 0. 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. fit (X_train, y_train) >>> vorhergesagt = logClassifier. vorhersagen (X_test) >>> vorhergesagtes Array ([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]) >>> Metriken. precision_score (y_test, vorhergesagt) 1. 0 # 1. 0 ist 100-prozentige Genauigkeit >>> vorhergesagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)
Erstellen eines überwachten Lernmodells mit logistischer Regression - Dummies

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...