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

时间:2020-02-04 00:13:28

标签: python plot decision-tree

我试图从决策树模型中绘制出火车和测试仪的准确性。由于我不熟悉python,因此我不确定应该使用哪种类型的图形包。我使用了一个简单的for循环来获取打印结果,但不确定[我如何绘制它]。

谢谢!

我的代码:

for (i = 0; i < containerMain.length; i++) {
       containerMain[i].scrollLeft = 0;
       containerMain[i].scrollTop = 0;
   }

所需图形 enter image description here

1 个答案:

答案 0 :(得分:0)

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

import numpy as np
import matplotlib.pyplot as plt

max_depth_list = [1,2,3,4]

train_errors = [] # Log training errors for each model
test_errors = [] # Log testing errors for each model

for x in max_depth_list:
    dtc = DecisionTreeClassifier(max_depth=x) 
    dtc.fit(train_x,train_y)
    train_z = dtc.predict(train_x)
    test_z = dtc.predict(test_x)
    train_errors.append(accuracy_score(train_x, train_z))
    test_errors.append(accuracy_score(test_y, test_z))

x = np.arange(len(max_depth_list)) + 1 # Create domain for plot
plt.plot(x, train_errors, label='Training Error') # Plot training error over domain
plt.plot(x, test_errors, label='Testing Error') # Plot testing error over domain
plt.xlabel('Maximum Depth') # Label x-axis
plt.ylabel('Total Error') # Label y-axis
plt.legend() # Show plot labels as legend
plt.plot() # Show graph

我也是该社区的新手,因此我无权向其他用户提供建议。但是,最好格式化源代码以提高可读性和表示能力。只是抬起头。

我希望这会有所帮助。让我知道是否有任何不清楚的地方。