【发布时间】:2020-12-12 09:37:13
【问题描述】:
有没有办法在 Jupyter Notebook 上“分解”以下树?它是一个简单的决策树,但我不知道是什么让它看起来崩溃了。以下是相关代码 sn-ps 和树本身。
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
from matplotlib import pyplot as plt
plt.rcParams['figure.figsize'] = (10, 8)
import numpy as np
import pandas as pd
from sklearn.preprocessing import LabelEncoder
import collections
from sklearn.model_selection import GridSearchCV, cross_val_score
from sklearn.tree import DecisionTreeClassifier, plot_tree
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
#some more code
# Some feature values are present in train and absent in test and vice-versa.
y = df_train['Should_Vacation_there']
df_train, df_test = intersect_features(train=df_train, test=df_test)
df_train
#training a decision tree
dt = DecisionTreeClassifier(criterion='entropy', random_state=17)
dt.fit(df_train, y);
#displaying the tree
plot_tree(dt, feature_names=df_train.columns, filled=True,
class_names=["Should go there", "Shouldn't go there"]);
【问题讨论】:
-
检查您绘制图形的轴的大小。您可以增加
matplotlib.pyplot.figure中的figsize参数以增加轴的大小。类似plt.figure(figsize=(10, 5))。 -
一种方法是使用 Graphviz。查看here。
-
@NikhilKumar 这可能无法完全解决问题。 Scikit-learn 对决策树的可视化效果很差。
标签: python scikit-learn decision-tree