可视化多输出决策树回归边界

时间:2020-08-12 12:51:08

标签: python matplotlib machine-learning scikit-learn decision-tree

我正试图绘制受过训练的决策树回归器的决策边界,如sklearn示例(https://scikit-learn.org/stable/auto_examples/tree/plot_iris_dtc.html#sphx-glr-auto-examples-tree-plot-iris-dtc-py)所示

x_min, x_max = X[:, 0].min() - 0.25, X[:, 0].max() + 0.25
y_min, y_max = X[:, 1].min() - 0.25, X[:, 1].max() + 0.25
xx, yy = np.meshgrid(np.arange(x_min, x_max, plot_step),
                        np.arange(y_min, y_max, plot_step))
plt.tight_layout(h_pad=0.5, w_pad=0.5, pad=2.5)

Z = regr.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
cs = plt.contourf(xx, yy, Z, cmap=plt.cm.RdYlBu)

我面临的问题是我的预测输出(Z)是二维的,因此我的值是plt.contourf()对Z的期望值的两倍。

ValueError: cannot reshape array of size 78408 into shape (198,198)

我尝试过的是每隔两行Z绘制一次,然后绘制-可以正常工作-但会导致边界图的可读性不高(我认为是“正确的”)。

关于如何使绘图正确工作的任何想法?谢谢!

0 个答案:

没有答案