La liste est la suivante, mais elle peut être exécutée en quelques lignes en automatisant pycaret.
evaluate_model(tuned_model)
Confusion Matrix
C'est aussi un processus de confusion que vous voyez souvent. Il est émis sous forme de carte thermique.
La classification binaire semble solitaire, mais la classification à valeurs multiples fait diverses erreurs.
Error
Lequel de Positif / Négatif avez-vous fait la prédiction pour chaque classe réelle? Est affiché.
S'il s'agit également d'une classification à valeurs multiples, vous pouvez vous sentir plus utile.
Dicision Boundary
C'est une frontière de décision. ** L'ensemble de données de crédit ** est "par défaut ou non?" Données déséquilibrées.
Par conséquent, il est difficile de voir les limites car la classe Positive est ** très peu nombreuse **.
Bien qu'il s'agisse d'une classification à valeurs multiples, la limite de décision peut être confirmée dans un ensemble de données équilibré dans une certaine mesure.
Ce qui suit est la limite de décision de lightGBM, vous pouvez donc voir la limite dentelée de ** l'algorithme basé sur l'arborescence **.
C'est un bonus, mais vous pouvez comprendre les caractéristiques de l'algorithme en comparant les limites de décision.
# | Logistic Regression |
K Nearest Neighbour |
Gaussian Process |
---|---|---|---|
frontière | |||
Fonctionnalité | En raison de l'algorithme linéaire La frontière de décision est également droite |
Regroupement des points à proximité Frontière |
Soyez conscient de la courbe en cloche Surface incurvée lisse |
Threshold
Precision Recall
Learning Curve
Validation Curve
Les scores de l'ensemble de trains / CV sont affichés pour les paramètres de régularisation de chaque modèle.
Pour LightGBM, prenez le paramètre max_depth (contrôlant la profondeur de l'arbre) sur l'axe horizontal.
Pour ce modèle
Lorsque max_depth = 4, les performances de généralisation (score CV) sont élevées.
Au-dessus, les performances de généralisation n'augmentent pas, mais elles sont (légèrement) surentraînées pour le train.
Par conséquent, il semble préférable de contrôler max_depth. Il peut être utilisé pour le jugement tel que *.
L'axe horizontal est différent pour chaque algorithme car les paramètres qui contrôlent la régularisation sont différents pour chaque modèle.
Par exemple, dans la régression logistique, le paramètre de régularisation est ** C **, donc l'axe horizontal est C.
Pour chaque algorithme, les paramètres sur l'axe horizontal sont résumés ci-dessous.
Voir le code source pour plus d'informations (https://github.com/pycaret/pycaret/blob/master/classification.py#L2871-L2941). LDA n'est pas pris en charge.
algorithme | Axe horizontal | algorithme | Axe horizontal |
---|---|---|---|
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
#Chargez l'ensemble de données de crédit.
#Si vous spécifiez True pour l'option de profil, pandas-EDA en profilant les exécutions.
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')
*Les algorithmes qui peuvent être spécifiés sont les suivants.docstringMais vous pouvez le vérifier.
algorithme | spécification de l'estimateur | algorithme | spécification de l'estimateur |
---|---|---|---|
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' |
#Résumé *J'ai écrit la méthode de visualisation du modèle séparément, je voudrais donc finir de l'organiser par application à la fin. *En supposant que les données d'entrée-> modélisation-> résultats, je voudrais les regrouper pour les 5 objectifs suivants. * A)Comprenez les données d'entrée et la quantité de fonctionnalités elle-même. * B)Comprenez les fonctionnalités que le modèle examine. * C)Juger le statut d'apprentissage du modèle (apprentissage insuffisant, surapprentissage). * D)Tenez compte des caractéristiques prédictives du modèle et des seuils auxquels les objectifs peuvent être atteints. * E)Comprendre les performances de prédiction et les résultats de prédiction du modèle.
Utilisation | Perspective | Visualisation signifie |
---|---|---|
A)Comprenez les données d'entrée et la quantité de fonctionnalités elle-même. | Les données positives / négatives sont-elles séparables? | Manifold Learning |
Comme ci-dessus | Dimensions | |
B)Comprenez les fonctionnalités que le modèle examine. | Quelle caractéristique est importante | Feature Importance |
C)Juger le statut d'apprentissage du modèle (apprentissage insuffisant, surapprentissage). | Est-il possible d'améliorer les performances de prédiction en augmentant le nombre d'apprentissage? | Learning Curve |
Le surapprentissage est-il supprimé par la régularisation? | Validation Curve | |
D)Tenez compte des caractéristiques prédictives du modèle et des seuils auxquels les objectifs peuvent être atteints. | Quelle valeur seuil correspond à la caractéristique de prédiction souhaitée? | Threshold |
Quelle est la relation entre Precision et Recall? | Precision Recall | |
E)Comprendre les performances de prédiction et les résultats de prédiction du modèle. | Qu'est-ce que l'AUC (Prediction Performance)? | AUC |
Comprendre les limites des résultats | Decision Boundary | |
Comprendre comment faire des erreurs | Confusion Matrix | |
Comme ci-dessus | Error |
#finalement *Merci de rester avec nous. *Si ça ne te dérange pasAime partageJe serais heureux si vous le pouviez. *S'il y a une réponse dans une certaine mesure, j'écrirai un chef-d'œuvre (explication des paramètres, etc.).
Recommended Posts