Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python

Ich habe kürzlich maschinelles Lernen studiert und daher die Schritte zusammengefasst, die bei der Implementierung in Python zu unternehmen sind.

Datenvorverarbeitung

Beim maschinellen Lernen ist es zunächst erforderlich, Daten zu lesen und zu wissen, welche Art von Verteilung sie haben. Ich werde über das Verfahren schreiben

Daten lesen

Um die Daten tatsächlich zu lesen, lesen Sie die CSV-Datei mit der Methode read_csv von Pandas, die zuvor gelesen wurde.

#Bibliothek laden
import pandas as pd
import numpy as np

#Hoge direkt darunter.Laden Sie csv
df = pd.read_csv("./hoge.csv") 
#Extrahieren Sie nur 5 Zeilen von oben
df.head() 

Bestätigung der gelesenen Daten

Wenn es um maschinelles Lernen geht, gibt es ein Bild, das, wenn Sie die Daten eingeben, etwas bewirkt, aber in Wirklichkeit müssen Sie sich die Daten genau ansehen. Fehlen beispielsweise Werte, gibt es zu viele Abweichungen und gibt es Korrelationen?

Grundlegende Statistiken

Durch Eingabe des folgenden Codes können Sie die Anzahl der Daten, den Durchschnittswert, die Standardabweichung, den Minimalwert, den Maximalwert usw. gleichzeitig anzeigen.

#Berechnung von Statistiken
df.describe() 

Sie können die grundlegenden Statistiken in einer Liste wie dieser sehen 基本統計量.PNG

Bestätigung der Verteilung

Es ist jedoch schwierig, nur anhand der Zahlen wie Standardabweichung und Durchschnittswert zu verstehen, sodass es für den Menschen einfacher ist, diese in einem Diagramm zu verstehen. Daher wird die Verteilung angezeigt.

%matplotlib inline
#Laden einer Bibliothek, in der ein Diagramm namens seaborn angezeigt wird
import seaborn as sns

#Bestätigung der Verteilung
sns.distplot(df["x1"]) #Überprüfen Sie zuerst die Daten (hier überprüfen Sie die Daten in Spalte x1)

Dies sind nette Daten, da die Daten einer Normalverteilung zu folgen scheinen x6の分布.PNG

Bestätigung des Korrelationskoeffizienten

Wenn die Daten überhaupt keine Korrelation aufweisen, macht es keinen Sinn, sie zu trainieren. Überprüfen Sie daher den Korrelationskoeffizienten. Der Korrelationskoeffizient liegt übrigens zwischen -1 und +1 und je höher er ist, desto stärker korreliert er.

#Berechnung des Korrelationskoeffizienten
df.corr()
#Überprüfen Sie den Korrelationskoeffizienten in einem Diagramm
sns.pairplot(df)

Trennung von Eingangs- und Ausgangsvariablen

Eigentlich werden wir so etwas wie $ y = w0x0 + w1x1 + w2x2 + ... + $ erstellen, also müssen wir den Inhalt der Daten in die Ausgabevariable y und die Eingabevariable x unterteilen. Zu dieser Zeit wird die Methode iloc of pandas verwendet.

#df.iloc[Linie,Säule]とすることでそのLinieとSäuleのデータを取り出せる
Beispiel Beispiel= df.iloc[1,3]
Ergebnis 100
#Letzte Spalte-Holen Sie sich alle Zeilen bis zu 1(Eingangsvariable X)
 X = df.iloc[:,:-1]
#Sie können es so schreiben, aber die Vielseitigkeit ist gering
 X = df.iloc[:,:Letzte Spaltennummer]

#Nehmen Sie y heraus
 y = df.iloc[:,-1]

Maschinelles Lernen mit vorverarbeiteten Daten

Durch die oben genannten Arbeiten sind wir bereit, tatsächlich maschinelles Lernen durchzuführen. Wir werden tatsächlich vom nächsten lernen. Hier wird die maschinelle Lernbibliothek scicit-learn verwendet.

Teilen Sie in Trainingsdaten und Verifizierungsdaten auf

Der Zweck des maschinellen Lernens bestand darin, Daten zu trainieren und Vorhersagen zu treffen, wenn unbekannte Daten eingegeben wurden. Mit anderen Worten, die für das Training verwendeten Daten wurden nicht verwendet. Wenn Sie die zum Lernen verwendeten Daten eingeben und eine Vorhersage treffen, erhalten Sie natürlich eine genaue Antwort, weil Sie mit diesen Daten gelernt haben, oder? Wird sein

Daher ist es notwendig, Trainingsdaten (Zug) und Verifizierungsdaten (Test) vor dem Training zu trennen.

from sklearn.model_selection import train_test_split

#Trennung von Trainingsdaten und Verifizierungsdaten
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.4,random_state=1)

