Python: Überwachtes Lernen (Rückkehr)

Was ist betreutes Lernen?

Arten des maschinellen Lernens

Maschinelles Lernen ist in drei Hauptbereiche unterteilt.

1, überwachtes Lernen Die Maschine sagt neue Daten und zukünftige Daten basierend auf den gesammelten Daten voraus Oder es bedeutet zu klassifizieren. Dies gilt für Aktienkursvorhersagen und Bildidentifikation.

2, unbeaufsichtigtes Lernen Dies bedeutet, dass die Maschine die Struktur und Beziehung der gesammelten Daten findet. Es wird in Kundentrends von Einzelhandelsgeschäften und bei der Bilderkennung von Google verwendet.

3, Stärkung des Lernens Die Lernform ähnelt dem unbeaufsichtigten Lernen, jedoch zum Zeitpunkt des Lernens durch Festlegen von Belohnungen und Zielen Es ist eine Lernmethode, um Gewinne zu maximieren. Es wird oft als wettbewerbsfähige KI wie Go verwendet.

Von diesen kann überwachtes Lernen grob in zwei Methoden unterteilt werden: Regression und Klassifizierung.

Maschinelles Lernen mit Scikit-Learn

Verwenden Sie scicit-learn, ein Modul für maschinelles Lernen.


#Importieren Sie die erforderlichen Module.
import request
from sklearn.linear_model import LinearRegression

#Laden Sie als Nächstes die Daten, die Sie trainieren möchten. Ausführlichen Code finden Sie im Code in dieser Ausgabe.
#Trainiere wie folgt_X, test_X, train_y, test_Die Daten werden in vier Dateien mit dem Namen y geladen.
train_X, test_X, train_y, test_y = (Dateninformationen)

#Bauen Sie einen Lernenden.
#Ein Lernender ist ein Lernmodell(Lernmethode)Ein Objekt, mit dem man trainieren kann.
# scikit-Die lineare Regression von Learn lernt und gibt prädiktive Daten zurück.
#Die Details dieser linearen Regression werden in den nächsten und nachfolgenden Sitzungen behandelt.
model = LinearRegression()

#Lehrerdaten(Vorhandene Daten zum Lernen)Lassen Sie den Lernenden lernen mit.
model.fit(train_X, train_y)

#Lassen Sie den Lernenden anhand von Testdaten, die getrennt von den Lehrerdaten erstellt wurden, Vorhersagen treffen.
pred_y = model.predict(test_X)

#Ein als Entscheidungskoeffizient bezeichneter Bewertungswert wird berechnet, um die Leistung des Lernenden zu bestätigen.
score = model.score(test_X, test_y)

Lineare Regression

Was ist lineare Regression?

Die regressive Analyse basiert auf der Beziehung zwischen den Daten, die Sie vorhersagen möchten, und den Daten, die Sie bereits kennen. Es ist ein Schätzungsansatz. Letztendlich nennen wir es "Rückkehr", wenn wir numerische Werte vorhersagen.

Es ist leicht zu verstehen, wie viele Kilometer Sie in einer Stunde nach der Rückkehr mit 100 km / h gelaufen sind (Vorhersage). Unter diesen ist 100 der Koeffizient der Daten.

Bei der linearen Regression werden für die Daten, die Sie vorhersagen möchten, die Koeffizienten der für die Vorhersage verwendeten Daten betrachtet Sie können die Größe des Beitrags dieser Daten sehen.

Bei der Betrachtung der Größe des Beitrags von Daten Durch die Erstellung einer Formel, die den Gewinn aus Einkauf und Einkauf maximiert Das Erstellen einer Berechnungsformel ist wichtig, damit Sie verstehen, welche Maßnahmen zu ergreifen sind.

Entscheidungskoeffizient

Der Entscheidungskoeffizient sind die durch lineare Regression vorhergesagten Daten und die tatsächlichen Daten. Es ist ein Index, der zeigt, wie gut sie übereinstimmen. Es zeigt auch, wie sehr Sie dem Koeffizienten (Höhe des Beitrags) der einzelnen Daten vertrauen können.

