[PYTHON] Maschinelles Lernen in wenigen Zeilen (zweiter Teil). Erklären Sie PyCaret im Detail. Modellbildung und Evaluierungsanalyse.

In Bezug auf unsichtbare Daten

Beim Studium von PyCaret scheinen unsichtbare Daten mit Testdaten verwechselt zu werden, aber unsichtbare Daten sind Testdaten. Wenn Sie dies jedoch ausführlich erläutern,

Erstellen Sie ein Vorhersagemodell mit Trainingsdaten Erstellen Sie ein endgültiges Vorhersagemodell, indem Sie Trainingsdaten mit Testdaten kombinieren Geben Sie abschließend unsichtbare Daten in das Modell ein, um die Genauigkeit des Modells zu überprüfen

Es wird der Fluss sein.

Letzte Überprüfung

Maschinelles Lernen in wenigen Zeilen (Teil 1). Erklären Sie PyCaret im Detail. Von der Datensatzvorbereitung bis zum Genauigkeitsvergleich mehrerer Modelle. wird fortgesetzt. Beim letzten Mal haben wir alles getan, von der Vorbereitung des Datensatzes bis zum Vergleich der Genauigkeit der Modelle.

Zweck dieser Zeit

In Teil 2 erstellen wir das Modell, zeichnen es und erstellen das endgültige Modell.

Erstellen Sie ein Modell mit Trainingsdaten

Der Zweck von compare_models () besteht nicht darin, trainierte Modelle zu erstellen, sondern leistungsstarke Modelle zu bewerten und Modellkandidaten auszuwählen. Dieses Mal werden wir das Modell anhand eines zufälligen Waldes trainieren.

code.py


rf = create_model('rf')

image.png

tune_model () ist eine zufällige Suche nach Hyperparametern. Standardmäßig ist die Genauigkeit optimiert.

code.py


tuned_rf = tune_model('rf')

image.png

Wenn Sie beispielsweise in einer zufälligen Gesamtstruktur ein Modell erstellen möchten, das den AUC-Wert erhöht, lautet der Code wie folgt.

code.py


tuned_rf_auc = tune_model('rf', optimize = 'AUC')

Das mit Tuning_Model erstellte Modell ist 1,45% genauer, daher werde ich dies verwenden.

Zeichnen Sie die Genauigkeit des Modells

Führen Sie AUC Plot aus

code.py


plot_model(tuned_rf, plot = 'auc')

image.png

Precision-Recall Curve

code.py


plot_model(tuned_rf, plot = 'pr')

image.png

Feature Importance Plot

code.py


plot_model(tuned_rf, plot='feature')

image.png

code.py


evaluate_model(tuned_rf)

image.png

Confusion Matrix

code.py


plot_model(tuned_rf, plot = 'confusion_matrix')

image.png

Erstellen eines Vorhersagemodells durch Kombinieren von Trainingsdaten und Testdaten

Überprüfen Sie vor Abschluss des Vorhersagemodells anhand der Testdaten, ob das Trainingsmodell nicht überpasst ist. Wenn der Unterschied in der Genauigkeit groß wird, muss er berücksichtigt werden, aber diesmal gibt es keinen großen Unterschied in der Genauigkeit, also werden wir fortfahren.

code.py


predict_model(tuned_rf);

image.png

Schließlich ist die endgültige Version des Vorhersagemodells fertiggestellt. Das Modell hier ist eine Kombination aus Trainings- und Testdaten.

code.py


final_rf = finalize_model(tuned_rf)
print(final_rf)

RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None, criterion='gini', max_depth=10, max_features='auto', max_leaf_nodes=None, max_samples=None, min_impurity_decrease=0.0, min_impurity_split=None, min_samples_leaf=2, min_samples_split=10, min_weight_fraction_leaf=0.0, n_estimators=70, n_jobs=None, oob_score=False, random_state=123, verbose=0, warm_start=False)

code.py


predict_model(final_rf);

image.png

Die Genauigkeit und AUC-Leistung sind hoch. Dies liegt daran, dass die Testdaten kombiniert wurden, um die Qualität des Vorhersagemodells zu verbessern.

Auswertung des Modells anhand unsichtbarer Daten

Schließlich werden wir unsichtbare Daten (1200 Datensätze) verwenden, um das Vorhersagemodell zu bewerten.

code.py


unseen_predictions = predict_model(final_rf, data=data_unseen)
unseen_predictions.head()

image.png

Beschriftung und Partitur wurden dem Datensatz hinzugefügt. Label ist das vom Modell vorhergesagte Label. Punktzahl ist die Wahrscheinlichkeit der Vorhersage.

Modell speichern

Es ist schwierig, von vorne zu beginnen, wenn Sie mehr neue Daten vorhersagen können. Save_model wird in PyCaret vorbereitet und Sie können das Modell speichern.

code.py


save_model(final_rf,'Final RF Model')

Transformation Pipeline and Model Succesfully Saved

Laden des gespeicherten Modells

Gehen Sie wie folgt vor, um das Modell zu laden:

code.py


saved_final_rf = load_model('Final RF Model')

Transformation Pipeline and Model Sucessfully Loaded

Verwenden Sie die unsichtbaren Daten von früher. Das Ergebnis ist das gleiche wie zuvor, daher werde ich es weglassen.

code.py


new_prediction = predict_model(saved_final_rf, data=data_unseen)

code.py


new_prediction.head()

schließlich

Ich habe versucht, die Erklärung des Level Beginner-Tutorials auszuführen. Ich bin überrascht, dass dies bisher mit einem Dutzend Zeilen möglich ist. Ich habe das Gefühl, dass die Hürden für maschinelles Lernen noch geringer geworden sind.

Wenn Sie Vorschläge haben, kommentieren Sie bitte. Danke fürs Lesen.

Recommended Posts

Maschinelles Lernen in wenigen Zeilen (zweiter Teil). Erklären Sie PyCaret im Detail. Modellbildung und Evaluierungsanalyse.
Maschinelles Lernen (erster Teil) in wenigen Zeilen. Erklären Sie PyCaret im Detail. Von der Datensatzvorbereitung bis zum Genauigkeitsvergleich mehrerer Modelle.
Aktivieren Sie Django https in nur wenigen Zeilen
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Werden Sie bald KI-Ingenieur! Lernen Sie in wenigen Tagen umfassend Python / KI / Maschinelles Lernen / Deep Learning / Statistische Analyse!
Klassifikation und Regression beim maschinellen Lernen
Inverse Analyse des maschinellen Lernmodells
[Maschinelles Lernen] Zusammenfassung und Ausführung der Modellbewertung / Indikatoren (mit Titanic-Datensatz)