Как получить проценты вместо значений в дереве решений - PullRequest
0 голосов
/ 21 апреля 2020

Я использую модель классификатора дерева решений. Модель работает отлично. Мне интересно, есть ли способ получить процентное распределение значений вместо количества в каждом узле. Нечто похожее на то, что получается при запуске регрессора дерева решений.

Спасибо за ваше предложение и помощь.

import pandas as pd
import numpy as np
from sklearn import tree
from IPython.display import Image, display
import collections
import pydotplus

indep=india[['home_out', 'i10_health_r_1', 'i10_health_r_2', 'i12_r', 'i12a_r', 'i12b_r', 'i12c_r', 'agecat_r', 'empsta']]
indep.sample(5)
dep=india[['i9_health_r']]

model_tree = tree.DecisionTreeClassifier(criterion='gini', max_depth=10, random_state=0, min_samples_leaf=30)

model_tree.fit(indep, dep)
y_pred = model_tree.predict(indep)
y_pred, dep.i9_health_r.values


dot_data = tree.export_graphviz(model_tree, out_file=None, filled=True, rounded=True,impurity=False,feature_names=['home_out', 'i10_health_r_1',  'i10_health_r_2', 'i12_r', 'i12a_r', 'i12b_r', 'i12c_r', 'agecat_r', 'empsta'])

graph = pydotplus.graph_from_dot_data(dot_data)
display(Image(graph.create_png()))
...