Wenn die vorhergesagte Punktzahl 70 ist Wenn es 20 Punkte sind, liegt der Entscheidungskoeffizient tatsächlich nahe bei 0. Wenn die Punktzahl 71 beträgt, liegt sie tatsächlich so nahe wie möglich bei 1.

Der Entscheidungskoeffizient nimmt eine Zahl von 0 bis 1 an. Je größer der Wert, desto besser ist die Genauigkeit der Funktion. Wenn der Wert ungefähr 0,8 oder mehr beträgt, kann die Genauigkeit der Funktion als gut angesehen werden. Selbst wenn der Wert 0,8 oder weniger beträgt, ist die Funktion nicht unbrauchbar.

Wenn der Entscheidungsfaktor eine bestimmte Größe hat (der Standard variiert je nach Person, aber ungefähr 0,4 oder mehr), ist die Größe des Beitrags der Daten bis zu einem gewissen Grad zuverlässig.

Lineare einfache Regression

Die lineare einfache Regression ist eine Regressionsanalyse, bei der aus einer Daten (z. B. Zeit) eine vorherzusagende Datenmenge (z. B. Wassermenge) erhalten wird. Es wird häufig bei der Untersuchung von Datenbeziehungen und selten bei Vorhersagen verwendet.

Hier sind die Daten, die Sie vorhersagen möchten, yy und die für die Vorhersage verwendeten Daten xx.

y=ax+by=ax+b Schätzen Sie aa und bb unter der Annahme, dass eine Beziehung besteht.

Es gibt verschiedene Methoden zum Schätzen von aa und bb, aber dieses Mal werden wir eine Methode verwenden, die als Methode der kleinsten Quadrate bezeichnet wird. Stellen Sie sicher, dass die Summe der Quadrate der Differenz zwischen dem tatsächlichen yy-Wert und dem geschätzten y (= ax + b) y (= ax + b) -Wert minimiert ist. Wie man aa und bb bestimmt.

Bestimmen Sie in der folgenden Abbildung a und b so, dass der Gesamtabstand von den orangefarbenen Datenpunkten minimiert wird. Zeichnen Sie auf diese Weise die den vorhandenen Daten am nächsten liegende Gerade und leiten Sie zukünftige Daten aus dieser Geraden ab.

image.png

Das Quadrat des Fehlers soll hier verhindern, dass der Fehler durch die Differenz zwischen positiv und negativ ausgeglichen wird. Wenn Sie beispielsweise einfach diejenigen mit einem Fehler von +2 und -2 hinzufügen, ist der Wert 0 und der Fehler wird versetzt.

Um nun tatsächlich eine Regressionsanalyse durchzuführen, ist es zweckmäßig, ein Modell namens LinearRegression im linear_model-Modul von scicit-learn zu verwenden.

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split

#Hier generieren wir rekursive Daten.
X, y = make_regression(n_samples=100, n_features=1, n_targets=1, noise=5.0, random_state=42)

train_X, test_X, train_y, test_y = train_test_split(X, y, random_state=42)

model = LinearRegression()

model.fit(train_X, train_y)

#Es ist die Ausgabe des Bestimmungskoeffizienten
print(model.score(test_X, test_y))

Lineare multiple Regression

Die lineare multiple Regression bezieht sich auf Daten, die Sie vorhersagen möchten (z. B. 2. Gesamtbewertung des Restaurants). Dies ist eine Regressionsanalyse, bei der die für die Vorhersage verwendeten Daten mehrfach sind (z. B. die Bewertung für leckeres Essen und die Bewertung für guten Kundenservice). Eine hohe Vorhersagegenauigkeit kann erzielt werden, wenn die Beziehungen zwischen den für die Vorhersage verwendeten Daten schwach sind.

Wieder verwenden wir die Methode der kleinsten Quadrate, um die Beziehung zwischen den vorhergesagten Daten und den für die Vorhersage verwendeten Daten zu schätzen. Bei multipler Regression werden für die Vorhersage die Daten x0x0, x1x1, x2x2 ...

