Python 根据最大深度绘制决策树训练/测试精度

Python 根据最大深度绘制决策树训练/测试精度,python,plot,decision-tree,Python,Plot,Decision Tree,我试图从一个决策树模型中绘制我的训练和测试集的准确性。因为我是python新手,所以我不确定应该使用哪种类型的图形包。我使用了一个简单的for循环来获得打印的结果,但不确定如何绘制它 谢谢 我的代码: for x in max_depth_list : dtc =DecisionTreeClassifier(max_depth=x) dtc.fit(train_x,train_y) train_z = dtc.predict(train_x) train_z_prob = d

我试图从一个决策树模型中绘制我的训练和测试集的准确性。因为我是python新手,所以我不确定应该使用哪种类型的图形包。我使用了一个简单的for循环来获得打印的结果,但不确定如何绘制它

谢谢

我的代码:

for x in max_depth_list :

  dtc =DecisionTreeClassifier(max_depth=x)
  dtc.fit(train_x,train_y)

  train_z = dtc.predict(train_x)
  train_z_prob = dtc.predict_proba(train_x)[:,1]

  test_z = dtc.predict(test_x)
  test_z_prob = dtc.predict_proba(test_x)[:,1]

  print("split: {}".format(x))
  print("model accuracy: {}".format(accuracy_score(test_y, test_z)))
期望图

您发布的图像中的绘图很可能是使用
matplotlib.pyplot
模块创建的。假设您已经导入了其他必要的依赖项,您可能可以通过执行类似的操作来绘制类似的图形:

将numpy导入为np
将matplotlib.pyplot作为plt导入
最大深度列表=[1,2,3,4]
训练错误=[]记录每个模型的训练错误
test_errors=[]记录每个模型的测试错误
对于最大深度列表中的x:
dtc=DecisionTreeClassifier(最大深度=x)
安装故障诊断码(x列、y列)
列车×z=故障诊断码预测(列车×)
test_z=dtc.predict(test_x)
序列错误。追加(精度分数(序列x、序列z))
测试错误。附加(准确性分数(测试y,测试z))
x=np.arange(len(最大深度列表))+1#为绘图创建域
plt.plot(x,train_errors,label='Training Error')#绘制域上的训练错误
plt.plot(x,test_errors,label='Testing Error')#绘制域上的测试错误
plt.xlabel(“最大深度”)#标签x轴
plt.ylabel(“总误差”)#标签y轴
plt.legend()#将打印标签显示为图例
plt.plot()#显示图形
我也是这个社区的新手,所以我无法向其他用户提供建议。然而,格式化源代码以获得更好的可读性和演示可能是一个好主意。只是一个提醒


我希望这有帮助。如果有什么不清楚的地方,请告诉我。

您的问题是什么?您只是问应该使用哪个绘图库吗?如果是这样的话,那显然是离题了。见:。谢谢!这真的很有帮助。我试着复制我的代码,然后意识到我可以将其格式化为代码,但除了把三个单引号作为开头和结尾外,我什么也没想出来。下次我会试试的。很高兴它有用!是的,stack overflow的系统是基于markdown的,它允许使用代码和公式进行多种格式设置。这非常容易学:我建议你看看。