Kreuzvalidierungsverfahren: Definition und Bedeutung für Machine Learning

Cross Validation

Das Kreuzvalidierungverfahren (engl. cross-validation)  ist eine Methode zum Testen der Leistung eines Vorhersagemodells für Machine Learning. Entdecke hier die am häufigsten verwendeten Techniken und wie Du sie beherrschen kannst.

Nachdem ein maschinelles Lernmodell mit gekennzeichneten Daten trainiert wurde, soll es mit neuen Daten arbeiten. Jedoch ist es wichtig, die Genauigkeit der Vorhersagen des trainierten Modells in der Produktion sicherzustellen.

Dazu ist es notwendig, das Modell zu validieren. Mit dem Validierungsprozess wird entschieden, ob numerische Ergebnisse, die hypothetische Beziehungen zwischen Variablen quantifizieren, als Beschreibungen der Daten akzeptabel sind.

Um die Leistung eines maschinellen Lernmodells zu bewerten, muss man es mit neuen Daten testen. Abhängig von der Leistung der Modelle bei unbekannten Daten kann man feststellen, ob sie unterangepasst, überangepasst oder „gut verallgemeinert“ sind.

Eine der Techniken, die zum Testen der Effektivität eines Modells für maschinelles Lernen verwendet wird, ist das „Kreuzvalidierungsverfahren“. Diese Methode ist auch ein „Resampling“-Verfahren, um ein Modell auch mit begrenzten Daten zu bewerten.

Um ein „CV“ (Kreuzvalidierung) durchzuführen, muss man einen Teil der Daten aus dem vorgelagerten Trainingsdatensatz entfernen. Diese Daten werden nicht zum Trainieren des Modells verwendet, sondern später zum Testen und Bewerten des Modells.

Kreuzvalidierungsverfahren werden häufig beim maschinellen Lernen verwendet, um verschiedene Modelle zu vergleichen und das für ein bestimmtes Problem am besten geeignete Modell auszuwählen. Es ist einfach zu verstehen, einfach zu implementieren und weniger voreingenommen als andere Methoden. Entdecke nun die wichtigsten Kreuzvalidierungsverfahren.

Train-Test-Split Verfahren

Das Train-Test-Split-Verfahren besteht aus zufälligen Teilen eines Datensatzes. Ein Teil wird verwendet, um das Machine Learning-Modell zu trainieren, der andere Teil, um das Modell zu validieren.

Im Allgemeinen reservieren wir 70 % bis 80 % der Daten im Datensatz für das Training. Die restlichen 20 bis 30 % werden für die Kreuzvalidierung verwendet.

Diese Technik ist effektiv, solange die Daten nicht begrenzt sind. Einige Informationen über Daten, die nicht für das Training verwendet wurden, können dann fehlen, und die Ergebnisse können daher stark verzerrt sein.

Wenn der Datensatz jedoch groß ist und die Verteilung zwischen den beiden Samples gleich ist, ist dieses verfahren in Ordnung. Es ist möglich, die Daten manuell aufzuteilen oder die Methode train_test split von scikit-learn zu verwenden.

Die k-Folds-Kreuzvalidierung

Die k-Folds-Kreuzvalidierung ist einfach zu verstehen und besonders beliebt. Im Vergleich zu anderen Kreuzvalidierungsverfahren führt dies im Allgemeinen zu einem weniger verzerrten Modell.

Mit der k-Folds-Kreuzvalidierung können Beobachtungen aus dem Originaldatensatz in der Trainingsmenge und in der Testmenge erscheinen. Bei begrenzten Eingabedaten ist dies daher ein sehr relevantes Verfahren.

Wir beginnen zunächst damit, den Datensatz zufällig in k-Folds aufzuteilen. Das Verfahren hat einen einzigen Parameter namens „k“, der sich auf die Anzahl der Gruppen bezieht, in die die Probe aufgeteilt wird.

Der k-Wert sollte weder zu niedrig noch zu hoch sein. Je nach Größe des Datensatzes wird in der Regel ein Wert zwischen 5 und 10 gewählt. Falls k=10, wird der Datensatz in 10 Teile geteilt.

Ein höherer k-Wert führt zu einem weniger verzerrten Modell. Jedoch kann eine zu große Varianz zu einer Überanpassung führen. Ein niedrigerer Wert entspricht der Verwendung des Train-Test-Split Verfahrens.

Dann passen wir das Modell mit k-1 Folds an. Das Modell wird mit dem verbleibenden k-fach validiert. Ergebnisse und Fehler sollten notiert werden.

Das Verfahren wird wiederholt, bis jedes k-Fold innerhalb des Trainingssatzes dient. Der Durchschnitt der aufgezeichneten Bewertungen ist die Leistungsmetrik des Modells.

Das Verfahren kann manuell oder mithilfe der Funktionen cross_val_score und cross_val-predict aus der Python-Scikit-Learn-Bibliothek durchgeführt werden. Die cross_val_score-Funktion gibt die Punktzahl jedes Test-Folds an, während die cross_val_predict-Funktion die vorhergesagte Punktzahl für jede Beobachtung im Eingabedatensatz angibt, als sie Teil des Testsatzes war.

Wenn das Modell (Schätzer) ein Klassifikator ist und die Zielvariable (y) binär oder mehrklassig ist, wird standardmäßig die „StratifiedKfold“-Technik verwendet. Diese Methode meldet stratifizierte Folds, indem beispielsweise der Prozentsatz der Samples für jede Klasse in allen Folds beibehalten wird. Somit sind die Daten der Trainings- und Testfaltungen gleichmäßig verteilt.

Andernfalls wird standardmäßig die K_Fold-Technik verwendet, um das Modell aufzuteilen und zu trainieren. Folds können als Iteratoren oder in einer Schleife verwendet werden, um auf einem Pandas-Datenrahmen zu trainieren.

Wie kann man lernen, Kreuzvalidierung zu verwenden?

Die Kreuzvalidierung ist ein wesentlicher Schritt im Prozess des maschinellen Lernens. Um die Verwendung zu erlernen, kannst Du Dich für eine DataScientest-Weiterbildung entscheiden.

Maschinelles Lernen und all seine Techniken stehen im Mittelpunkt unserer Weiterbildung zum/r Data Scientist, Data Analyst und ML Engineer. Du lernst das gesamte Verfahren, Algorithmen, Werkzeuge und Methoden kennen, um Modelle zu trainieren und in Produktion zu bringen.

In unseren praxisorientierten Weiterbildungen erwirbst Du alle Fähigkeiten, die für die Berufe in Data Science erforderlich sind, und lernst so auch die Programmiersprache Python, Datenbankmanipulation, Dataviz und Deep Learning zu beherrschen.

Alle unsere Kurse können als durchgehende Weiterbildung oder als BootCamp-Weiterbildung absolviert werden. Wir bieten Dir auch einen innovativen „Blended Learning“-Ansatz, der Fern- und Präsenzunterricht kombiniert.

Diese Programme werden von Fachleuten konzipiert und sind auf die konkreten Bedürfnisse von Unternehmen ausgerichtet. Die Lernenden erhalten ein von der Universität Sorbonne zertifiziertes Diplom. 93 % von ihnen haben sofort nach der Weiterbildung einen Job gefunden. 

Jetzt weißt Du alles über Kreuzvalidierung. Entdecke unsere anderen Artikel über maschinelles Lernen.

Weiterlesen

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!