我正试图绘制受过训练的决策树回归器的决策边界,如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绘制一次,然后绘制-可以正常工作-但会导致边界图的可读性不高(我认为是“正确的”)。
关于如何使绘图正确工作的任何想法?谢谢!