Я строю дерево решений, используя пакет python для pydot и graphviz. Как и в R, мы можем показать график, используя значение dicrete, но здесь я борюсь с проблемой непрерывной переменной. Есть ли другой пакет, который может помочь мне получить подобный график как в R для категориальной переменной со значением discete в узлах вместо непрерывного.
Использование категориальной переменной для построения дерева решений с 10 независимыми переменными и целевой переменной. Я связал все категориальные переменные и использовал одно горячее кодирование для преобразования их в числовую переменную. Затем я использовал pydot и graphviz для построения дерева. Но Мне нужно это как R вместо разделения узлов, показанных / выполненных по непрерывным данным. Я хочу, чтобы это делалось на дискретных значениях из столбцов, которые я создал. Я встречал здесь сообщения, где говорится, что sklearn не поддерживает эту функцию до сих пор. Есть ли другой способ решить эту проблему заговора.
Биннинг часть
def weight_bin(x):
if x>50:
type="Greaterthan50"
elif 35< x <= 50:
type="Between 35-50"
elif 20< x <=35:
type="Between 20-35"
elif 0<x<=20:
type="Less than 20"
else:
type="Ignore"
return type
list_name1=list(map(weight_bin,data.WEIGHT_KG))
data['Weight_Bin']=list_name1
сюжетная часть
feature_cols = ['ISO_COUNTRY_CODE', 'NAS_GT_2', 'INFEED_NAME', 'PRODUCT_CODE_PNL_new','Barcode_Read','Barcode_Valid','EDI_Available','Scanning Method','Sorting_Type','Weight_Bin','NO_ADDED_SERVICES_new']
X = data_subset[feature_cols] # Features
y = data_subset.Rejection_Flag # Target variable
dtree=DecisionTreeClassifier(criterion = "gini", random_state = 100,
max_depth=8, min_samples_leaf=4)
one_hot_data = pd.get_dummies(X,drop_first=True)
clf =dtree.fit(one_hot_data, y)
target_names=list(data_subset.Rejection_Flag.unique())
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=one_hot_data.columns,
class_names=target_names)
# Draw graph
graph = pydotplus.graph_from_dot_data(`enter code here`dot_data)
# Show graph
Image(graph.create_png())
graph.write_png("tree5.png")