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 ?

Mary-Kate Olsen
Libérer: 2024-10-26 07:27:02
original
894 Les gens l'ont consulté

How Can We Programmatically Extract Decision Rules from Scikit-Learn Decision Trees While Avoiding Common Pitfalls?

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>
Copier après la connexion

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>
Copier après la connexion

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 :

  • Utilisation par erreur de tree_.threshold == -2 pour identifier les nœuds feuilles (pas toujours fiables)
  • Y compris plusieurs instructions if-else inutiles dans la fonction récursive
  • Crassement dû à la feuille nœuds ayant une valeur de caractéristique de -2

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!