[PYTHON] Jetez un œil au traitement de LightGBM Tuner

introduction

Annonce à PyData.Tokyo à la fin du mois de septembre de l'année dernière ? ref = https://pydatatokyo.connpass.com/event/141272/presentation/) Le LightGBMTuner introduit dans) a finalement été implémenté.

Non limité à LightGBM, les paramètres du modèle ne sont pas indépendants mais interagissent les uns avec les autres. Par conséquent, on peut s'attendre à une plus grande précision en réglant chaque paramètre étape par étape au moment du réglage des paramètres. Le concept est de s'accorder dans l'ordre à partir des paramètres qui ont la plus grande influence (ce qui semble l'être).

Environnement de confirmation

Traitement du contenu

La mise en œuvre est ici

No. Contenu Nom de la méthode Le nom du paramètre Plage de réglage Nombre d'essais
1 feature_fraction(Première fois) tune_feature_fraction() feature_fraction 0.4~1.0 7 fois
2 num leaves tune_feature_fraction() num leaves 0~1(optuna.samplers.Utiliser TPESampler) 20 fois
3 bagging tune_bagging() bagging_fraction, bagging_freq 0~1(optuna.samplers.Utiliser TPESampler) 10 fois
4 feature_fraction(Deuxième fois) tune_feature_fraction_stage2() feature_fraction Première valeur optimale ± 0.Gamme 08 (0.4~1.Hors valeurs en dehors de la plage de 0) 3~6 fois
5 regularization tune_regularization_factors() lambda_l1, lambda_l2 0~1(optuna.samplers.Utiliser TPESampler) 20 fois
6 min data in leaf tune_min_data_in_leaf() min_child_samples 5, 10, 25, 50, 100 5 fois

Les points qui m'intéressaient sont les suivants.

Si vous souhaitez modifier le contenu de réglage à votre guise, vous devez actuellement implémenter run () avec un patch monkey.

Supplément

Si vous ne comprenez pas la signification des paramètres, commencez par comprendre vos sentiments grâce au lien ci-dessous. [Sentiment de paramètres importants dans le blog de renforcement du gradient \ -nykergoto](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

Jetez un œil au traitement de LightGBM Tuner
L'histoire du traitement A du blackjack (python)
Jetons un coup d'œil au code Scapy. Comment traitez-vous la structure?
[GoLang] Définissez un espace au début du commentaire
Prenez des captures d'écran LCD avec Python-LEGO Mindstorms
Tâches au démarrage d'un nouveau projet python
Regardez de plus près le tutoriel Kaggle / Titanic
Obtenez UNIXTIME au début d'aujourd'hui avec une commande
Résumé de l'exploration d'image effectuée à la vitesse d'une seconde
Jetez un œil à l'arborescence des exceptions intégrée à Python
Jetez un œil au modèle Django.
Prenez le journal d'exécution du céleri
Une fonction qui mesure le temps de traitement d'une méthode en python
Aiguille en or pour quand elle devient une pierre en regardant la formule du traitement d'image
Jetez un œil à l'arborescence des exceptions intégrée dans Python 3.8.2
L'histoire de l'exportation d'un programme
Jetons un coup d'œil à l'incendie de forêt sur la côte ouest des États-Unis avec des images satellites.
Jetons un coup d'œil au code Scapy. Surcharge des méthodes spéciales __div__, __getitem__.
Quel est le fichier XX à la racine d'un projet Python populaire?
Comment mettre un numéro de ligne au début d'un fichier CSV
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Obtenez une instance datetime à tout moment de la journée en Python
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
python> print> Est-il redirigé uniquement à la fin du processus?> Exécuter avec -u
Criez Bonjour Reiwa! Au début de Reiwa!
Prenez la logarithmique des éléments non nuls dans scipy.sparse
[python] [meta] Le type de python est-il un type?
Un mémo expliquant la spécification de l'axe de l'axe
Cours de base Python (à la fin de 15)
Obtenez le nom de fichier du répertoire (glob)
Notez l'achèvement d'une commande chronophage
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
Recevez de nombreux tweets Twitter à la fois
Récupérer l'appelant d'une fonction en Python
À propos de la vitesse de traitement de SVM (SVC) de scikit-learn
Copiez la liste en Python
Trouvez le nombre de jours dans un mois
Écrire une note sur la version python de python virtualenv
Envoyer Gmail à la fin du processus [Python]
Traitement d'image? L'histoire du démarrage de Python pour
J'ai vérifié la vitesse de traitement de la numpy unidimensionnelle
[Chez Coder] Résoudre le problème de la dichotomie
Calculer la probabilité de valeurs aberrantes sur les moustaches de la boîte
[Python] Une compréhension approximative du module de journalisation
Sortie sous la forme d'un tableau python
Au moment de la mise à jour de python avec ubuntu
L'histoire de la création d'un générateur d'icônes mel
Supprimer une chaîne spécifique à la fin de python
À propos du comportement de la file d'attente pendant le traitement parallèle
Prise en compte des forces et faiblesses de Python
Un moyen simple de mesurer la vitesse de traitement d'un disque reconnu par Linux
[Python3] Prenez une capture d'écran d'une page Web sur le serveur et recadrez-la davantage
Je souhaite prendre une capture d'écran du site sur Docker en utilisant n'importe quelle police
Collectez des images de chats à la vitesse d'une seconde et visez la tribu Cat Hills
J'ai jeté un œil au contenu de sklearn (scikit-learn) (1) ~ Qu'en est-il de l'implémentation de CountVectorizer? ~
Ne prenez pas une instance d'une classe d'exception Python directement comme argument de la classe d'exception!