Получение значений, при которых переменная разделяется последовательно, с помощью дерева решений в scikit learn - PullRequest
0 голосов
/ 20 ноября 2018

Я использую дерево решений для разделения отдельного объекта на сегменты, в которых в качестве ориентира указана Цель.

Мне бы хотелось экспортировать значения, при которых объект разделяется в виде списка или массива.

Для воспроизводимого примера:

from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()

target = iris.target

target[target == 2] = 0  # Convert to binary problem

clf_iris = tree.DecisionTreeClassifier(max_depth = 3)

clf_iris.fit(iris.data[:, 3].reshape(-1,1), target) # Classify using only one feature

dot_data_iris = tree.export_graphviz(clf_iris, out_file=None,  
                         filled=True, rounded=True,  
                         special_characters=True)  

graph_iris = graphviz.Source(dot_data_iris) 

enter image description here

В этом примере я хотел бы получить список / массив с числами:

[0.8, 1.35, 1.75, 1.85]

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете получить доступ к «дереву», обратившись к атрибуту .tree_ вашей модели.Возможно, попробуйте что-то вроде этого:

print(dir(clf_iris.tree_))
print(clf_iris.tree_.threshold)

Я думаю, вы ищете атрибут .threshold, но, как вы можете видеть, есть также такие атрибуты, как .value, которые могут содержать то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...