• kNN算法与python


    我的第一个kNN算法的python代码:

    from numpy import *
    import operator
    
    def classify0(inX,dataSet,labels,k):
        dataSetSize=dataSet.shape[0]
        diffMat=tile(inX,(dataSetSize,1))-dataSet
        print(diffMat)
        sqDiffMat=diffMat**2
        sqDistances=sqDiffMat.sum(axis=1)
        distances=sqDistances**0.5
        sortedDistIndicies=distances.argsort()
        classCount={}
        
        for i in range(k):
            voteIlabel=labels[sortedDistIndicies[i]]
            classCount[voteIlabel]=classCount.get(voteIlabel,0)+1
            sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)
            return sortedClassCount[0][0]
    
    
    def createDataSet():
        group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
        labels=['A','A','B','B']
        return group,labels
        
    group,labels=createDataSet()
    print(group)
    print(labels)
    
    sample=[0,0]
    print("sample "+str(sample)+" most likely is: "+classify0(sample,group,labels,3))

    具体参照kindle版"机器学习实战"(Machine Learning in Action)第二章.

  • 相关阅读:
    Shooting Algorithm
    Subgradient Algorithm
    Factorization Machine
    支持向量机
    Hashing Trick
    Science上发表的超赞聚类算法
    Contractive Auto-Encoder
    Shell之数学计算
    牛顿方法(Newton-Raphson Method)
    泊松回归(Poisson Regression)
  • 原文地址:https://www.cnblogs.com/Montauk/p/7126863.html
Copyright © 2020-2023  润新知