Die Liste ist wie folgt, kann jedoch durch Automatisierung von Pycaret in wenigen Zeilen ausgeführt werden.
evaluate_model(tuned_model)
Confusion Matrix
Dies ist auch ein Verwirrungsprozess, den Sie oft sehen. Es wird als Heatmap ausgegeben.
Die binäre Klassifizierung sieht einsam aus, aber die mehrwertige Klassifizierung macht verschiedene Fehler.
Error
Welches der positiven / negativen Ergebnisse haben Sie für jede tatsächliche Klasse vorhergesagt? Wird angezeigt.
Wenn dies auch eine mehrwertige Klassifizierung ist, können Sie sich nützlicher fühlen.
Dicision Boundary
Es ist eine Entscheidungsgrenze. ** Kreditdatensatz ** ist "Standard oder nicht?" Unausgeglichene Daten.
Daher ist es schwierig, die Grenzen zu erkennen, da die positive Klasse ** sehr wenige ** ist.
Obwohl es sich um eine mehrwertige Klassifizierung handelt, kann die Entscheidungsgrenze in einem Datensatz bestätigt werden, der bis zu einem gewissen Grad ausgeglichen ist.
Das Folgende ist die Entscheidungsgrenze von lightGBM, sodass Sie die gezackte Grenze von ** Baumbasierter Algorithmus ** sehen können.
Dies ist ein Bonus, aber Sie können die Eigenschaften des Algorithmus verstehen, indem Sie die Entscheidungsgrenzen vergleichen.
# | Logistic Regression |
K Nearest Neighbour |
Gaussian Process |
---|---|---|---|
Grenze | |||
Charakteristisch | Wegen des linearen Algorithmus Die Entscheidungsgrenze ist ebenfalls gerade |
Gruppieren von Punkten in der Nähe Grenze |
Achten Sie auf die Glockenkurve Glatte gekrümmte Oberfläche |
Threshold
Precision Recall
Learning Curve
Validation Curve
Für die Regularisierungsparameter für jedes Modell werden Zugsatz- / CV-Satzwerte angezeigt.
Nehmen Sie für LightGBM den Parameter max_depth (Steuern der Tiefe des Baums) auf der horizontalen Achse.
Für dieses Modell
Wenn max_depth = 4 ist, ist die Generalisierungsleistung (CV-Punktzahl) hoch.
Darüber hinaus erhöht sich die Generalisierungsleistung nicht, sie ist jedoch für das Zugset (leicht) übertrainiert.
Daher scheint es besser zu sein, max_depth zu steuern. Es kann für Beurteilungen wie * verwendet werden.
Die horizontale Achse ist für jeden Algorithmus unterschiedlich, da die Parameter, die die Regularisierung steuern, für jedes Modell unterschiedlich sind.
Bei der logistischen Regression lautet der Regularisierungsparameter beispielsweise ** C **, sodass die horizontale Achse C ist.
Für jeden Algorithmus sind die Parameter auf der horizontalen Achse unten zusammengefasst.
Weitere Informationen finden Sie unter Quellcode (https://github.com/pycaret/pycaret/blob/master/classification.py#L2871-L2941). LDA wird nicht unterstützt.
Algorithmus | Horizontale Achse | Algorithmus | Horizontale Achse |
---|---|---|---|
Decision Tree Random Forest Gradient Boosting Extra Trees Classifier Extreme Gradient Boosting Light Gradient Boosting CatBoost Classifier |
max_depth | Logistic Regression SVM (Linear) SVM (RBF) |
C |
Multi Level Perceptron (MLP) Ridge Classifier |
alpha | AdaBoost | n_estimators |
K Nearest Neighbour(knn) | n_neighbors | Gaussian Process(GP) | max_iter_predict |
Quadratic Disc. Analysis (QDA) | reg_param | Naives Bayes | var_smoothing |
Feature Importance
Manifold Learning
Dimensions
from pycaret.datasets import get_data
#Laden Sie den Kreditdatensatz.
#Wenn Sie die Profiloption True angeben, Pandas-EDA durch Profiling läuft.
data = get_data('credit',profile=False)
from pycaret.classification import *
exp1 = setup(data, target = 'default')
compare_models(sort="AUC")
tuned_model = tune_model(estimator='lightgbm')
*Folgende Algorithmen können angegeben werden.docstringAber du kannst es überprüfen.
Algorithmus | Spezifikation des Schätzers | Algorithmus | Spezifikation des Schätzers |
---|---|---|---|
Logistic Regression | 'lr' | Random Forest | 'rf' |
K Nearest Neighbour | 'knn' | Quadratic Disc. Analysis | 'qda' |
Naives Bayes | 'nb' | AdaBoost | 'ada' |
Decision Tree | 'dt' | Gradient Boosting | 'gbc' |
SVM (Linear) | 'svm' | Linear Disc. Analysis | 'lda' |
SVM (RBF) | 'rbfsvm' | Extra Trees Classifier | 'et' |
Gaussian Process | 'gpc' | Extreme Gradient Boosting | 'xgboost' |
Multi Level Perceptron | 'mlp' | Light Gradient Boosting | 'lightgbm' |
Ridge Classifier | 'ridge' | CatBoost Classifier | 'catboost' |
#Zusammenfassung *Ich habe die Methode zur Visualisierung des Modells separat geschrieben, daher möchte ich die Organisation nach Anwendung am Ende abschließen. *Unter der Annahme von Eingabedaten-> Modellierungs-> Ergebnissen möchte ich sie für die folgenden 5 Zwecke gruppieren. * A)Verstehen Sie die Eingabedaten und die Funktionsmenge selbst. * B)Verstehen Sie die Funktionen, die das Modell betrachtet. * C)Beurteilen Sie den Lernstatus des Modells (unzureichendes Lernen, Überlernen). * D)Berücksichtigen Sie die Vorhersageeigenschaften des Modells und die Schwellenwerte, bei denen die Ziele erreicht werden können. * E)Verstehen Sie die Vorhersageleistung und die Vorhersageergebnisse des Modells.
Verwenden | Perspektive | Visualisierung bedeutet |
---|---|---|
A)Verstehen Sie die Eingabedaten und die Funktionsmenge selbst. | Sind positive / negative Daten trennbar? | Manifold Learning |
Das gleiche wie oben | Dimensions | |
B)Verstehen Sie die Funktionen, die das Modell betrachtet. | Welche Funktion ist wichtig? | Feature Importance |
C)Beurteilen Sie den Lernstatus des Modells (unzureichendes Lernen, Überlernen). | Ist es möglich, die Vorhersageleistung zu verbessern, indem die Anzahl der Lernvorgänge erhöht wird? | Learning Curve |
Wird Überlernen durch Regularisierung unterdrückt? | Validation Curve | |
D)Berücksichtigen Sie die Vorhersageeigenschaften des Modells und die Schwellenwerte, bei denen die Ziele erreicht werden können. | Welcher Schwellenwert entspricht der gewünschten Vorhersageeigenschaft? | Threshold |
Welche Beziehung besteht zwischen Präzision und Rückruf? | Precision Recall | |
E)Verstehen Sie die Vorhersageleistung und die Vorhersageergebnisse des Modells. | Was ist AUC (Prediction Performance)? | AUC |
Verstehen Sie die Grenzen der Ergebnisse | Decision Boundary | |
Verstehe, wie man Fehler macht | Confusion Matrix | |
Das gleiche wie oben | Error |
#Schließlich *Vielen Dank für Ihren Aufenthalt bei uns. *Wenn es dir nichts ausmachtWie teilenIch würde mich freuen, wenn Sie könnten. *Wenn es zu einem gewissen Grad eine Antwort gibt, werde ich versuchen, eine Mastery Edition (Parametererklärung usw.) zu schreiben.
Recommended Posts