在做《机器学习实战》第九章的实验,使用Tkinter和matplotlib绘制回归树和模型树时,代码没有问题但是抛出了如下错误
ValueError: Masked arrays must be 1-D
Fatal Python error: PyEval_RestoreThread: NULL tstate
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.
在网上找了很久也没找到答案,最后发现是scatter语句出现了问题:
原来的scatter语句:
reDraw.a.scatter(reDraw.rawDat[:,0], reDraw.rawDat[:,1], s=5)
应改为:
reDraw.a.scatter([reDraw.rawDat[:,0]], [reDraw.rawDat[:,1]], s=5)
不懂得可以自己打印一下reDraw.rawDat[:,0]和reDraw.rawDat[:,1]看一看
转载自 https://blog.csdn.net/qq_34562093/article/details/78759923
《机器学习实战》及随书源代码下载请到
https://download.csdn.net/download/elfffin/11252425
另外转载者elfffin备注:
本人使用的Python 版本为2.7.
修改以后GUI界面绘制的图片便跃然出现了。另外,其中的
reDraw.canvas.show()
已经过时,应改为
reDraw.canvas.draw()