Testgröße gibt das Verhältnis von Trainingsdaten und Verifizierungsdaten an und wird hier als Lernen festgelegt: Training = 6: 4. Außerdem ist random_state festgelegt, um die Reproduzierbarkeit aufrechtzuerhalten.

Modellbau / Verifikation

Mit scikit-learn können Sie das Modell mit nur dem folgenden Code erstellen und überprüfen Das diesmal für das Training verwendete Modell ist die multiple Regressionsanalyse

#Bibliothek importieren
from sklearn.linear_model import  LinearRegression

#Modelldeklaration (Lineare Regression bedeutet multiple Regressionsanalyse)
model = LinearRegression()

#Modelltraining (Parameter einstellen)
model.fit(X,y)

#Überprüfen Sie die Parameter
model.coef_

#Entscheidungskoeffizient(Vorhersagegenauigkeit) 0~Höher zwischen 1 ist besser
model.score(X,y)

#Berechnung des vorhergesagten Wertes
x = X.iloc[0,:] #Nehmen Sie die erste Zeile von X heraus
y_pred = model.predict([x])

Modell speichern / laden

Sie können das Modell mit dem folgenden Code speichern

#importieren
from sklearn.externals import joblib

#Modell speichern (hoge.Als pkl speichern
joblib.dump(model,"hoge.pkl")

Laden Sie das Modell mit dem folgenden Code

#hoge.Laden pkl
model_new = joblib.load("hoge.pkl") 

#Zeigen Sie den vorhergesagten Wert des geladenen Modells an
model_new.predict([x])[0]

Das Obige ist der grundlegende Ablauf des maschinellen Lernens. Dieses Mal wurde das Modell durch eine multiple Regressionsanalyse durchgeführt, aber der grundlegende Ablauf ist der gleiche, wenn Sie ihn beispielsweise mit logistischer Regression oder SVM ausführen möchten.

Recommended Posts

Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Maschinelles Lernen mit Python! Vorbereitung
Beginnend mit maschinellem Python-Lernen
Prognostizieren Sie das Geschlecht von Twitter-Nutzern durch maschinelles Lernen
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
Richten Sie die Anzahl der Stichproben zwischen Datenklassen für maschinelles Lernen mit Python aus
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Grundlegendes Studium von OpenCV mit Python
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www
Ich habe die grundlegende Grammatik von Python in Jupyter Lab geschrieben
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen
Vorhersage der Zielzeit eines vollständigen Marathons mit maschinellem Lernen - Visual: Visualisierung von Daten mit Python-
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Verstärken Sie Bilder für maschinelles Lernen mit Python
[Maschinelles Lernen] Überprüfen Sie die Leistung des Klassifikators anhand handgeschriebener Zeichendaten
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Notizen vom Anfang von Python 1 lernen
Überprüfen Sie die Existenz der Datei mit Python
"Python Machine Learning Programming" - Zusammenfassung (Jupyter)
Python-Grundkurs (Ende 15)
Notizen vom Anfang von Python 2 lernen
Aufbau einer KI / maschinellen Lernumgebung mit Python
Grundlegende Zusammenfassung des Scrapings mit Anfragen, die Anfänger absolut verstehen können [Python]
REST-API eines mit Python erstellten Modells mit Watson Machine Learning (CP4D-Edition)
Quellcode für die Trennung von Tonquellen (Übungsreihe zum maschinellen Lernen), der mit Python gelernt wurde
Grundlegendes maschinelles Lernverfahren: ③ Vergleichen und untersuchen Sie die Auswahlmethode für die Merkmalsmenge
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Die Geschichte des tiefen Lernens mit TPU
Maschinelles Lernen beginnend mit Python Personal Memorandum Part2
Die Geschichte, dass die Lernkosten von Python niedrig sind
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Zusammenfassung der Unterschiede zwischen PHP und Python
2016 Todai Mathematik mit Python gelöst
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Maschinelles Lernen beginnend mit Python Personal Memorandum Part1
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Python & Machine Learning Study Memo Introduction: Einführung in die Bibliothek
Überprüfen Sie das Datum der Flaggenpflicht mit Python
[Python] Sammeln Sie Bilder mit Icrawler für maschinelles Lernen [1000 Blatt]
Dies ist die einzige grundlegende Überprüfung von Python ~ 1 ~
Dies ist die einzige grundlegende Überprüfung von Python ~ 2 ~
Über die Entwicklungsinhalte des maschinellen Lernens (Beispiel)
[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Ich habe mit der maschinellen Vorverarbeitung von Python Data begonnen
Dies ist die einzige grundlegende Überprüfung von Python ~ 3 ~
Konvertieren Sie den Zeichencode der Datei mit Python3
[Python] Bestimmen Sie den Typ der Iris mit SVM
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Zusammenfassung des Lernprogramms für maschinelles Lernen
"Objektorientiert" mit Python gelernt
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung