Читать книгу Machine Learning – kurz & gut - Oliver Zeigermann - Страница 23

Underfitting

Оглавление

Gut, dann also ein einfacheres Modell? Erstaunlicherweise bekommen wir das hin, indem wir nicht nur die Nähe zu einem einzigen Nachbarn bei der Vorhersage in Erwägung ziehen, sondern die Nähe mehrerer. Wir probieren einmal zehn Nachbarn aus:

clf_sepal_10 = neighbors.KNeighborsClassifier(10)

Abbildung 2-4 zeigt die passende Grafik für die Trainingsdaten, an der man schön die viel sanfteren Übergänge der Decision Boundaries sehen kann.

Abbildung 2-4: Glatte Decision Boundaries, aber dieses Mal sogar schwach für die Trainingsdaten

Leider kann man genauso schön sehen, dass nicht einmal die Trainingsdaten gut vorhergesagt werden können. Wir haben es jetzt also mit Underfitting zu tun. Von Underfitting spricht man, wenn ein Modell zu einfach ist und nicht einmal die Trainingsdaten annähernd reproduzieren kann.

Das bestätigen uns auch die Scores, die für Trainings- und Testdaten ähnlich schwach sind:

clf_sepal_10.score(X_train_sepal_only, y_train)

> 0.80000000000000004

clf_sepal_10.score(X_test_sepal_only, y_test)

> 0.76666666666666672

Der Sweet Spot liegt irgendwo zwischen dem zu komplexen und dem zu einfachen Modell. Wir verraten dir jetzt schon einmal: Egal wie wir unser Modell hier anpassen, wir bekommen nie gute Ergebnisse. Das liegt daran, dass dieser Satz an Features einfach nicht ausreicht, um die einzelnen Arten voneinander zu trennen. Nichts zu machen. In der Praxis ist so etwas ernüchternd. Wenn du nicht die richtigen, zu schlechte oder zu wenige Daten hast, kannst du noch so schlau sein, du wirst nie zu guten Ergebnissen kommen. Mehr dazu findest du in Kapitel 3, Datenimport und -vorbereitung, und Kapitel 5, Feature-Auswahl.

Machine Learning – kurz & gut

Подняться наверх