Maison >développement back-end >Tutoriel Python >Comment pouvons-nous extraire par programme des règles de décision des arbres de décision Scikit-Learn tout en évitant les pièges courants ?
Extraire des règles de décision des arbres de décision Scikit-Learn
Dans l'apprentissage automatique, les arbres de décision sont couramment utilisés pour capturer les processus de prise de décision dans le forme de règles de décision. Ces règles peuvent être représentées sous forme de listes textuelles, offrant une compréhension claire de la logique sous-jacente dans un arbre de décision.
Extraire des règles de décision par programme
La fonction Python tree_to_code permet de extraction de règles de décision à partir d'un arbre de décision entraîné. Il prend en entrée l'arbre entraîné et une liste de noms de fonctionnalités, et génère une fonction Python valide qui représente les règles de décision.
<code class="python">def tree_to_code(tree, feature_names): # ...</code>
La fonction générée a la même structure que l'arbre de décision, en utilisant des if imbriqués -else déclarations pour représenter les chemins de décision. Lorsqu'elle fournit les données d'entrée, la fonction renvoie la sortie correspondante.
Exemple de sortie
Pour un arbre de décision qui tente de renvoyer son entrée (un nombre compris entre 0 et 10 ), le code généré pourrait ressembler à :
<code class="python">def tree(f0): if f0 <= 6.0: if f0 <= 1.5: return [[ 0.]] else: # if f0 > 1.5 if f0 <= 4.5: if f0 <= 3.5: return [[ 3.]] else: # if f0 > 3.5 return [[ 4.]] else: # if f0 > 4.5 return [[ 5.]] else: # if f0 > 6.0 if f0 <= 8.5: if f0 <= 7.5: return [[ 7.]] else: # if f0 > 7.5 return [[ 8.]] else: # if f0 > 8.5 return [[ 9.]]</code>
Limitations des autres approches
Certains pièges courants lors de l'extraction de règles de décision à partir d'arbres de décision incluent :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!