zoukankan      html  css  js  c++  java
  • 【机器学*】k*邻算法-03

    心得体会:

      需要思考如何将现实对象转化为特征向量,设置特征向量时记住鸭子定律1

      鸭子定律1 如果走路像鸭子、说话像鸭子、长得像鸭子、啄食也像鸭子,那它肯定就是一只鸭子

      事物的外在特征就是事物本质的表现

    # 2-3手写识别系统
    
    #32*32转1*1024数组
    def img2vector(filename):
        returnVect=zeros((1,1024))
        fr=open(filename)
        for i in range(32):
            lineStr=fr.readline()
            for j in range(32):
                returnVect[0,32*i+j]=int(lineStr[j])
        return returnVect
    
    # testVector=img2vector("E:/Python/《机器学*实战》代码/Ch02/trainingDigits/0_0.txt")
    # print(testVector[0,0:31])
    
    #从os模块读取测试代码
    import os
    def handwritingClassTest():
        hwLabels=[]#数据结果
        trainingFileList=os.listdir("E:/Python/《机器学*实战》代码/Ch02/trainingDigits")
        m=len(trainingFileList)
        trainingMat=zeros((m,1024))#数据集
        for i in range(m):
            fileNameStr=trainingFileList[i]
            fileStr=fileNameStr.split('.')[0]
            classNumStr=int(fileStr.split('_')[0])
            hwLabels.append(classNumStr)
            trainingMat[i,:]=img2vector("E:/Python/《机器学*实战》代码/Ch02/trainingDigits/%s"%fileNameStr)
        errorCount=0.0
        testFileList=os.listdir("E:/Python/《机器学*实战》代码/Ch02/testDigits")
        mTest=len(testFileList)
        for i in range(mTest):
            fileNameStr = testFileList[i]
            fileStr = fileNameStr.split('.')[0]
            classNumStr = int(fileStr.split('_')[0])
            vectorUnderTest = img2vector("E:/Python/《机器学*实战》代码/Ch02/testDigits/%s" % fileNameStr)
            classifierResult=classify0(vectorUnderTest,trainingMat,hwLabels,3)
            if(classifierResult!=classNumStr):
                errorCount+=1
        print("error rate:%s"%(errorCount/float(mTest)))
    
    handwritingClassTest()
  • 相关阅读:
    CodeForces 734F Anton and School
    CodeForces 733F Drivers Dissatisfaction
    CodeForces 733C Epidemic in Monstropolis
    ZOJ 3498 Javabeans
    ZOJ 3497 Mistwald
    ZOJ 3495 Lego Bricks
    CodeForces 732F Tourist Reform
    CodeForces 732E Sockets
    CodeForces 731E Funny Game
    CodeForces 731D 80-th Level Archeology
  • 原文地址:https://www.cnblogs.com/LPworld/p/13268249.html
Copyright © 2011-2022 走看看