juyter显示决策树图形_在Jupyter Noteb中绘制交互式决策树
在Jupyter笔记本中使用d3js更新了可折叠图的答案
笔记本第一个单元格的开始%%html
.node circle {
cursor: pointer;
stroke: #3182bd;
stroke-width: 1.5px;
}
.node text {
font: 10px sans-serif;
pointer-events: none;
text-anchor: middle;
}
line.link {
fill: none;
stroke: #9ecae1;
stroke-width: 1.5px;
}
笔记本第一个单元格结束
笔记本第二个单元格的开始
^{pr2}$
笔记本第二个单元格结束
graph2.json的内容{
"name": "flare",
"children": [
{
"name": "analytics"
},
{
"name": "graph"
}
]
}
图表
单击flare,它是根节点,其他节点将崩溃
参考文献
旧答案
我在Jupyter笔记本中找到了用于交互式可视化决策树的this tutorial here。在
安装graphviz
这有两个步骤:
步骤1:使用pip安装graphviz for pythonpip install graphviz
第二步:然后你必须单独安装graphviz。检查这个link。
然后根据您的系统操作系统,您需要相应地设置路径:
对于windows和Mac OS check this link。
对于Linux/Ubuntucheck this link
安装ipywidgets
使用pippip install ipywidgets
jupyter nbextension enable --py widgetsnbextension
使用condaconda install -c conda-forge ipywidgets
现在来看看代码from IPython.display import SVG
from graphviz import Source
from sklearn.datasets load_iris
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from sklearn import tree
from ipywidgets import interactive
from IPython.display import display
加载数据集,例如本例中的iris datasetdata = load_iris()
#Get the feature matrix
features = data.data
#Get the labels for the sampels
target_label = data.target
#Get feature names
feature_names = data.feature_names
**绘制决策树的函数**def plot_tree(crit, split, depth, min_split, min_leaf=0.17):
classifier = DecisionTreeClassifier(random_state = 123, criterion = crit, splitter = split, max_depth = depth, min_samples_split=min_split, min_samples_leaf=min_leaf)
classifier.fit(features, target_label)
graph = Source(tree.export_graphviz(classifier, out_file=None, feature_names=feature_names, class_names=['0', '1', '2'], filled = True))
display(SVG(graph.pipe(format='svg')))
return classifier
调用函数decision_plot = interactive(plot_tree, crit = ["gini", "entropy"], split = ["best", "random"] , depth=[1, 2, 3, 4, 5, 6, 7], min_split=(0.1,1), min_leaf=(0.1,0.2,0.3,0.5))
display(decision_plot)
你会得到下面的图表
您可以通过更改以下值来交互更改输出单元格中的参数
相同数据但参数不同的另一个决策树
参考文献:
juyter显示决策树图形_在Jupyter Noteb中绘制交互式决策树相关推荐
- python绘制动态变化的图_用Jupyter Noteb中的matplotlib绘制动态变化图形
我一直在寻找一个很好的解决方案,其中一个线程正在泵送数据,我们希望Jupyter笔记本不断更新图形,而不阻止任何事情.在查阅了十几个相关答案后,以下是一些发现: 小心 如果你想要一个实时的图表,不要使 ...
- python opencv 拍照_在jupyter noteb中使用opencv显示网络摄像头中的图像
我正在尝试显示网络摄像头拍摄的图像.但是,存储捕获图像的变量是空的.此问题仅在使用网络摄像头时出现,而不是在播放mp4等视频时出现.这个问题是由Python版本引起的吗?我的OpenCV版本是3.4. ...
- 在MySQL中note是什么意思_在Jupyter noteb中从MySQL中检索巨大的数据表
我正在尝试使用Jupyter笔记本从MySQL表中获取1亿行.我尝试过使用pymysql.cursors来打开MySQL连接.实际上,为了加快查询选择过程,我尝试过使用批处理,因为要同时选择所有行是一 ...
- python 3d图形控件 可交互_Python和Matplotlib:在Jupyter Noteb中使3D plot交互
你可以和Plotly图书馆一起去.它可以直接在Jupyter笔记本中渲染交互式3D绘图. 为此,首先需要通过运行以下命令以绘图方式安装:pip install plotly 您可能还希望通过运行以下命 ...
- jupyter怎么配置python_python-如何在Jupyter noteb中设置环境变量
python-如何在Jupyter noteb中设置环境变量 我有一个问题,Jupyter在bashrc文件中看不到env变量,有没有办法在jupyter中加载这些变量或向其中添加自定义变量? 8个解 ...
- jupyter中显示行数_如何在Jupyter Noteb中显示所有行
我有下面的R代码来显示数据(120行).在require(plyr) seed=42 blocksize = 4 N = 120 set.seed(seed) block = rep(1:ceilin ...
- python 3d绘图旋转_Python和Matplotlib:在Jupyter Noteb中使3D绘图具有交互性
我想出的解决方案是在iframe中使用vis.js实例. 这显示了笔记本中的交互式3D图,该图仍可在nbviewer中使用. visjs代码是从3D图形页面上的示例代码中借用的 一个小笔记本来说明这一 ...
- jupyter调用py文件_解决Jupyter notebook中.py与.ipynb文件的import问题
在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中 ...
- cad怎么画立体图形教学_怎么在CAD中绘制三维立体图
三维立体图形在CAD中是很方便绘制的,并且方法也有很多,我们掌握一种就够了.那么大家知道怎么在CAD中绘制三维立体图吗?下面是学习啦小编整理的怎么在CAD中绘制三维立体图的方法,希望能给大家解答. 在 ...
最新文章
- Eclipse的java代码出错:The import org.apache cannot be resolved
- Nuke编辑工具包新版 Cara VR 插件发布
- 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎
- 比学习新技术更重要的是思维的改变
- html优美界面左侧下拉,一组时尚的侧边栏菜单和下拉列表UI设计
- LeetCode 1737. 满足三条件之一需改变的最少字符数(计数)
- perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
- iphone已停用怎么解锁_iPhone多次输错密码已停用,连接iTunes,怎么办?
- 2014.10.18笔记
- 梁肇新《编程高手箴言》书评
- 机器视觉技术概述-技术难点-市场前景
- 【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】
- 国密SM2非对称加密算法(对本地文件的加解密)代码展示
- python批量图片转pdf,将TIFF图像批量转换为PDF ImageMagick Python
- 最大子段和问题【思路及实现】
- Dart 2.18 正式发布
- 手机格局再变,诺基亚和传音入前十,魅族和中兴出局
- 简明Jieba中文分词教程(分词、关键词提取、词性标注、计算位置)
- 少儿编程pythonppt-五年级的孩子学编程有没有意义?
- java 吸血鬼数字_java编程思想之吸血鬼数字
热门文章
- 钱宝网500亿的“庞氏骗局”崩塌始末
- swap (虚拟内存)
- 最新小程序转化app的方法神操作
- 11.Blinn-Phong高光
- MVC发布出现:未能将文件bin\xxx.xml 复制到 obj\Release\PackageTmp\bin\xxx.xml,未能找到文件
- linux aria2界面,如何使用aria2及webui
- Unity简单实现电量、充电状态显示
- 企业如何做好邮件归档稽核
- MATLAB boxplot 修改箱子线型、设置箱子颜色、不同长度数据画箱线图、中位线改成黑色、箱线图虚线改实线
- elementui表格如何自定义表头内容,让表头变得更美观