Wie extrahiere ich Entscheidungsregeln aus Scikit-Learn-Entscheidungsbäumen in Python?

Susan Sarandon
Freigeben: 2024-10-26 12:18:03
Original
850 Leute haben es durchsucht

How to Extract Decision Rules from Scikit-Learn Decision Trees in Python?

Entscheidungsregeln aus Scikit-Learn-Entscheidungsbäumen extrahieren

Das Extrahieren der zugrunde liegenden Entscheidungsregeln aus einem trainierten Entscheidungsbaum kann wertvolle Einblicke in seine Entscheidung liefern -Herstellungsprozess. So machen Sie es in einem Textlistenformat mit Python.

Python-Funktion:

<code class="python">from sklearn.tree import _tree

def tree_to_code(tree, feature_names):
    tree_ = tree.tree_
    feature_name = [
        feature_names[i] if i != _tree.TREE_UNDEFINED else "undefined!"
        for i in tree_.feature
    ]
    print("def tree({}):".format(", ".join(feature_names)))

    def recurse(node, depth):
        indent = "  " * depth
        if tree_.feature[node] != _tree.TREE_UNDEFINED:
            name = feature_name[node]
            threshold = tree_.threshold[node]
            print("{}if {} <= {}:".format(indent, name, threshold))
            recurse(tree_.children_left[node], depth + 1)
            print("{}else:  # if {} > {}".format(indent, name, threshold) + depth)
            recurse(tree_.children_right[node], depth + 1)
        else:
            print("{}return {}".format(indent, tree_.value[node]))

    recurse(0, 1)</code>
Nach dem Login kopieren

Beispielverwendung:

<code class="python">tree_model = DecisionTreeClassifier().fit(X, y)
tree_to_code(tree_model, feature_names)</code>
Nach dem Login kopieren

Diese Funktion durchläuft iterativ die Baumstruktur und druckt Entscheidungsregeln für jeden Zweig aus, wenn er auf sie trifft. Es verarbeitet sowohl Blattknoten als auch Nicht-Blattknoten und generiert eine gültige Python-Funktion, die den Entscheidungsprozess des Baums kapselt.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Entscheidungsregeln aus Scikit-Learn-Entscheidungsbäumen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!