[PYTHON] Werfen Sie einen Blick auf die Verarbeitung von LightGBM Tuner

Einführung

Ankündigung unter PyData.Tokyo Ende September letzten Jahres ? ref = https://pydatatokyo.connpass.com/event/141272/presentation/) Der in) eingeführte LightGBMTuner wurde endlich implementiert.

Die Parameter des Modells sind nicht auf LightGBM beschränkt, sondern nicht unabhängig, sondern interagieren miteinander. Daher kann eine höhere Genauigkeit erwartet werden, indem jeder Parameter zum Zeitpunkt der Parametereinstellung Schritt für Schritt eingestellt wird. Das Konzept besteht darin, die Parameter, die den größten Einfluss haben (was zu sein scheint), in der richtigen Reihenfolge abzustimmen.

Bestätigungsumgebung

Inhalte verarbeiten

Die Implementierung ist hier

No. Inhalt Methodenname Parametername Abstimmbereich Anzahl von Versuchen
1 feature_fraction(Erstes Mal) tune_feature_fraction() feature_fraction 0.4~1.0 7 mal
2 num leaves tune_feature_fraction() num leaves 0~1(optuna.samplers.Verwenden Sie TPESampler) 20 mal
3 bagging tune_bagging() bagging_fraction, bagging_freq 0~1(optuna.samplers.Verwenden Sie TPESampler) 10 mal
4 feature_fraction(Zweites Mal) tune_feature_fraction_stage2() feature_fraction Erster optimaler Wert ± 0.08 Bereich (0.4~1.Werte außerhalb des Bereichs von 0 ausschließen) 3~6 mal
5 regularization tune_regularization_factors() lambda_l1, lambda_l2 0~1(optuna.samplers.Verwenden Sie TPESampler) 20 mal
6 min data in leaf tune_min_data_in_leaf() min_child_samples 5, 10, 25, 50, 100 5 mal

Die Punkte, an denen ich interessiert war, sind wie folgt.

--Was bewirkt die Optimierung von feature_fraction in zwei Schritten? --Ist es feature_fraction, bevor num geht?

Wenn Sie den Optimierungsinhalt nach Ihren Wünschen ändern möchten, müssen Sie derzeit run () mit einem Affen-Patch implementieren.

Ergänzung

Wenn Sie die Bedeutung der Parameter nicht verstehen, verstehen Sie zunächst Ihre Gefühle unter dem folgenden Link. [Gefühle wichtiger Parameter in Gradientenverstärkung \ -nykergotos Blog](https://nykergoto.hatenablog.jp/entry/2019/03/29/%E5%8B%BE%E9%85%8D%E3%83 % 96% E3% 83% BC% E3% 82% B9% E3% 83% 86% E3% 82% A3% E3% 83% B3% E3% 82% B0% E3% 81% A7% E5% A4% A7 % E4% BA% 8B% E3% 81% AA% E3% 83% 91% E3% 83% A9% E3% 83% A1% E3% 83% BC% E3% 82% BF% E3% 81% AE% E6 % B0% 97% E6% 8C% 81% E3% 81% A1)

Recommended Posts

Werfen Sie einen Blick auf die Verarbeitung von LightGBM Tuner
Die Geschichte der Verarbeitung A von Blackjack (Python)
Werfen wir einen Blick auf den Scapy-Code. Wie bearbeiten Sie die Struktur?
[GoLang] Setzen Sie am Anfang des Kommentars ein Leerzeichen
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Aufgaben zu Beginn eines neuen Python-Projekts
Schauen Sie sich das Kaggle / Titanic-Tutorial genauer an
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Zusammenfassung des mit einer Geschwindigkeit von einer Sekunde durchgeführten Bildcrawls
Sehen Sie sich die in Python integrierte Ausnahmebaumstruktur an
Schauen Sie sich die Django-Vorlage an.
Nimm das Ausführungsprotokoll von Sellerie
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Goldnadel für den Fall, dass sie zu einem Stein wird, wenn man sich die Formel der Bildverarbeitung ansieht
Sehen Sie sich die in Python 3.8.2 integrierte Ausnahmebaumstruktur an
Die Geschichte des Exportierens eines Programms
Schauen wir uns den Waldbrand an der Westküste der USA mit Satellitenbildern an.
Werfen wir einen Blick auf den Scapy-Code. Überladung spezieller Methoden __div__, __getitem__.
Was ist die XX-Datei im Stammverzeichnis eines beliebten Python-Projekts?
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
python> print> Wird es erst am Ende des Prozesses umgeleitet?> Mit -u ausführen
Ruf Hallo, Reiwa! Am Anfang von Reiwa!
Nehmen Sie die logarithmische Darstellung von Nicht-Null-Elementen in scipy.sparse
[Python] [Meta] Ist der Python-Typ ein Typ?
Ein Memo, das die Achsenspezifikation der Achse erklärt
Python-Grundkurs (Ende 15)
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Beachten Sie den Abschluss eines zeitaufwändigen Befehls
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Holen Sie sich viele Twitter-Tweets auf einmal
Holen Sie sich den Aufrufer einer Funktion in Python
Über die Verarbeitungsgeschwindigkeit von SVM (SVC) von Scikit-Learn
Kopieren Sie die Liste in Python
Finden Sie die Anzahl der Tage in einem Monat
Schreiben Sie eine Notiz über die Python-Version von Python Virtualenv
Senden Sie Google Mail am Ende des Vorgangs [Python]
Bildverarbeitung? Die Geschichte, Python für zu starten
Ich habe die Verarbeitungsgeschwindigkeit der numpy eindimensionalisierung überprüft
[Bei Coder] Lösen Sie das Problem der Dichotomie
Berechnen Sie die Wahrscheinlichkeit von Ausreißern auf den Box-Whiskern
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Ausgabe in Form eines Python-Arrays
Zum Zeitpunkt des Python-Updates mit Ubuntu
Die Geschichte eines Mel-Icon-Generators
Entfernen Sie eine bestimmte Zeichenfolge am Ende von Python
Informationen zum Verhalten der Warteschlange während der Parallelverarbeitung
Berücksichtigung der Stärken und Schwächen von Python
Eine einfache Möglichkeit, die Verarbeitungsgeschwindigkeit einer von Linux erkannten Festplatte zu messen
[Python3] Machen Sie einen Screenshot einer Webseite auf dem Server und schneiden Sie sie weiter zu
Ich möchte einen Screenshot der Site in Docker mit einer beliebigen Schriftart erstellen
Sammle Katzenbilder in Sekundenschnelle und ziele auf den Stamm der Cat Hills
Ich habe mir den Inhalt von sklearn (scikit-learn) angesehen. (1) ~ Was ist mit der Implementierung von CountVectorizer? ~
Nehmen Sie eine Instanz einer Python-Ausnahmeklasse nicht direkt als Argument für die Ausnahmeklasse!