机器学习中例子 可能因为python3出现错误 求指导

图片说明
附代码

 from numpy import *
import operator
import matplotlib
import matplotlib.pyplot as plt
def file2matrix(filename):
    fr = open(filename)
    arrayOLines = fr.readlines() #逐行读取文件
    numberOfLines = len(arrayOLines) #获取文件的行数
    returnMat = zeros((numberOfLines,3)) #创建一个矩阵
    classLabelVector = []
    index = 0
    for line in arrayOLines:
        line = line.strip() #删除所有换行符
        listFromLine = line.split('\t') #通过指定分割符对字符串切分
        returnMat[index,:]=listFromLine[0:3]
        classLabelVector.append((listFromLine[-1]))
        index+=1
    return returnMat,classLabelVector
datingDataMat,datingLabels = file2matrix('datingTestSet.txt')
#print(datingDataMat,datingLabels)
fig = plt.figure()
ax = fig.add_subplot(111)
'''
''按照列进行划分
'''
ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15.0*array(datingLabels),15.0*array(datingLabels))
plt.show()

错误提示
'multiply' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')

file2matrix函数里的
classLabelVector.append(listFromLine[-1])应该改成classLabelVector.append(int(listFromLine[-1]))

同时,下面调用函数的时候应该是'datatingTestSet2',楼主应该是粗心,没有看到2,datatingTestSet2里的最后一列就已经全是数字了。

http://corpus.hubwiz.com/1010000002996162.html