PYTHON建模——决策树用户分群 CART回归树图
from sklearn import tree
import pydotplus
from IPython.display import Image
from six import StringIO
Dtree = tree.DecisionTreeRegressor(max_depth=3,min_samples_leaf=500,min_samples_split=5000)
dtree = Dtree.fit(x,y)#变量与标签
with open("dt.dot","w")as f:
tree.export_graphviz(dtree,out_file = f)
dot_data = StringIO()
tree.export_graphviz(dtree,out_file=dot_data,
feature_names = x.columns,
class_names = ['y'],
filled = True,rounded = True,
special_characters = True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
注意处理缺失值。
CART决策树也称分类树
变量涉及敏感所以有了万恶之源
数据中标签记为y,0为好客户,1为坏客户。
决策树将用户群氛围6个群体,使得6个子群之间的差异足够大。
CART回归树的节点预测属性value表示当前子群中目标变量的均值。而当前案例中,目标变量的均值等价于标签为1的样本占当前子群样本的比例。图中可以看出,决策树将原始样本群划分为3个子群,其负样本占比依次为0.072、0.103、0.178、0.096、0.127、0.219。
对于这类直接建模效果不好的数据集,通过决策树分层后在其子空间建模,有可能获取更好的结果。
摘抄自《智能风控》