Scikit-Learn 결정 트리에서 결정 규칙 추출
훈련된 결정 트리에서 기본 결정 규칙을 추출하면 결정에 대한 귀중한 통찰력을 얻을 수 있습니다. -만드는 과정. Python을 사용하여 텍스트 목록 형식으로 수행하는 방법은 다음과 같습니다.
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>
사용 예:
<code class="python">tree_model = DecisionTreeClassifier().fit(X, y) tree_to_code(tree_model, feature_names)</code>
이 함수는 트리 구조를 반복적으로 순회하면서 각 분기에 대한 결정 규칙을 인쇄합니다. 리프 노드와 리프가 아닌 노드를 모두 처리하고 트리의 의사 결정 프로세스를 캡슐화하는 유효한 Python 함수를 생성합니다.
위 내용은 Python의 Scikit-Learn 결정 트리에서 결정 규칙을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!