fighting--sky 2016-10-20 12:42 采纳率: 100%
浏览 12909
已采纳

机器学习中例子 可能因为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')

  • 写回答

2条回答 默认 最新

  • qq_36822079 2016-12-03 04:34
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大