首页 > 解决方案 > dtreeviz 替换绘图,回归太多点

问题描述

如何用我的自定义绘图函数替换 dtreeviz 的节点图?

或者:我想用 2d 直方图替换 dtreeviz-plots:y-axis=y-values, x-axis: values from the split feature, grid over the plot,每个网格单元获取内部样本的数量为颜色。(如果已经在某些包中实现了也很好)在 matplotlib 中,调用该绘图函数hist2d()


我使用 sklearn 学习回归决策树并使用 dtreeviz 可视化结果。

MWE:(见https://github.com/parrt/dtreeviz#regression-decision-tree

from sklearn.datasets import *
from sklearn import tree
from dtreeviz.trees import *

regr = tree.DecisionTreeRegressor(max_depth=2)
boston = load_boston()
regr.fit(boston.data, boston.target)

viz = dtreeviz(regr,
               boston.data,
               boston.target,
               target_name='price',
               feature_names=boston.feature_names)
              
viz.view()       

在此处输入图像描述

现在我的问题中确实有数百万个样本,结果.svg显示速度非常慢(读作“不可能”)。我只能使用下采样来使用该可视化。

示例 2d 直方图:

https://matplotlib.org/gallery/scales/power_norm.html#sphx-glr-gallery-scales-power-norm-py

(来自https://matplotlib.org/gallery/scales/power_norm.html#sphx-glr-gallery-scales-power-norm-py

标签: pythonmatplotlibdecision-treedtreeviz

解决方案


抱歉,但您必须更改软件,因为它并非设计为具有即插即用节点图形。说服链中的所有工具一起工作是极其困难的,即使没有这种灵活性。


推荐阅读