Zugtest geteilt in sklearn

Zugtest geteilt in sklearn

Der anfängliche Datensatz, der zum Training von Algorithmen für maschinelles Lernen erforderlich ist, wird als Trainingsdaten bezeichnet. Algorithmen für maschinelles Lernen werden angewiesen, Vorhersagen zu treffen oder eine Aufgabe mithilfe von Trainingsdatensätzen auszuführen. Der Testdatensatz bewertet, wie gut die Trainingsdaten durchgeführt werden. Sklearn ist ein pythonbasiertes maschinelles Lernen-Toolkit, mit dem wir unsere Daten in Zug- und Testen von Proben verwenden können train_test_split () Methode. In diesem Artikel wird die Technik für Train_test_split () erörtert.

Was ist Zugtest geteilt

Modelle für maschinelles Lernen werden mit der Zug-Test-Split-Technik trainiert. Es legt fest, wie effektiv maschinelles Lernalgorithmen funktionieren. Es kann verwendet werden, um Probleme mit Regression und Klassifizierung zu lösen. Der Trainingsdatensatz für maschinelles Lernen ist der Zugtest geteilt. Es besteht aus einer erheblichen Datenmenge. In Python die Scikit Learn Package verfügt über ein Modul namens Modellauswahl, aus dem Sie „Zugtest -Split“ importieren können. Sie können das Trainings- und Testgrößenprobe in dieser Funktion mit Zug- und Testgrößen anbieten. Es gibt keinen perfekten Prozentsatz mit einem perfekten Teil. Sie sollten einen geteilten Prozentsatz auswählen, der den Zielen Ihres Projekts entspricht.

Das Modell muss mit den angegebenen Daten mit bekannten Eingaben und Ausgängen genau übereinstimmen. Das Programm wird dann verwendet, um Vorhersagen in der verbleibenden Datenuntergruppe zu treffen, um daraus zu lernen. Ohne die erwarteten Eingabe- und Ausgangswerte zu kennen, kann dies verwendet werden, um in Zukunft Vorhersagen über Datensätze zu generieren. Die Funktion "Train_test_split () im Scikit-Learn-Toolkit für maschinelles Lernen in Python kann verwendet werden. Es akzeptiert den Datensatz als Eingabe und teilt ihn in zwei Teilmengen als Ausgabe auf.

Testset

Der Testsatz ist eine Auswahl von Instanzen aus dem Datensatz, um die Wirksamkeit des Modells zu messen. Diese Daten werden von den Trainings- und Tuningdaten getrennt gehalten. Daher können während der Trainings- oder Abstimmungsphasen des Lernprozesses nicht verwendet werden. Dies würde die Leistung nur beeinflussen, indem das Modell an den Daten verzerrt wird.

Trainingsset

Die Trainings- und Testsätze müssen getrennt gehalten werden. Die Trainingsphase verbraucht den Trainingssatz, um Parameterwerte zu identifizieren, die eine bestimmte Kostenfunktion über den gesamten Trainingssatz minimieren. Nach dem Training im Trainingsdatensatz wird das Modell im Testdatensatz bewertet. Der Testdatensatz sollte nicht viel kleiner sein als der Trainingsdatensatz.

So trainieren Sie Daten

Ein Modell wird unter Verwendung spezifischer Daten erstellt, die als "Trainingsdaten" bezeichnet werden. In einem einfachen linearen Modell formalisiert das Modell die Beziehungen zwischen Variablen durch die Erzeugung der mathematischen Gleichung für eine Linie. Der Modelltyp bestimmt, wie er erstellt wird. Zum Beispiel unterscheidet sich eine Regression von anderen Methoden.

Es ist wichtig, Schulungsdaten von anderen Daten zu unterscheiden, da Sie Ihren anfänglichen Datensatz häufig in zwei Teile unterteilen: Schulungsdaten zum Erstellen von Modellen und zum Testen von Daten zur Bewertung. Normalerweise würden Sie dies tun, indem Sie Ihr Modell Werte in Testdaten (basierend auf den Variablen im Modell) vorhersagen und sie mit den tatsächlichen Werten vergleichen lassen.

Der Zweck der Aufteilung unserer Daten

Überanpassung und Unteranpassung sind zwei wichtige Probleme, mit denen wir beim Testen unseres Datensatzes konfrontiert sind.

Das Erstellen eines Modells basierend auf Daten, die nicht bekannt werden sollen, wird als Look-Shead-Vorurteile bezeichnet.

Überanpassung ist, wenn sich ein Modell zu eng an historische Daten anpasst. Es wird in Zukunft erfolglos. Unteranpassung ist das Erstellen eines Modells, das sich an vergangene Daten anpasst.

Implementierung von Train_test_split () in sklearn

# Importieren der erforderlichen Methoden und Bibliotheken
Numph als NP importieren
von Sklearn.model_selection import train_test_split
# Beispieldatensatz erstellen
X, y = np.Arange (100).Reshape ((20, 5)), Bereich (20)
Druck ('Funktionen sind', x)
print ('Zieletiketten sind', Liste (y))

Ausgang

Funktionen sind

[[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]
[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]
[60 61 62 63 64]
[65 66 67 68 69]
[70 71 72 73 74]
[75 76 77 78 79]
[80 81 82 83 84]
[85 86 87 88 89]
[90 91 92 93 94]
[95 96 97 98 99]]

Zieletiketten sind

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Daten teilen

X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, random_state = 42)
print ('Trainingsfunktionen sind', x_train)
print ('Trainingsetiketten sind', y_train)
print ('Testfunktionen sind', x_test)
print ('Testetiketten sind', y_test)

Ausgang

Trainingsfunktionen sind

[[15 16 17 18 19]
[90 91 92 93 94]
[80 81 82 83 84]
[65 66 67 68 69]
[10 11 12 13 14]
[45 46 47 48 49]
[95 96 97 98 99]
[20 21 22 23 24]
[60 61 62 63 64]
[35 36 37 38 39]
[50 51 52 53 54]
[70 71 72 73 74]
[30 31 32 33 34]]

Trainingsetiketten sind

[3, 18, 16, 13, 2, 9, 19, 4, 12, 7, 10, 14, 6]

Testmerkmale sind

[[0 1 2 3 4]
[85 86 87 88 89]
[75 76 77 78 79]
[5 6 7 8 9]
[40 41 42 43 44]
[25 26 27 28 29]
[55 56 57 58 59]]

Testetiketten sind

[0, 17, 15, 1, 8, 5, 11]

Abschluss

Wir haben die Methode der train_test_split () von sklearn besprochen, mit der Anfangsdaten in Zug- und Testproben geteilt werden. Dies ist erforderlich, um unsere Modellleistung zu bewerten und letztendlich zu verbessern. Wir haben auch gesehen, wie sich Zug- und Testproben voneinander unterscheiden. Schließlich haben wir die Methode der train_test_split () in sklearn implementiert.