#python #matplotlib #decision-tree #dtreeviz
#python #matplotlib #дерево решений #dtreeviz
Вопрос:
Как я могу заменить графики узлов из dtreeviz пользовательской функцией plot от меня?
В качестве альтернативы: я хочу заменить dtreeviz-графики 2d-гистограммой: ось y = значения y, ось x: значения из функции разделения, сетка над графиком, каждая ячейка сетки получает количество выборок внутри в виде цвета. (Если это уже реализовано в каком-то пакете, также было бы здорово) В 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 )
Ответ №1:
Извините, но вам придется изменить программное обеспечение, поскольку оно не было разработано для использования фигур узлов plug-and-play. Было чрезвычайно сложно убедить все инструменты в цепочке работать вместе, даже не допуская такой гибкости.
Комментарии:
1. Не беспокойтесь, я уже очень доволен тем, что работает — я боялся, что это будет сложно. Отличная работа!
2. Спасибо! рад быть полезным.