[PYTHON] Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen

Einführung

Wir haben die Klassifizierung des maschinellen Lernens und eine einfache Implementierung unter Verwendung einer Bibliothek dieser Algorithmen zusammengefasst. Der Code jedes Algorithmus enthält Beispieldaten, sodass er so ausgeführt werden kann, wie er ist. Da nur die minimal erforderlichen Parameter eingestellt sind, finden Sie detaillierte Einstellungen im offiziellen Dokument usw.

Jeder Algorithmus hat eine kurze Erklärung, aber keine detaillierte Erklärung.

Zielgruppe

Tor

Klassifikation des maschinellen Lernens

Maschinelles Lernen wird wie folgt kategorisiert.

image.png Dieses Mal werden wir uns nicht mit der Implementierung von verbessertem Lernen befassen.

Mit einem Lehrer lernen

Überwachtes Lernen ist eine Methode zum Lernen der Antwort auf eine Frage aus Daten, die Merkmale (Merkmale, erklärende Variablen) darstellen, und Daten, die die Antwort sind (Bezeichnungen, objektive Variablen).

Betreutes Lernen kann in die folgenden zwei Kategorien unterteilt werden.

--Return: Sagen Sie fortlaufende Zahlen voraus

Nutzungsdaten

Ich werde kurz die in der Implementierung verwendeten Daten erläutern.

Hier werden wir die Beispieldaten von scicit-learn verwenden. Die verwendeten Daten sind wie folgt für die Regression und Klassifizierung.

--Rückkehr

Algorithmus

Ich werde den Algorithmus des überwachten Lernens vorstellen. Es wird beschrieben, ob jeder Algorithmus auf Regression oder Klassifizierung angewendet werden kann.

Lineare Regression

--Rückkehr

Eine Methode zum Modellieren der Beziehung, in der die Zielvariable größer (kleiner) wird, wenn die Merkmalsmenge größer wird.

Offizielles Dokument

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

