> Modules non standards > Scikit-Learn > Arbres de Décision
Arbres de Décision
Paramètres de tree.DecisionTreeClassifier :
- criterion = 'gini' : critère pour choisir la meilleur partition d'un noeud : gini ou entropy (le défaut est gini).
- max_depth = None : profondeur maximum de l'arbre (par défaut, None = pas de limite). Attention, cela peut produit des très arbres (et overfittés), à éviter.
- min_samples_split = 2 : nombre minimum d'individus sur un noeud pour refaire un split (défaut est 2, mais en général, l'augmenter).
- min_samples_leaf = 1 : nombre minimum qu'un noeud peut avoir pour être une feuille (sinon, on ne splitte pas le noeud parent). Défaut est 1, mais on peut l'augmenter. Attention, si c'est un flottant, c'est une fraction minimum du noeud parent.
- max_leaf_nodes = None : nombre maximum de feuilles (pas de limite par défaut).
- class_weight : {0: 0.2, 1: 0.8} : poids respectifs de chaque classe (ici 0 et 1), utile quand les classes n'ont pas le même nombre d'individus (défaut est 1 pour tous les poids).
- ccp = 0 : paramètre pour l'élagage des arbres pour éviter l'overfitting. Plus il augmente, plus il y aura d'élagage. Le défaut est 0 (pas d'élagage).
- random_state = None : fixer une valeur pour avoir des résultats toujours identiques.
Méthodes et champs :
- myTree.get_depth() : la profondeur de l'arbre.
- myTree.get_n_leaves() : le nombre de feuilles de l'arbre.
- myTree.score(X, y) : l'accuracy en comparant la prédiction à partir de X et les valeurs dans y.
- myTree.predict_proba(X) : matrice n x p avec les différentes probabilités d'appartenance à chaque classe (en colonne) de chaque individu (en ligne).
- myTree.feature_importances_ : l'importance de chaque feature.
- myTree.get_params() : les paramètres qui ont été donnés au classifier.
affichage de l'arbre : tree.plot_tree(myTree, feature_names = ['setosa', 'versicolor', 'virginica'], ax = pyplot.gca())
Arbres de régression :
- fonctions très similaires aux arbres de décision.
- myTree = tree.DecisionTreeRegressor(criterion = 'squared_error', max_depth = 10) : le paramètre criterion est ici par défaut squared_error (peut aussi être absolute_error (moyenne des valeurs absolues des erreurs) ou d'autres paramètres).
- max_depth, min_samples_split, min_samples_leaf, max_leaf_nodes, ccp_alpha, random_state : sont similaires.
- predict(), get_depth(), get_n_leaves(), get_params() : sont similaires.
- myTree.score(X, y) : donne le coefficient de détermination (R2) entre la prédiction et la valeur réelle.
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert