Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Der Fehler von GridSearchCV | Modellierung
ML-Einführung Mit Scikit-Learn

bookDer Fehler von GridSearchCV

Bevor GridSearchCV betrachtet wird, ist es wichtig zu beachten, dass KNeighborsClassifier neben n_neighbors mehrere weitere Hyperparameter besitzt. Zwei davon sind: weights und p.

Gewichte

KNeighborsClassifier trifft Vorhersagen, indem die k nächsten Nachbarn gefunden und die häufigste Klasse unter ihnen zugewiesen wird, unabhängig davon, wie nah jeder Nachbar ist.

Eine Alternative besteht darin, Nachbarn nach ihrer Entfernung zu gewichten, sodass näher gelegene Punkte mehr Einfluss haben. Dies wird mit weights='distance' erreicht.

Standardmäßig verwendet der Klassifikator weights='uniform', wobei alle Nachbarn gleich gewichtet werden.

P

Der Hyperparameter p definiert, wie Entfernungen berechnet werden:

  • p=1: Manhattan-Distanz (Summe der absoluten Differenzen zwischen den Koordinaten);
  • p=2: Euklidische Distanz (die Luftlinienentfernung, bekannt aus der Geometrie).

Ein p-Parameter kann jede positive ganze Zahl annehmen. Es gibt viele verschiedene Distanzen, aber sie sind schwieriger zu visualisieren als p=1 oder p=2.

Note
Hinweis

Machen Sie sich keine Sorgen, wenn die Details von weights oder p unklar sind. Sie werden lediglich eingeführt, um zu zeigen, dass es mehr als einen Hyperparameter gibt, der die Vorhersagen des Modells beeinflussen kann. Betrachten Sie sie als Beispiele für Hyperparameter, die angepasst werden können.

Im vorherigen Kapitel wurde GridSearchCV verwendet, um nur n_neighbors abzustimmen. Um die beste Kombination aus n_neighbors, weights und p zu finden, kann das param_grid wie folgt definiert werden:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV testet alle möglichen Kombinationen, um die beste zu finden, daher werden alle folgenden ausprobiert:

Dadurch wird der Suchraum erheblich vergrößert. Zum Beispiel:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

Bei 100 Hyperparameter-Kombinationen und 5-facher Kreuzvalidierung wird das Modell 500 Mal trainiert und bewertet.

Für kleine Datensätze ist dies handhabbar, aber bei größeren Datensätzen und komplexeren Modellen wird der Prozess sehr langsam.

Um solche Fälle zu bewältigen, wird häufig RandomizedSearchCV bevorzugt. Es untersucht nur eine Teilmenge aller möglichen Kombinationen, wodurch die Rechenzeit erheblich reduziert wird und dennoch gute Ergebnisse erzielt werden.

question mark

Das Hauptproblem von GridSearchCV besteht darin, dass alle möglichen Kombinationen (der in param_grid angegebenen Werte) ausprobiert werden, was sehr viel Zeit in Anspruch nehmen kann. Ist diese Aussage korrekt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 3.13

bookDer Fehler von GridSearchCV

Swipe um das Menü anzuzeigen

Bevor GridSearchCV betrachtet wird, ist es wichtig zu beachten, dass KNeighborsClassifier neben n_neighbors mehrere weitere Hyperparameter besitzt. Zwei davon sind: weights und p.

Gewichte

KNeighborsClassifier trifft Vorhersagen, indem die k nächsten Nachbarn gefunden und die häufigste Klasse unter ihnen zugewiesen wird, unabhängig davon, wie nah jeder Nachbar ist.

Eine Alternative besteht darin, Nachbarn nach ihrer Entfernung zu gewichten, sodass näher gelegene Punkte mehr Einfluss haben. Dies wird mit weights='distance' erreicht.

Standardmäßig verwendet der Klassifikator weights='uniform', wobei alle Nachbarn gleich gewichtet werden.

P

Der Hyperparameter p definiert, wie Entfernungen berechnet werden:

  • p=1: Manhattan-Distanz (Summe der absoluten Differenzen zwischen den Koordinaten);
  • p=2: Euklidische Distanz (die Luftlinienentfernung, bekannt aus der Geometrie).

Ein p-Parameter kann jede positive ganze Zahl annehmen. Es gibt viele verschiedene Distanzen, aber sie sind schwieriger zu visualisieren als p=1 oder p=2.

Note
Hinweis

Machen Sie sich keine Sorgen, wenn die Details von weights oder p unklar sind. Sie werden lediglich eingeführt, um zu zeigen, dass es mehr als einen Hyperparameter gibt, der die Vorhersagen des Modells beeinflussen kann. Betrachten Sie sie als Beispiele für Hyperparameter, die angepasst werden können.

Im vorherigen Kapitel wurde GridSearchCV verwendet, um nur n_neighbors abzustimmen. Um die beste Kombination aus n_neighbors, weights und p zu finden, kann das param_grid wie folgt definiert werden:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV testet alle möglichen Kombinationen, um die beste zu finden, daher werden alle folgenden ausprobiert:

Dadurch wird der Suchraum erheblich vergrößert. Zum Beispiel:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

Bei 100 Hyperparameter-Kombinationen und 5-facher Kreuzvalidierung wird das Modell 500 Mal trainiert und bewertet.

Für kleine Datensätze ist dies handhabbar, aber bei größeren Datensätzen und komplexeren Modellen wird der Prozess sehr langsam.

Um solche Fälle zu bewältigen, wird häufig RandomizedSearchCV bevorzugt. Es untersucht nur eine Teilmenge aller möglichen Kombinationen, wodurch die Rechenzeit erheblich reduziert wird und dennoch gute Ergebnisse erzielt werden.

question mark

Das Hauptproblem von GridSearchCV besteht darin, dass alle möglichen Kombinationen (der in param_grid angegebenen Werte) ausprobiert werden, was sehr viel Zeit in Anspruch nehmen kann. Ist diese Aussage korrekt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7
some-alt