[PYTHON] Maschinelles Lernen Über Overlearning

○ Die Hauptpunkte dieses Artikels Beachten Sie, dass das Überlernen reproduziert wurde Überlernen: Es kann mit Trainingsdaten umgehen, aber nicht mit unbekannten Daten. Das Gefühl, dass es keine Anwendungsleistung gibt.

○ Quellcode (Python): Modellübertraining und Bestätigung des Übertrainings

So überprüfen Sie das Über- und Übertraining von Modellen


from sklearn.datasets import load_boston
from sklearn.svm import SVR
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
%matplotlib inline

#Datenaufbereitung. Boston Immobilienpreise
data = load_boston()
X = data.data[:, [5,]] #Extrahieren Sie nur die Anzahl der Räume als erklärende Variablen
y = data.target

#Getrennt in Trainingsdaten und Testdaten
train_X, test_X = X[:400], X[400:]
train_y, test_y = y[:400], y[400:]

#SVR mit modifizierten Hyperparametern(Support Vector Machine (Kernel-Methode))Lernen in
model_s = SVR(C=1.0, kernel='rbf') #Verwenden Sie den rbf-Kernel mit dem Regularisierungsparameter 1
model_s.fit(train_X, train_y)
#Vorhersage anhand von Trainingsdaten
s_pred = model_s.predict(train_X)
#Vorhersage anhand von Testdaten (Vorhersage für unbekannte Daten)
s_pred_t = model_s.predict(test_X)

#Grafikanzeige
fig, ax = plt.subplots()
ax.scatter(train_X, train_y, color='red', marker='s', label='data')
ax.plot(train_X, s_pred, color='blue', label='svr_rbf curve(train)')
ax.plot(test_X, s_pred_t, color='orange', label='svr_rbf curve(test)')
ax.legend()
plt.show()

print("○ Durchschnittlicher quadratischer Fehler und Bestimmungskoeffizient der Trainingsdaten")
print(mean_squared_error(train_y, s_pred))
print(r2_score(train_y, s_pred))
print("○ Durchschnittlicher quadratischer Fehler und Bestimmungskoeffizient der Testdaten")
print(mean_squared_error(test_y, s_pred_t))
print(r2_score(test_y, s_pred_t))

Ergebnis ダウンロード.png ○ Durchschnittlicher quadratischer Fehler und Bestimmungskoeffizient der Trainingsdaten 30.330756428515905 0.6380880725968641 ○ Durchschnittlicher quadratischer Fehler und Bestimmungskoeffizient der Testdaten 69.32813164021485 -1.4534559402985217

Die Trainingsdatenlinie (blau) ist schön gezeichnet, aber die Testdatenlinie (orange) ist subtil. Dies ergibt sich aus den Werten des durchschnittlichen quadratischen Fehlers und des Bestimmungskoeffizienten. Das ist Überlernen.

Es gibt verschiedene Möglichkeiten, um Überlernen zu verhindern, aber ich werde sie noch einmal erklären. ・ Erhöhen Sie die Anzahl der Lerndaten (Trainingsdaten) ・ Führen Sie eine Gegenprüfung durch -Anpassen Sie die Hyperparameter (machen Sie das Modell einfach) ・ Reduzieren Sie die Anzahl der Funktionen ・ Regularisierung implementieren

Recommended Posts

Maschinelles Lernen Über Overlearning
Maschinelles Lernen
Über maschinelles Lernen gemischte Matrix
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Beispiel für maschinelles Lernen
Eine Geschichte über maschinelles Lernen mit Kyasuket
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)
Zusammenfassung des Lernprogramms für maschinelles Lernen
Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Maschinelles Lernen unterstützt Vektormaschine
Maschinelles Lernen studieren ~ matplotlib ~
Lineare Regression des maschinellen Lernens
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Über die Entwicklungsinhalte des maschinellen Lernens (Beispiel)
Lerne irgendwie maschinelles Lernen
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Maschinelles Lernen: k-Nächste Nachbarn
Was ist maschinelles Lernen?
Was ich über KI / maschinelles Lernen mit Python gelernt habe (1)
Informationen zur Datenvorverarbeitung von Systemen, die maschinelles Lernen verwenden
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Was ich über KI / maschinelles Lernen mit Python gelernt habe (3)
Was ich über KI / maschinelles Lernen mit Python gelernt habe (2)
Sprechen Sie mit Cython über die Verbesserung des Engpasses bei Algorithmen für maschinelles Lernen
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Japanische Vorverarbeitung für maschinelles Lernen
Maschinelles Lernen in Delemas (Praxis)
Eine Einführung in das maschinelle Lernen
Techniken im Zusammenhang mit maschinellem Lernen / Klassifizierung
Maschinelles Lernen: Überwacht - Lineare Regression
Grundlagen des maschinellen Lernens (Denkmal)
Anfänger des maschinellen Lernens versuchten RBM
[Maschinelles Lernen] Zufällige Gesamtstruktur verstehen
Über das Lernen mit Google Colab
Maschinelles Lernen mit Python! Vorbereitung
Lernressourcen-Lernblock für maschinelles Lernen
Maschinelles Lernen ② Naive Bayes Zusammenfassung
Verstehe maschinelles Lernen ~ Ridge Regression ~.
Zusammenfassung der Artikel zum maschinellen Lernen (selbst verfasst)
Maschinelles Lernen: Überwacht - Zufälliger Wald
Praktisches Memo zum maschinellen Lernsystem
Maschinelles Lernen Minesweeper mit PyTorch
Erstellen Sie eine maschinelle Lernumgebung
Python Machine Learning Programming> Schlüsselwörter
Algorithmus für maschinelles Lernen (einfaches Perzeptron)
Wird in EDA für maschinelles Lernen verwendet
Bedeutung von Datensätzen für maschinelles Lernen
Maschinelles Lernen und mathematische Optimierung
Maschinelles Lernen: Überwacht - Support Vector Machine
Überwachtes maschinelles Lernen (Klassifikation / Regression)
Ich habe versucht, die Extreme-Lernmaschine zu implementieren