lichenghao_96 2017-09-05 02:32 采纳率: 0%
浏览 8079

function takes at least 2 arguments(1 given)

机器学习实战kNN篇手写数字识别:

 def img2vector(filename):
    file=open(filename)
    imgvector=zeros((1,1024))
    for i in range(32):
        line=file.readline()
        for j in range(32):
            imgvector[0,32*i+j]=int(line[j])
    return imgvector

def handwritingClassifier():
    hwlabels=[]
    trainingfilelist=listdir('trainingDigits')
    m=len(trainingfilelist)
    trainingMat=zeros((m,1024))
    for i in range(m):
        fn=trainingfilelist[i]
        filename1=fn.split('.')[0]
        filelabel=int(filename1.split('_')[0])
        hwlabels.append(filelabel)
        trainingMat[i,:]=img2vector('trainingDigits/%s' % fn)
    testfilelist=listdir('testDigits')
    mT=len(testfilelist)
    errorCount=0.0
    for i in range(mT):
        filenameT=testfilelist[i]
        filename1T=filenameT.split('.')[0]
        filelabelT=int(filename1T.split('_')[0])
        testfilevector=img2vector('testDigits/%s' % filenameT)
        predictlabel=Classifier(testfilevector,trainingMat,hwlabels,5)
        if (predictlabel!=filelabelT):
            errorCount+=1.0
        print "the classifier came back with %d ,the real answer is %d " % (predictlabel,filelabelT)
    print "the error rate is %f" % (errorCount/float(mT))

结果在命令行输入import kNN ...kNN.handwritingClassifier()的时候

TypeError Traceback (most recent call last)
in ()
1 import kNN
----> 2 kNN.handwritingClassifier()

C:\Users\Administrator\kNN.py in handwritingClassifier()
99 filelabel=int(filename1.split('_')[0])
100 hwlabels.append(filelabel)
--> 101 trainingMat[i,:]=img2vector('trainingDigits/%s' % fn)
102 testfilelist=listdir('testDigits')
103 mT=len(testfilelist)

C:\Users\Administrator\kNN.py in img2vector(filename)
81
82 def img2vector(filename):
---> 83 file=open(filename)
84 imgvector=zeros((1,1024))
85 for i in range(32):

TypeError: function takes at least 2 arguments (1 given)

小白一枚,请问到底哪里有问题,open函数不是只要一个参数吗,用的是python2.7望指教!!

  • 写回答

2条回答 默认 最新

  • devmiao 2017-09-05 03:09
    关注

    函数需要2个参数,你只给了1个,看看手册去

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名