y=β0x0+β1x1+β2x2+⋯+ϵy=β0x0+β1x1+β2x2+⋯+ϵ

Wir werden β0, β1, β2 ..., ϵβ0, β1, β2 ..., ϵ schätzen.

Sie können sehen, dass wir mehr x als einfache Regression haben.

Die lineare multiple Regression verwendet auch ein Modell namens LinearRegression im linear_model-Modul von scikit-learn. Es ist möglich, eine Regressionsanalyse durchzuführen. Passt automatisch am besten zu vorhandenen Daten β0, β1, β2 ..., ϵβ0, β1, β2 ..., ϵ werden bestimmt und vorhergesagt.

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split

#Hier n_features=Generieren Sie x, indem Sie 10 einstellen
#Die Anzahl der tatsächlich verwendeten x ist n_informative=Geben Sie als 3 an
X, y = make_regression(n_samples=100, n_features=10, n_informative=3, n_targets=1, noise=5.0, random_state=42)
train_X, test_X, train_y, test_y = train_test_split(X, y, random_state=42)

model = LinearRegression()
model.fit(train_X, train_y)
model.score(test_X, test_y)
#Auch Modell.predict(test_X)Durch Test schreiben_Sie können Vorhersagen für X treffen.

Recommended Posts

Python: Überwachtes Lernen (Rückkehr)
Python: Anwendung des überwachten Lernens (Rückkehr)
Lernen mit einem Lehrer (Rückkehr) 1 Grundlagen
Python: Überwachtes Lernen (Klassifizierung)
Python: Überwachtes Lernen: Hyperparameter Teil 1
Python lernen
Python: Überwachtes Lernen: Hyperparameter Teil 2
Lernen mit dem Lehrer (Rückkehr) 2 Advanced Edition
Überwachtes maschinelles Lernen (Klassifikation / Regression)
[Python] Lernnotiz 1
Python-Lernnotizen
Python-Lernausgabe
Python-Lernseite
Python-Lerntag 4
Python Deep Learning
Betreutes Lernen (Klassifizierung)
Deep Learning × Python
Python-Lernnotizen
Python-Klasse (Python-Lernnotiz ⑦)
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Python-Modul (Python-Lernnotiz ④)
Erweitertes Lernen 1 Python-Installation
Python lernen mit ChemTHEATER 05-1
Python: Deep Learning-Praxis
Python ~ Grammatikgeschwindigkeit lernen ~
Python: Unüberwachtes Lernen: Grundlagen
Grundlagen des Lernens mit einem Lehrer Teil 1 - Einfache Regression - (Hinweis)
Logistische Regression beim maschinellen Lernen
EV3 x Python Maschinelles Lernen Teil 2 Lineare Regression
Private Python-Lernprozedur
Python lernen mit ChemTHEATER 02
Lineare Regression des maschinellen Lernens
Python lernen mit ChemTHEATER 01
Python: Deep Learning Tuning
Python + Unity Enhanced Learning (Lernen)
Grundlagen des Lernens mit einem Lehrer Teil 3 - Multiple Regression (Implementierung) - (Anmerkungen) -
Regressionsanalyse mit Python
Python Scikit-learn Lineare Regressionsanalyse Nichtlineare einfache Regressionsanalyse Maschinelles Lernen
Coursera Machine Learning Challenge in Python: ex1 (lineare Regression)
Mehrfacher Regressionsausdruck in Python
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
O'Reilly python3 Primer Lernnotiz
Lernablauf für Python-Anfänger
Python-Lernplan für KI-Lernen
Verbessertes Lernen ab Python
Maschinelles Lernen mit Python! Vorbereitung
Überwachtes Lernen 3 Hyperparameter und Abstimmung (2)
Verstehe maschinelles Lernen ~ Ridge Regression ~.
Maschinelles Lernen: Überwacht - Zufälliger Wald
Lernen mit dem Lehrer 1 Grundlagen des Lernens mit dem Lehrer (Klassifizierung)
Python Machine Learning Programming> Schlüsselwörter
Maschinelles Lernen: Überwacht - Support Vector Machine
Einfache Regressionsanalyse mit Python