Python implementiert den FA-Firefly-Optimierungsalgorithmus, um die Projektpraxis des LightGBM-Klassifizierungsmodells (LGBMClassifier-Algorithmus) zu optimieren

Hinweis: Dies ist einmaschinelles Lernprojekt (wird mit Daten + Code + Dokumentation + geliefert). Video-Erklärung), wenn SieDaten + Code + Dokumentation + Video-Erklärung benötigen, können Sie direkt zum Ende gehen des Artikels, um ihn zu bekommen.

1.Elementhintergrund

Der Fire-Fly-Algorithmus (FA) wurde 2009 von Yang von der Universität Cambridge vorgeschlagen. Als einer der neuesten Algorithmen zur Optimierung der Schwarmintelligenz bietet dieser Algorithmus die Vorteile einer besseren Konvergenzgeschwindigkeit und Konvergenzgenauigkeit und ist in der Technik einfach zu implementieren.

Dieses Projekt optimiert das LightGBM-Klassifizierungsmodell durch den FA-Firefly-Optimierungsalgorithmus.

2.Nummernerfassung

Die Modellierungsdaten für diesen Zeitraum stammen aus dem Internet (zusammengestellt vom Autor dieses Projekts). Die Statistiken der Datenelemente lauten wie folgt:

Seriennummer 

Variablennamen

beschreiben

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

Und

abhängige Variable

Die Datendetails lauten wie folgt (teilweise angezeigt):

3.Datenvorverarbeitung

3.1 用PundasTools

Verwenden Sie die head()-Methode des Pandas-Tools, um die ersten fünf Datenzeilen anzuzeigen:

  

Schlüsselcode:

3.2 Ansicht mit fehlenden Daten

Verwenden Sie die info()-Methode des Pandas-Tools, um Dateninformationen anzuzeigen:

       

Wie Sie dem Bild oben entnehmen können, gibt es insgesamt 11 Variablen, keine fehlenden Werte in den Daten und insgesamt 2.000 Daten.

Schlüsselcode:  

3.3Berechnung der Zahlenvorschrift 

Verwenden Sie die Methode discover() des Pandas-Tools, um den Mittelwert, die Standardabweichung, den Minimalwert, das Quantil und den Maximalwert der Daten anzuzeigen.

  

Der Schlüsselcode lautet wie folgt:    

4.Explorative Datenanalyse

4.1y Spaltenmuster ändern 

Verwenden Sie die plot()-Methode des Matplotlib-Tools, um ein Histogramm zu zeichnen:

4.2 y=1 Stichprobe x1 Variablenverteilungshistogramm

Verwenden Sie die hist()-Methode des Matplotlib-Tools, um ein Histogramm zu zeichnen:

4.3 Kompatibilitätsanalyse

Wie aus der obigen Abbildung ersichtlich ist, ist die Korrelation umso stärker, je größer der Wert ist. Positive Werte sind positive Korrelationen und negative Werte sind negative Korrelationen.​  

5.Spezieller Expeditionsprozess

5.1 Feature-Daten und Beschriftungsdaten erstellen

Der Schlüsselcode lautet wie folgt:

5.2 Datensatzaufteilung

Die Methode train_test_split () wird verwendet, um 80 % des Trainingssatzes und 20 % des Testsatzes zu teilen. Der Schlüsselcode lautet wie folgt:

6. Konstruieren Sie die Optimierung des FA-Firefly-OptimierungsalgorithmusLightGBMKlassifizierungsmodell

Der FA Firefly-Optimierungsalgorithmus wird hauptsächlich zur Optimierung des LightGBM-Klassifizierungsalgorithmus für die Zielklassifizierung verwendet.

6.1 FA Firefly-Optimierungsalgorithmus findet optimale Parameterwerte   

Optimale Parameter:

   

6.2 Modell mit optimalen Parameterwerten erstellen

Seriennummer

Modellname

Parameter

1

LightGBM-Klassifizierungsmodell

n_estimators=best_n_estimators

2

learning_rate=best_learning_rate 

7. Modellbewertung

7.1 Bewertungsindikatoren und Ergebnisse

Zu den Bewertungsindikatoren gehören hauptsächlich Genauigkeit, Präzision, Rückruf, F1-Score usw.

Modellname

Indikatorname

Indexwert

Testsatz

LightGBM-Klassifizierungsmodell

Genauigkeit

0,9725

Präzision

0,9596

Rückrufrate

0,9907

F1-Ergebnis

0,9749 

Wie aus der obigen Tabelle ersichtlich ist, beträgt der F1-Score 0,9749, was darauf hinweist, dass das Modell effektiv ist.

Der Schlüsselcode lautet wie folgt:  

7.2 Klassifizierungsbericht

     

Wie aus der obigen Abbildung ersichtlich ist, beträgt der F1-Score für die Klassifizierung 0 0,97; der F1-Score für die Klassifizierung 1 beträgt 0,97.

7.3 Verwirrungsmatrix

Wie aus der obigen Abbildung ersichtlich ist, gibt es 9 Stichproben, die tatsächlich 0 sind und nicht als 0 vorhergesagt werden. Es gibt 2 Stichproben, die tatsächlich 1 sind und nicht als 1 vorhergesagt werden. Die Vorhersagegenauigkeit ist insgesamt gut.​    

8.Ausblick zum Fazit

Zusammenfassend lässt sich sagen, dass dieser Artikel den FA-Firefly-Optimierungsalgorithmus verwendet, um die optimalen Parameterwerte des LightGBM-Algorithmus zu finden und ein Klassifizierungsmodell zu erstellen, was letztendlich beweist, dass das von uns vorgeschlagene Modell gut funktioniert. Dieses Modell kann für Vorhersagen von Alltagsprodukten verwendet werden.​ 

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:

链接:https://pan.baidu.com/s/1KZMS8NSRdiALRDcbrRtHCw 
提取码:yq1t

Weitere praktische Projekte finden Sie in der Liste praktischer Machine-Learning-Projekte:

Praktische Sammlungsliste für maschinelles Lernen-Projekt_Praktisches Projekt für maschinelles Lernen_Pang Ges wirklich guter Blog-CSDN-Blog


 

Supongo que te gusta

Origin blog.csdn.net/weixin_42163563/article/details/134840698
Recomendado
Clasificación