#Daten lesen
boston = load_boston()
X = boston['data']
y = boston['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = LinearRegression()
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Logistische Rückgabe

--Kategorie

Eine Methode zum Lernen der Wahrscheinlichkeit, dass ein Ereignis eintritt.

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

#Daten lesen
wine = load_wine()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = LogisticRegression()
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Zufälliger Wald

--Rückkehr --Kategorie

Eine Methode zur mehrheitlichen Vorhersage aus mehreren Entscheidungsbäumen.

Version zurückgeben

Offizielles Dokument

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor

#Daten lesen
boston = load_boston()
X = boston['data']
y = boston['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = RandomForestRegressor(random_state=0)
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Klassifizierungsversion

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

#Daten lesen
wine = load_wine()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = RandomForestClassifier(random_state=0)
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Unterstützung Vektormaschine

Eine Technik, um bessere Entscheidungsgrenzen durch Maximierung der Ränder zu erzielen.

--Rückkehr --Kategorie

Version zurückgeben

Offizielles Dokument

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.svm import SVR

#Daten lesen
boston = load_boston()
X = boston['data']
y = boston['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = SVR(kernel='linear', gamma='auto')
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Klassifizierungsversion

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

#Daten lesen
wine = load_wine()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = SVC(gamma='auto')
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

kNN

Eine Methode zum Speichern aller Trainingsdaten und zum Treffen einer Mehrheitsentscheidung aus k Daten, die nahe an den Daten liegen, die Sie vorhersagen möchten.

--Rückkehr --Kategorie

Version zurückgeben

Offizielles Dokument

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsRegressor

#Daten lesen
boston = load_boston()
X = boston['data']
y = boston['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = KNeighborsRegressor(n_neighbors=3)
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

Klassifizierungsversion

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

#Daten lesen
wine = load_wine()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

score = model.score(X_test, y_test)

print('score is', score)

neurales Netzwerk

Eine Methode, die die neuronalen Schaltkreise des menschlichen Gehirns nachahmt und eine Struktur aufweist, die aus einer Eingangsschicht, einer verborgenen Schicht und einer Ausgangsschicht besteht.

--Rückkehr --Kategorie

Offizielles Dokument

Version zurückgeben

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from tensorflow.keras import models
from tensorflow.keras import layers

#Daten lesen
boston = load_boston()
X = boston['data']
y = boston['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(X_train.shape[1],)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(1))
model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])

model.fit(X_train, y_train)

mse, mae = model.evaluate(X_test, y_test)

print('MSE is', mse)
print('MAE is', mae)

Klassifizierungsversion

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from tensorflow.keras import models
from tensorflow.keras import layers
from tensorflow.keras import utils

#Daten lesen
boston = load_wine()
X = boston['data']
y = utils.to_categorical(boston['target'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(X_train.shape[1],)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(3, activation='softmax'))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])

model.fit(X_train, y_train)

crossentropy, acc = model.evaluate(X_test, y_test)

print('Categorical Crossentropy is', crossentropy)
print('Accuracy is', acc)

Gradientenverstärkung

Einer der Ensembles lernt, mehrere Modelle zu trainieren. Eine Methode zum wiederholten Extrahieren einiger Daten und zum sequentiellen Trainieren mehrerer Entscheidungsbaummodelle.

--Rückkehr --Kategorie

Offizielles Dokument

Version zurückgeben

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import lightgbm as lgb
import numpy as np

#Daten lesen
wine = load_boston()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test)

params = {
    'objective': 'regression',
    'metric': 'mse',
}
num_round = 100

model = lgb.train(
    params,
    lgb_train,
    valid_sets=lgb_eval,
    num_boost_round=num_round,
)

y_pred = model.predict(X_test)

score = mean_squared_error(y_test, y_pred)

print('score is', score)

Klassifizierungsversion

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import lightgbm as lgb
import numpy as np

#Daten lesen
wine = load_wine()
X = wine['data']
y = wine['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test)

params = {
    'objective': 'multiclass',
    'num_class': 3,
}
num_round = 100

model = lgb.train(
    params,
    lgb_train,
    valid_sets=lgb_eval,
    num_boost_round=num_round,
)

pred = model.predict(X_test)
y_pred = []
for p in pred:
    y_pred.append(np.argmax(p))

score = accuracy_score(y_test, y_pred)

print('score is', score)

Lernen ohne Lehrer

Unbeaufsichtigtes Lernen ist eine Methode, um nur aus den Daten zu lernen, die die Merkmale ohne Antwortdaten darstellen.

Nutzungsdaten

Bei der Verwendung von unbeaufsichtigtem Lernen handelt es sich um die Qualitätsdaten des Weins, der beim überwachten Lernen verwendet wird.

Algorithmus

Ich werde den Algorithmus des unbeaufsichtigten Lernens vorstellen.

K-means

Eine der Clustering-Methoden. Eine Methode zum Organisieren von Daten in k Klassen.

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.cluster import KMeans

#Daten lesen
wine = load_wine()
X = wine['data']

model = KMeans(n_clusters=3, random_state=0)
model.fit(X)

print("labels: \n", model.labels_)
print("cluster centers: \n", model.cluster_centers_)
print("predict result: \n", model.predict(X))

Gemischte Gaußsche Verteilung

Eine der Clustering-Methoden. Eine Methode zum Klassifizieren von Daten nach der Gaußschen Verteilung, zu der sie gehören, unter der Annahme, dass die Daten aus mehreren Gaußschen Verteilungen generiert werden.

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.mixture import GaussianMixture

#Daten lesen
wine = load_wine()
X = wine['data']

model = GaussianMixture(n_components=4)
model.fit(X)

print("means: \n", model.means_)
print("predict result: \n", model.predict(X))

Hauptkomponentenanalyse

Eine der Methoden zur Dimensionsreduzierung. Eine Methode zum Ausdrücken von Daten aus einer großen Anzahl von Variablen mit weniger Variablen (Hauptkomponenten) unter Beibehaltung der Eigenschaften der Daten.

Offizielles Dokument

from sklearn.datasets import load_wine
from sklearn.decomposition import PCA

#Daten lesen
wine = load_wine()
X = wine['data']

model = PCA(n_components=4)
model.fit(X)

print('Before Transform:', X.shape[1])
print('After Transform:', model.transform(X).shape[1])

Zusammenfassung

Ich habe nicht genug über unbeaufsichtigtes Lernen und die Stärkung des Lernens gelernt, deshalb werde ich weiter lernen.

Verweise

Recommended Posts

Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
Klassifikation des maschinellen Lernens
Python Machine Learning Programming Kapitel 2 Klassifizierungsprobleme - Zusammenfassung des Trainingsalgorithmus für maschinelles Lernen
Algorithmus für maschinelles Lernen (Zusammenfassung und Regularisierung der linearen Regression)
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Techniken im Zusammenhang mit maschinellem Lernen / Klassifizierung
Maschinelles Lernen ② Naive Bayes Zusammenfassung
Maschinelles Lernen #k Nachbarschaftsmethode und deren Implementierung und verschiedene
Zusammenfassung der Artikel zum maschinellen Lernen (selbst verfasst)
Algorithmus für maschinelles Lernen (einfaches Perzeptron)
Maschinelles Lernen und mathematische Optimierung
Überwachtes maschinelles Lernen (Klassifikation / Regression)
Algorithmus für maschinelles Lernen (Support Vector Machine)
Maschinelles Lernen ④ K-nächster Nachbar Zusammenfassung
Algorithmus für maschinelles Lernen (logistische Regression)
<Kurs> Maschinelles Lernen Kapitel 6: Algorithmus 2 (k-Mittel)
Erklärung und Implementierung des ESIM-Algorithmus
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Sortieralgorithmus und Implementierung in Python
Maschinelles Lernen ① SVM-Zusammenfassung (Support Vector Machine)
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Algorithmus für maschinelles Lernen (multiple Regressionsanalyse)
Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Algorithmus für maschinelles Lernen (Gradientenabstiegsmethode)
Maschinelles Lernen
Zusammenfassung der empfohlenen APIs für künstliche Intelligenz, maschinelles Lernen und KI
[Maschinelles Lernen] OOB (Out-Of-Bag) und sein Verhältnis
scikit-learn Verwendung der Zusammenfassung (maschinelles Lernen)
Deep Learning 2 durch Implementierung gelernt (Bildklassifizierung)
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)
Erklärung und Implementierung des Decomposable Attention-Algorithmus
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
"OpenCV-Python Tutorials" und "Praktisches maschinelles Lernsystem"
EV3 x Pyrhon Maschinelles Lernen Teil 3 Klassifizierung
[Maschinelles Lernen] Zusammenfassung und Ausführung der Modellbewertung / Indikatoren (mit Titanic-Datensatz)
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Studieren Sie maschinelles Lernen und Informatik. Ressourcenliste
Gaußscher EM-Algorithmus mit gemischtem Modell [statistisches maschinelles Lernen]
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Numerai Turnier-Fusion von traditionellen Quants und maschinellem Lernen-
Wörterbuch-Lernalgorithmus
Algorithmus für maschinelles Lernen (von der Klassifizierung in zwei Klassen bis zur Klassifizierung in mehreren Klassen)
Maschinelles Lernen Aufteilung der Trainingsdaten und Lernen / Vorhersage / Verifizierung
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Betreutes Lernen (Klassifizierung)
[Memo] Maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Beispiel für maschinelles Lernen
Zusammenfassung der runden Lesesitzungen der professionellen Serie für maschinelles Lernen
"Apache Flink" neue maschinelle Lernoberfläche und Flink-Python-Modul
[Maschinelles Lernen] SVM sowohl aus Scikit-Lernen als auch aus Mathematik verstehen
Einfaches maschinelles Lernen mit Scikit-Learn und Flask ✕ Web App
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 1 und 2
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Site-Zusammenfassung zum Erlernen des maschinellen Lernens mit englischen Videos