在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中绘制交互式决策树相关推荐

  1. python绘制动态变化的图_用Jupyter Noteb中的matplotlib绘制动态变化图形

    我一直在寻找一个很好的解决方案,其中一个线程正在泵送数据,我们希望Jupyter笔记本不断更新图形,而不阻止任何事情.在查阅了十几个相关答案后,以下是一些发现: 小心 如果你想要一个实时的图表,不要使 ...

  2. python opencv 拍照_在jupyter noteb中使用opencv显示网络摄像头中的图像

    我正在尝试显示网络摄像头拍摄的图像.但是,存储捕获图像的变量是空的.此问题仅在使用网络摄像头时出现,而不是在播放mp4等视频时出现.这个问题是由Python版本引起的吗?我的OpenCV版本是3.4. ...

  3. 在MySQL中note是什么意思_在Jupyter noteb中从MySQL中检索巨大的数据表

    我正在尝试使用Jupyter笔记本从MySQL表中获取1亿行.我尝试过使用pymysql.cursors来打开MySQL连接.实际上,为了加快查询选择过程,我尝试过使用批处理,因为要同时选择所有行是一 ...

  4. python 3d图形控件 可交互_Python和Matplotlib:在Jupyter Noteb中使3D plot交互

    你可以和Plotly图书馆一起去.它可以直接在Jupyter笔记本中渲染交互式3D绘图. 为此,首先需要通过运行以下命令以绘图方式安装:pip install plotly 您可能还希望通过运行以下命 ...

  5. jupyter怎么配置python_python-如何在Jupyter noteb中设置环境变量

    python-如何在Jupyter noteb中设置环境变量 我有一个问题,Jupyter在bashrc文件中看不到env变量,有没有办法在jupyter中加载这些变量或向其中添加自定义变量? 8个解 ...

  6. jupyter中显示行数_如何在Jupyter Noteb中显示所有行

    我有下面的R代码来显示数据(120行).在require(plyr) seed=42 blocksize = 4 N = 120 set.seed(seed) block = rep(1:ceilin ...

  7. python 3d绘图旋转_Python和Matplotlib:在Jupyter Noteb中使3D绘图具有交互性

    我想出的解决方案是在iframe中使用vis.js实例. 这显示了笔记本中的交互式3D图,该图仍可在nbviewer中使用. visjs代码是从3D图形页面上的示例代码中借用的 一个小笔记本来说明这一 ...

  8. jupyter调用py文件_解决Jupyter notebook中.py与.ipynb文件的import问题

    在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中 ...

  9. cad怎么画立体图形教学_怎么在CAD中绘制三维立体图

    三维立体图形在CAD中是很方便绘制的,并且方法也有很多,我们掌握一种就够了.那么大家知道怎么在CAD中绘制三维立体图吗?下面是学习啦小编整理的怎么在CAD中绘制三维立体图的方法,希望能给大家解答. 在 ...

最新文章

  1. Eclipse的java代码出错:The import org.apache cannot be resolved
  2. Nuke编辑工具包新版 Cara VR 插件发布
  3. 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎
  4. 比学习新技术更重要的是思维的改变
  5. html优美界面左侧下拉,一组时尚的侧边栏菜单和下拉列表UI设计
  6. LeetCode 1737. 满足三条件之一需改变的最少字符数(计数)
  7. perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
  8. iphone已停用怎么解锁_iPhone多次输错密码已停用,连接iTunes,怎么办?
  9. 2014.10.18笔记
  10. 梁肇新《编程高手箴言》书评
  11. 机器视觉技术概述-技术难点-市场前景
  12. 【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】
  13. 国密SM2非对称加密算法(对本地文件的加解密)代码展示
  14. python批量图片转pdf,将TIFF图像批量转换为PDF ImageMagick Python
  15. 最大子段和问题【思路及实现】
  16. Dart 2.18 正式发布
  17. 手机格局再变,诺基亚和传音入前十,魅族和中兴出局
  18. 简明Jieba中文分词教程(分词、关键词提取、词性标注、计算位置)
  19. 少儿编程pythonppt-五年级的孩子学编程有没有意义?
  20. java 吸血鬼数字_java编程思想之吸血鬼数字

热门文章

  1. 钱宝网500亿的“庞氏骗局”崩塌始末
  2. swap (虚拟内存)
  3. 最新小程序转化app的方法神操作
  4. 11.Blinn-Phong高光
  5. MVC发布出现:未能将文件bin\xxx.xml 复制到 obj\Release\PackageTmp\bin\xxx.xml,未能找到文件
  6. linux aria2界面,如何使用aria2及webui
  7. Unity简单实现电量、充电状态显示
  8. 企业如何做好邮件归档稽核
  9. MATLAB boxplot 修改箱子线型、设置箱子颜色、不同长度数据画箱线图、中位线改成黑色、箱线图虚线改实线
  10. elementui表格如何自定义表头内容,让表头变得更美观