sklearn语法错误,尽管存在工作代码



我在Python 2.7中有以下代码,其目标是使用numpy、pylab和sklearn创建SVM的结果图:

import numpy, pylab
from sklearn.svm import SVC
DataTable = numpy.genfromtxt('path/data.csv',delimiter=',',dtype=None)[1:]
DataPoints,TruthValues = (DataTable[:,[1,2] ]).astype(numpy,float), (DataTable[:,0]=='1')
TrainedSVC = SVC(C = 100, kernel = 'linear').fit(DataPoints,TruthValues)
x_max,y_max,x_min,y_min = DataPoints[:, 0].max(),DataPoints[:, 1].max(),DataPoints[:, 0].min(),DataPoints[:, 1].min()
xx, yy = numpy.meshgrid(numpy.arange(x_min, x_max, (int(x_max)-int(x_min)/200.0), numpy.arange(y_min, y_max, (int(y_max)-int(y_min)/200.0))
GridEvaluation = TrainedSVC.predict(numpy.c_[xx.ravel(),yy.ravel()]).reshape(xx.shape)
pylab.pcolormesh(xx, yy, GridEvaluation, alpha=0.1)
pylab.scatter(DataPoints[:, 0], DataPoints[:, 1], c=TruthValues)
pylab.xlabel('crp');pylab.ylabel('income');pylab.show()

代码最初发布在这个博客上,它很好地解释了代码的每一部分。我保留了与示例代码中基本相同的所有内容,但在GridEvaluation = TrainedSVC.predict(numpy.c_[xx.ravel(),yy.ravel()]).reshape(xx.shape)行上仍然出现语法错误

让我困惑的是,尽管上面的博客文章中出现的错误是逐字复制的,但这个错误并没有出现在上面。如果有帮助的话,我将使用Python的Anaconda发行版和Spyder IDE。

更新:考虑到下面的答案,我现在得到了回应:

TypeError: unsupported operand type(s) for -: 'str' and 'str'

在线:

xx, yy = numpy.meshgrid(numpy.arange(int(x_min), int(x_max), (int(x_max)-int(x_min)/200.0)), numpy.arange(y_min, y_max, (int(y_max)-int(y_min)/200.0)))

我想您在上一行中转换为int时遗漏了一些括号。

xx, yy = numpy.meshgrid(numpy.arange(x_min, x_max, (int(x_max)-int(x_min)/200.0)), numpy.arange(y_min, y_max, (int(y_max)-int(y_min)/200.0)))

最新更新