‫Willkommen zurück und das letzte Video, das wir gesehen haben, hatte eine Melodie, die Hyperparameter eines Modells mit randomisierter Suche
‫c. V.
‫Und was das bewirkte, war, dass wir einen Raum oder ein Wörterbuch mit verschiedenen Arten von Parameterwerten definiert haben.
‫Wir würden es gerne versuchen und dann nach dem Zufallsprinzip suchen.
‫Wir kombinieren diese Parameter nach dem Zufallsprinzip und bauten einen Klassifikator mit unterschiedlichen Einstellungen, unterschiedlichen
‫Parametertypen und bewerteten sie dann alle mittels Kreuzvalidierung.
‫Oder wir ändern dies wieder auf zehn.
‫Wir wollen nicht, dass 50 Modelle davonlaufen.
‫Und dann, nachdem es 10 verschiedene Kombinationen ausprobiert hatte, fand es die besten Parameter, die dieser Satz von Werten hier
‫sind.
‫Nachdem wir sie dann bewertet hatten, schnitten wir hier oben nicht wirklich so gut ab wie unser vorheriges Modell, bei dem wir nur
‫von Hand abgestimmt haben.
‫Und schließlich besteht ein Workflow, mit dem Sie beim Training harter Parameter möglicherweise enden, darin, von Hand zu beginnen und dann
‫die randomisierte Suche S zu verwenden. V. über einen Raum mit hohen Parametern.
‫Und wenn Sie dann einige ziemlich gute Hybridparameter gefunden haben, werden Sie wahrscheinlich mit der Gittersuche c
‫fertig sein. V.
‫Sehen wir uns das hier in Aktion an.
‫Also fünf Komma drei, Hyperparameter-Tuning mit Gittersuche S. V..
‫Wunderschönen.
‫Und schauen wir uns unser Raster an, also ist unser Raster im Moment so, dass Sie vielleicht bemerken, dass die Rastersuche TV das Wort Raster
‫enthält und unser Raster mit der Hälfte der Parameter im Moment diese Werte hier sind.
‫Und der Hauptunterschied zwischen Randomise Search und Grid Search TV besteht darin, dass Randomise Search TV einen Parameter
‫namens Anytown hat, den wir hier gesehen haben.
‫Welche wir festlegen können, um die Anzahl der auszuprobierenden Modelle zu begrenzen.
‫In unserem Fall haben wir also 10 verwendet. Wenn wir also hier nach oben schauen, passt der obere Teil dieses Codes fünffach für jeden
‫der 10 Kandidaten, was insgesamt 50 Passungen ergibt.
‫Der Hauptunterschied zwischen Randomized TV und Grid Search TV besteht darin, dass Grid Search TV eine
‫Art Brute-Force-Suche ist.
‫Das bedeutet, dass es jede einzelne Kombination durchläuft, die hier verfügbar ist.
‫Wenn wir also einen Blick darauf werfen, haben wir dort sechs Werte.
‫Also sechsmal, fünfmal, zweimal, dreimal drei.
‫Also die sechs Parameter hier, fünf hier, zwei hier, drei drei insgesamt, 540 verschiedene Parameter, die es ausprobieren würde, oder
‫Kombinationen von Parametern.
‫Und das ist eine Menge, die dann so mal um fünf validiert wird.
‫Also zweitausendsiebenhundert Modell.
‫Das ist viel.
‫Rechts.
‫Das wird eine Menge Rechenleistungstraining erfordern.
‫Ein Modell kann lange genug dauern, aber das Training.
‫Zweiundzwanzighundert davon, besonders wenn Sie mit einem großen Datensatz arbeiten, werden wahrscheinlich nicht für Ihren
‫Laptop geeignet sein.
‫Möglicherweise benötigen Sie einen großen Computer oder wir können den Suchraum reduzieren.
‫Sehen wir uns das also in Aktion an.
‫Damit meine ich also, dass ein Raster erstellt wird, um ein bisschen mehr von einem begrenzten Hyperparameterraum zu
‫verwenden.
‫Im Wesentlichen muss also nur die Anzahl der Hyperparameter-Gittersuche reduziert werden, die durchlaufen werden müssen.
‫Sehen wir uns das also in Aktion an.
‫Was wir tun könnten, ist, dies einfach zu kopieren.
‫Und wie würden Sie nun in der Praxis ein Raster erstellen, wir könnten es einfach kopieren und einfügen, was wir getan haben.
‫Ich möchte diese so anordnen, dass alles pythonisch aussieht.
‫Los geht's, und wir könnten es einfach kopieren und einfügen und dann diese nach dem Zufallsprinzip löschen, löschen, löschen.
‫Wir könnten das nicht tun.
‫Wir haben also eine randomisierte Suche durchgeführt. c. v und es ist durchgegangen, sagen wir, wir haben dies auf 50 verschiedene
‫Modelle erhöht, wie wir es zuvor hatten, aber in unserem Fall haben wir tatsächlich nur 10 gemacht.
‫Wir könnten diese Parameter nehmen, die besten Programme aus unserer randomisierten KVI-Suche.
‫Und verwenden Sie sie, um zu beeinflussen, wo die Rastersuche ausgeführt werden soll.
‫Also machen wir das.
‫Unser bester Parameter ist 206 zwei Quadratwurzeln.
‫Was wir also tun könnten, ist 10 zu entfernen, 500 zu behalten und dann diese beiden zu entfernen.
‫Ja, Max, Tiefe ist keine.
‫Also könnten wir das einfach als keines belassen.
‫Es gibt also nur eine Option dort und dann für die Quadratwurzel, wir könnten dies tatsächlich als Autofill-Quadratwurzel beibehalten
‫und dann haben wir noch eine Möglichkeit, dass die Sample-Aufteilung sechs ist.
‫Wir könnten vier und zwei loswerden.
‫Und was wir dann meinen könnten, Probenblatt.
‫Also könnten wir das als eins und zwei belassen.
‫Was haben wir hier also getan?
‫Nun, wir haben unseren Suchraum von Hyperparametern reduziert.
‫Also jetzt.
‫Sie erinnern sich, dass wir dort 540 verschiedene Kombinationen hatten.
‫Was haben wir, also haben wir dreimal, einmal, zweimal, einmal zwei.
‫Also 12 und dann wird es fünfmal eine Kreuzvalidierung geben, damit wir dies mit dem
‫KVI-Parameter anpassen können, also 60 gegenüber zweitausendsiebenhundert.
‫Das sind also viel weniger Parameter.
‫Wie würden wir das in der Praxis tun?
‫Wie würden wir die Rastersuche S verwenden. V. um den besten Parametertyp in diesem Bereich zu finden?
‫Nun, wie immer, lassen Sie uns es von Escalon in Aktion sehen, die Modellauswahl-Importrastersuche c. V.
‫Und wir wollen auch importieren und versuchen zu teilen.
‫Das haben wir wahrscheinlich schon.
‫Wir können das in die Nähe des Random Seeds setzen.
‫Wunderbar.
‫Split, was wir eigentlich tun könnten, ist, diesen Code einfach hierher zu bringen, weil es genau derselbe
‫Code ist, den wir zuvor verwenden wollten.
‫Also nehmen wir das einfach.
‫Also werden wir eine Sache ändern.
‫Herunter kommen.
‫Wunderbar.
‫Wir verwenden also den gleichen Datensatz wie unser randomisierter Such-CV, machen die gleiche Aufteilung, wir instanziieren den Algorithmus für
‫unseren Klassifikator, aber dieses Mal werden wir es einrichten.
‫Rastersuche S. V..
‫Forschung sparen eine wunderbare Forschungsersparnis.
‫Und dann werden wir die Rastersuche hier und jetzt anpassen.
‫Es gibt hier einen anderen Parameter, also wird dieser Perram Grid sein. Ich glaube,
‫es wird keine ETA geben, weil die Grid-Suche wie Brute-Force ist.
‫Es probiert jede einzelne Kombination aus.
‫Und wir wollen, dass es Grid und nicht Grid eins ausprobiert, weil es dort in Grid zwei ein paar weniger Optionen hat, als wir
‫zuvor gesehen haben.
‫Also kommen wir hier runter, behalten Sie die Kreuzvalidierung bei.
‫Ist das Fünffache der Boese gleich, OK?
‫Lassen Sie uns nun durchgehen, was passiert.
‫Also importieren wir die Rastersuche Stephy.
‫Wir haben Grid 2 erstellt, eine verfeinerte Suchbasis mit verschiedenen Parametertypen.
‫So unterschiedliche Einstellungen, so ähnlich wie wenn Sie an Ihrem Lieblingsgericht arbeiten, Ihren Ofen verstellen, wenn Sie
‫die Temperatur auf 400 Grad einstellen, das ist viel zu hoch.
‫Also, wenn es bei 180 Grad beginnt und es tut, okay, Sie könnten gehen, warum sollte ich direkt auf 500 oder 400
‫Grad gehen, wenn ich nur einen kleinen Sprung auf 400 machen kann?
‫Deshalb haben wir Raster 2 erstellt.
‫Wir haben es auf den besten Parametern oder den besten Hyperparametern basiert, die unser zufällig gesuchter KVI oder zufällig
‫gesuchter CDV gefunden hat.
‫Machen wir es also, bauen wir einen zufälligen Waldklassifikator mit der Rastersuche S. V..
‫So wird es noch einmal gehen, dasselbe wieder, fünf Falten für jeden der 12 Kandidaten
‫mit insgesamt 60 Passungen.
‫Nun, welche Rastersuche c. v wird tun, genau wie ECV zufällig suchen?
‫Es wird all diese verschiedenen Highbaugh-Parameter durchgehen und sie an unseren Random Forest-Klassifikator
‫übergeben, jede unterschiedliche Kombination ausprobieren und dann schließlich, wenn es fertig ist.
‫Wir können gehen, meine Güte, beste Gramm.
‫Wunderbar.
‫Es kann also eine Weile dauern, mit Grid Search TV. Dies ist etwas, das Sie im Hinterkopf
‫behalten sollten, je mehr Hyperparameter Sie hier haben, desto länger dauert die Ausführung von Grid Search TV, da jede einzelne Kombination
‫von harten Parametern ausprobiert werden muss Hier.
‫Jetzt können wir also wie zuvor unseren Rastersuchklassifikator auswerten, indem wir damit Vorhersagen treffen und
‫dann unsere Bewertungsfunktion verwenden, um herauszufinden, wie es funktioniert hat.
‫Also machen wir das.
‫GCF Nun, eigentlich werden wir erraten, warum Prendes gleich G ist. S..
‫CFF nicht vorhersagen wird auch auf den Testdaten vorhersagen X-Test und dann werden wir die Vorhersagen auswerten.
‫Schätzen Sie Metriken gleich Freds aus, unsere Funktion, die wir vor ein paar Videos definiert
‫haben, und ich schätze, warum Freds?
‫Wunderbar.
‫Und jetzt sehen wir wieder einen leichten Rückgang der Genauigkeit.
‫Hmm.
‫Und das zeigt nur, wie sehr der Prozess der Veränderung von Hyperparametern sein kann.
‫Rechts.
‫Es dreht sich alles um Versuch und Irrtum.
‫Was Sie tun können, um dies zu beheben, ist, zurück zu gehen.
‫Ihr Workflow würde wahrscheinlich darin bestehen, ein paar Einstellungen von Hand auszuprobieren, wie wir es gleich hier oben getan haben.
‫Ändern Sie Ihre Parameter von Hand.
‫Dies ist ein Arbeitsablauf, den Sie wahrscheinlich tun würden. Probieren Sie nur einige davon von
‫Hand aus, versuchen Sie, mit einem Validierungssatz wie wir etwas herauszufinden, und versuchen Sie dann mit der randomisierten Suche S eine Einstellung mit hohen
‫Parametern. V..
‫In diesem Fall können Sie diese Zahl auf 20 oder 50 oder so oder eine beliebige beliebige Zahl, die Sie finden, erhöhen.
‫Auch hier handelt es sich nur um Experimente, um herauszufinden, welche Art von Parametern besser sind.
‫Und Sie können sogar das Raster, das Sie durchsuchen, basierend auf dem Parametertyp ändern,
‫den Sie in der Zyklonmodelldokumentation für das von Ihnen verwendete Modell finden.
‫Und wenn Sie dann mit der randomisierten Suche einen guten Parametertyp gefunden haben c. v, Sie könnten diese Art von Parametern
‫nehmen, diese hier, die besten Programme, und dann eine weitere Gitter-zu-Gitter-Suche erstellen, wie wir es
‫hier getan haben.
‫In unserem Fall hat es unsere Modellmetriken nicht verbessert, aber hier würden wir wahrscheinlich ein bisschen mehr
‫experimentieren, ein paar andere Metriken ausprobieren, ein paar andere Hybridparameter ausprobieren.
‫Aber der Vollständigkeit halber würden Sie wahrscheinlich, nachdem Sie einige verschiedene Parameter ausprobiert haben, ein
‫Basismodell mit den Standardeinstellungen erstellt haben.
‫Sie haben versucht, sie von Hand einzustellen.
‫Sie haben versucht, sie durch Randomize anzupassen, sagte Garbe, und Sie haben versucht, sie durch Rastersuche anzupassen.
‫Sie möchten Ihre Modelle vergleichen.
‫Vergleichen wir also.
‫Unsere verschiedenen Modelle, Metriken.
‫Wunderbar.
‫Dazu erstellen wir einen Datenrahmen. Aus diesem Grund haben wir Wörterbücher von
‫all unseren Modellen und unserer April-Wertfunktion zurückgegeben.
‫Baseline werden also Baseline-Metriken sein und dann links sehen, wer den Metriken überlassen wird.
‫Das Turnier endet hier, wenn wir sie nicht brauchen, die Zufallssuche wird unsere Metriken und dann die Rastersuche sein.
‫Wird Gas Metrix sein.
‫Wunderbar.
‫Und um es dann in Aktion zu sehen, vergleichen wir Matrix, das ist nur der Datenrahmen, den
‫wir hier instanziiert haben.
‫Okay, du musst vielleicht umziehen.
‫Er ist da oben.
‫Es wird eine Ära da drin sein, die eigentlich eine verschnörkelte Klammer ist, die wir nicht brauchten.
‫Punktdiagramm, Delbar große Größe entspricht 10 Akt.
‫Mal sehen.
‫Wunderbar.
‫Dies wird also alle unsere verschiedenen Klassifizierungsmodelle, Metriken in einem Raum vergleichen, damit wir
‫sehen können, dass unser Basismodell das Blaue ist.
‫In diesem Fall war es hier nicht das Beste.
‫Bei der Präzision war es eher ein Gleichstand zwischen zwei und der Zufallssuche, CFF zwei liegt bei
‫Recall vorne, Baseline ist vorne und bei EF1.
‫Es ist ein Unentschieden zwischen Grundlinie und CLF zwei.
‫Und auch hier können Sie dieses Diagramm anpassen, um es besser sichtbar zu machen.
‫Dies ist nur, um verschiedene Metriken zu demonstrieren.
‫Dies ist also eine Art der Kommunikation, die Sie nicht nur für sich selbst, sondern auch für Ihre
‫Teamkollegen tun oder wenn Sie jemandem in einem Projekt Bericht erstatten, um ihnen die verschiedenen Modelle zu zeigen, die Sie
‫ausprobiert haben und wie sie sich bei verschiedenen Klassifizierungen unterscheiden Metriken.
‫Wenn Sie an einem Klassifikationsproblem arbeiten, können Sie das gleiche Verfahren natürlich auch mit
‫einem Regressionsproblem durchführen.
‫Und nun hängt es davon ab, was Sie für das Projekt benötigen, welches Modell.
‫Angenommen, Sie wollten ein Modell, das den Abruf optimiert.
‫In diesem Fall können Sie das Basismodell verwenden.
‫Wenn Sie ein Modell mit optimierter Präzision wünschen, können Sie das zu modellierende CLF auswählen.
‫Und wenn keine dieser Metriken für Sie wirklich funktioniert hat, können Sie weiterhin versuchen, durch Zufallssuche
‫oder Rastersuche einige bessere zu finden.
‫Und jetzt sind wir endlich am Ende angekommen, wie Sie ein Modell durch Hyperparameter-Tuning verbessern können.
‫Und auch hier gibt es viel zu entdecken.
‫Der entscheidende Punkt ist, sich daran zu erinnern, dass es sich um einen experimentellen Prozess handelt.
‫Um ein Modell durch Hyperparameter-Tuning zu verbessern, gibt es kein geschriebenes Gesetz dafür, wie Sie es tun,
‫aber.
‫Der Punkt ist, es einfach weiter zu versuchen und zu sehen, ob Sie etwas herausfinden können.
‫Versuchen Sie, sich mit verschiedenen Parametertypen vertraut zu machen, die verschiedene Modelle haben, wie z.
‫B. einem zufälligen falschen Klassifikator.
‫Und erinnern Sie sich einfach daran, dass das erste Modell, das Sie herstellen, höchstwahrscheinlich nicht das beste Modell ist, das
‫Sie haben.
‫Es ist ein Basismodell und es kann verbessert und so ein Modell erstellt werden.
‫Wir haben versucht, es zu verbessern.
‫Nehmen wir an, Sie haben entschieden, dass Sie sich auf das Erinnern oder ähnliches konzentrieren werden.
‫Möglicherweise möchten Sie Ihr Modell exportieren, damit Sie es freigeben oder in einer Art Bereitstellungskonfiguration verwenden können.
‫Im nächsten Abschnitt werden wir uns also mit unserer Liste hier ansehen, was wir behandeln, wir
‫werden uns ansehen, wie man ein Modell speichert, freigibt und lädt.
‫Speichern und laden Sie also ein trainiertes Modell.
‫Dies hat den Vorteil, dass Sie ein Modell nicht neu trainieren müssen, wie wir es in den letzten Abschnitten getan haben.
‫Gehen Sie also noch einmal durch und sehen Sie sich an, was wir mit dem vorherigen Parametertraining behandelt haben,
‫wie Sie den Modellhybridparameter mit Gittersuche verbessern können.
‫Sehen Sie, wir haben es mit randomisierter Suche versucht.
‫Probiere es mit der Hand aus und wir sehen uns im nächsten Video.