Bagaimana untuk mengekstrak Peraturan Keputusan daripada Scikit-Learn Decision Trees dalam Python?

Susan Sarandon
Lepaskan: 2024-10-26 12:18:03
asal
907 orang telah melayarinya

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

Mengekstrak Peraturan Keputusan daripada Scikit-Learn Decision Trees

Mengekstrak peraturan keputusan asas daripada pokok keputusan yang terlatih boleh memberikan pandangan berharga tentang keputusannya -proses membuat. Begini cara melakukannya dalam format senarai teks menggunakan Python.

Fungsi Python:

<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>
Salin selepas log masuk

Contoh Penggunaan:

<code class="python">tree_model = DecisionTreeClassifier().fit(X, y)
tree_to_code(tree_model, feature_names)</code>
Salin selepas log masuk

Fungsi ini secara berulang melintasi struktur pokok, mencetak peraturan keputusan untuk setiap cawangan apabila ia menghadapinya. Ia mengendalikan kedua-dua nod daun dan nod bukan daun serta menjana fungsi Python yang sah yang merangkumi proses membuat keputusan pokok.

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak Peraturan Keputusan daripada Scikit-Learn Decision Trees dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan