Python:K-近鄰演算法
-----------------------------------------------------------------------------------------------直接把註釋全部去掉跑即可,每個方法都有說明-------------------------------------------------------------------------
#K-近鄰演算法
from numpy import *;import operator;
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;
'''
intX 目標:[1,1]dataSet 參考值
labels 參考值 對於的目標值
k:前K值
歐氏距離演算法
'''
def classify0(intX, dataSet, labels, k):
#矩陣第一維度的長度
dataSetSize =dataSet.shape[0];
#tile行重複intX,dataSetSize次,列0次diffMat = tile(intX, (dataSetSize, 1)) - dataSet;
# 2的次方
sqDiffMat = diffMat ** 2;
#矩陣求和
sqDistances =sqDiffMat.sum(axis=1);
#開方
distances = sqDistances ** 0.5;
#argsort()函式是將x中的元素從小到大排列,提取其對應的index(索引)
sortedDistIndicies = distances.argsort();
classCount = {};
for i in range(k):
#獲取的距離對於的參考值的目標值分類存在字典classCount
voteIlabel = labels[sortedDistIndicies[i]];
#get(voteIlabel, 0)獲取不到voteIlabel就設定預設值為0
classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
'''
引數解析:
cmp:比較函式,比較什麼引數由key決定。例如:cmp(e1, e2) 是具有兩個引數的比較函式,返回值:負數(e1 < e2);0(e1 == e2);正數( e1 > e2)。
key:用列表元素的某個屬性或函式作為關鍵字。
reverse:排序規則,可以選擇True或者False。
operator.itemgetter(1): 取物件的第1個域的值
'''
sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
pass
return sortedClassCount[0][0];
-----------------------------------------------------------------------------------------------直接把註釋全部去掉跑即可-------------------------------------------------------------------------
上面是理論知識,接下來有時間會更新實戰
相關文章
- k-近鄰演算法演算法
- K-鄰近均值演算法演算法
- 用Python實現K-近鄰演算法Python演算法
- 機器學習演算法——kNN(k-近鄰演算法)機器學習演算法KNN
- 機器學習筆記1(K-近鄰演算法)機器學習筆記演算法
- K-近鄰演算法介紹與程式碼實現演算法
- k-鄰近演算法實現約會網站的配對效果演算法網站
- 【機器學習】機器學習建立演算法第2篇:K-近鄰演算法【附程式碼文件】機器學習演算法
- 機器學習實戰2.1. 超詳細的k-近鄰演算法KNN(附Python程式碼)機器學習演算法KNNPython
- 機器學習經典分類演算法 —— k-近鄰演算法(附python實現程式碼及資料集)機器學習演算法Python
- K - 近鄰演算法演算法
- K近鄰演算法演算法
- 機器學習——K近鄰演算法機器學習演算法
- 機器學習——KNN近鄰演算法機器學習KNN演算法
- 第一篇:K-近鄰分類演算法原理分析與程式碼實現演算法
- 第三篇:基於K-近鄰分類演算法的手寫識別系統演算法
- k近鄰演算法python實現 -- 《機器學習實戰》演算法Python機器學習
- 機器學習-K近鄰演算法-KNN機器學習演算法KNN
- 第二篇:基於K-近鄰分類演算法的約會物件智慧匹配系統演算法物件
- 分類演算法-k 鄰近演算法演算法
- 機器學習演算法之K近鄰演算法機器學習演算法
- 機器學習實戰----k值近鄰演算法(Python語言)機器學習演算法Python
- 機器學習-11-k近鄰演算法機器學習演算法
- 2.1 k鄰近演算法之二演算法
- 2.1 k鄰近演算法之一演算法
- K-最近鄰法(KNN)簡介KNN
- K近鄰演算法:機器學習萌新必學演算法演算法機器學習
- K近鄰模型模型
- 機器學習實戰筆記-k近鄰演算法機器學習筆記演算法
- k近鄰演算法的實現:kd樹演算法
- 機器學習_K近鄰Python程式碼詳解機器學習Python
- 什麼是機器學習分類演算法?【K-近鄰演算法(KNN)、交叉驗證、樸素貝葉斯演算法、決策樹、隨機森林】機器學習演算法KNN隨機森林
- 機器學習 第4篇:sklearn 最鄰近演算法概述機器學習演算法
- 什麼是機器學習的分類演算法?【K-近鄰演算法(KNN)、交叉驗證、樸素貝葉斯演算法、決策樹、隨機森林】機器學習演算法KNN隨機森林
- 機器學習——KNN(K近鄰)機器學習KNN
- 影像重取樣演算法之最鄰近插值演算法演算法
- Python反反爬系列(一)----K近鄰演算法與CSS動態字型加密Python演算法CSS加密
- 機器學習演算法(三):K近鄰(k-nearest neighbors)初探機器學習演算法REST