亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        python k-近鄰算法實(shí)例分享

        字號(hào):


            這個(gè)算法主要工作是測(cè)量不同特征值之間的距離,有個(gè)這個(gè)距離,就可以進(jìn)行分類了。簡(jiǎn)稱kNN。
            簡(jiǎn)單說(shuō)明
            這個(gè)算法主要工作是測(cè)量不同特征值之間的距離,有個(gè)這個(gè)距離,就可以進(jìn)行分類了。
            簡(jiǎn)稱kNN。
            已知:訓(xùn)練集,以及每個(gè)訓(xùn)練集的標(biāo)簽。
            接下來(lái):和訓(xùn)練集中的數(shù)據(jù)對(duì)比,計(jì)算最相似的k個(gè)距離。選擇相似數(shù)據(jù)中最多的那個(gè)分類。作為新數(shù)據(jù)的分類。
            python實(shí)例
            代碼如下:
            #-*-coding:cp936-*-
            #win系統(tǒng)中應(yīng)用cp936編碼,linux中最好還是utf-8比較好。
            fromnumpyimport*#引入科學(xué)計(jì)算包
            importoperator#經(jīng)典python函數(shù)庫(kù)。運(yùn)算符模塊。
            #創(chuàng)建數(shù)據(jù)集
            defcreateDataSet():
            group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
            labels=['A','A','B','B']
            returngroup,labels
            #算法核心
            #inX:用于分類的輸入向量。即將對(duì)其進(jìn)行分類。
            #dataSet:訓(xùn)練樣本集
            #labels:標(biāo)簽向量
            defclassfy0(inX,dataSet,labels,k):
            #距離計(jì)算
            dataSetSize=dataSet.shape[0]#得到數(shù)組的行數(shù)。即知道有幾個(gè)訓(xùn)練數(shù)據(jù)
            diffMat=tile(inX,(dataSetSize,1))-dataSet#tile:numpy中的函數(shù)。tile將原來(lái)的一個(gè)數(shù)組,擴(kuò)充成了4個(gè)一樣的數(shù)組。diffMat得到了目標(biāo)與訓(xùn)練數(shù)值之間的差值。
            sqDiffMat=diffMat**2#各個(gè)元素分別平方
            sqDistances=sqDiffMat.sum(axis=1)#對(duì)應(yīng)列相乘,即得到了每一個(gè)距離的平方
            distances=sqDistances**0.5#開(kāi)方,得到距離。
            sortedDistIndicies=distances.argsort()#升序排列
            #選擇距離最小的k個(gè)點(diǎn)。
            classCount={}
            foriinrange(k):
            voteIlabel=labels[sortedDistIndicies[i]]
            classCount[voteIlabel]=classCount.get(voteIlabel,0)+1
            #排序
            sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)
            returnsortedClassCount[0][0]
            意外收獲
            把自己寫(xiě)的模塊加入到python默認(rèn)就有的搜索路徑:在python/lib/-packages目錄下建立一個(gè)xxx.pth的文件,寫(xiě)入自己寫(xiě)的模塊所在的路徑即可。