KNN、k-近邻算法,python
2016-09-05 20:18
691 查看
//time :2016-9-5
//blog__author:Inc
//Addr:
原文来源:机器学习一书
实施Knn:
伪代码:
对未知类别属性的数据集中的每个点依次执行一下操作:
(1)计算已知类别数据集中的点与当前点之间的距离;
(2)按照距离递增顺序排序;
(3)选取与当前点距离最小的k个点;
(4)确定前k个点所在类别的出现频率;
(5)返回前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
def classify0(inX,dataSet,labels,k):
dataSetSize=dataSet.shape[0] #得到第一维的维数
diffMat=tile(inX,(dataSetSize,1))-dataSet #
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]] #按顺序得到labels的A 或B
classCount[voteIlabel]=classCount.get(voteIlabel,0)+1 #形式{‘B’:1}
sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),
reverse=True)
return sortedClassCount[0][0]
测试:
//blog__author:Inc
//Addr:
原文来源:机器学习一书
实施Knn:
伪代码:
对未知类别属性的数据集中的每个点依次执行一下操作:
(1)计算已知类别数据集中的点与当前点之间的距离;
(2)按照距离递增顺序排序;
(3)选取与当前点距离最小的k个点;
(4)确定前k个点所在类别的出现频率;
(5)返回前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
def classify0(inX,dataSet,labels,k):
dataSetSize=dataSet.shape[0] #得到第一维的维数
diffMat=tile(inX,(dataSetSize,1))-dataSet #
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]] #按顺序得到labels的A 或B
classCount[voteIlabel]=classCount.get(voteIlabel,0)+1 #形式{‘B’:1}
sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),
reverse=True)
return sortedClassCount[0][0]
测试:
相关文章推荐
- <Python><有监督>kNN--近邻分类算法
- 机器学习实战python3 K近邻(KNN)算法实现
- k近邻(kNN)算法的Python实现(基于欧氏距离)
- KNN近邻算法(python3)识别手写数字
- 分类算法系列1-----KNN(K近邻)算法思想和python实现
- K近邻(KNN)算法---Python实现(一)
- KNN(k-近邻)分类算法讲解与实现(python)
- 机器学习经典算法详解及Python实现–K近邻(KNN)算法
- 机器学习之k-近邻(kNN)算法与Python实现
- K-近邻算法(kNN)python实现
- Python scikit-learn分类 近邻算法KNN
- K近邻(knn)算法简介及用python实现
- 机器学习-----之KNN近邻算法(python3)
- Python 学习笔记(Machine Learning In Action)K-近邻算法(KNN)机器学习实战
- 机器学习经典算法详解及Python实现--K近邻(KNN)算法
- 机器学习经典算法详解及Python实现--K近邻(KNN)算法
- 机器学习经典算法详解及Python实现--K近邻(KNN)算法
- 机器学习算法与Python实践之(一)k近邻(KNN)
- 【模式识别】K-近邻分类算法KNN
- Python3.2 实现基于KNN算法的数据分类