python - 在 scikit learn 中获取决策树连续拆分变量的值
问题描述
我正在使用决策树将单个特征拆分为以目标为指导的段。
我想要的是将特征拆分为列表或数组的值导出。
对于一个可重现的例子:
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)
在这个例子中,我想得到一个带有数字的列表/数组:
[0.8, 1.35, 1.75, 1.85]
解决方案
您可以通过访问.tree_
模型的属性来访问“树”。也许尝试这样的事情:
print(dir(clf_iris.tree_))
print(clf_iris.tree_.threshold)
我认为您正在寻找该.threshold
属性,但正如您所看到的,还有一些属性.value
可能包含您需要的内容。
推荐阅读
- angular - 在 apache .htaccess 上未检测到 Prerender.io 请求令牌
- git - git:当前分支和分支创建之间的差异
- python - 删除反应频道 | 不和谐.py
- vue.js - Vue 如何实现 webpack 和 service-workers
- python - python中的简单机器人,我想我得到了'or'运算符,还有其他一些东西搞砸了
- java - 当我尝试更新/编辑 Sqlite 数据库 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 可以帮助我时,我遇到了这个错误
- node.js - 如何在节点 js 中读取图像文件?
- thymeleaf - 带有百里香叶的对象没有绑定资源
- .net - SeriLog:如何压缩旋转的文件日志并删除旧的压缩日志?
- matlab - 如何使用 DSP EMIF 唱 MATLAb