`

机器学习实战2-k近邻算法

 
阅读更多

k近邻算法(KNN k nearest neighbor),一种基本的分类和回归方法。

工作原理为:

    存在一个样本数据集合,即训练样本集,且样本集中每个数据都有标签,我们知道样本集中每个数据与其所属分类的对应关系。输入没有标签的数据后,将新数据的每个特征与样本集中的数据对应的特征进行比较,然后算法提取样本集中特征最相似的数据。一般,我们只选择样本数据集中前k个最相似的数据,这里的k就是k-近邻算法的中k的出处,通常k不大于20.最后,选择k个最相似数据中出现次数最多的分类,作为新数据分类。

算法:

对未知类别属性的数据集中的每个点一次计算一下步骤

(1)计算已知类别数据集中的点与当前点之间的距离;

(2)按照距离递增次序排序;

(3)选取与当前点距离最小的k个点;

(4)确定前k个点所在类别上的出现频率

(5)返回前k个点出现频率最高的类别作为当前点的预测分类

简单python代码:

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()
    print sortedDistIndicies
    classCount={}

    for i in range(k):
        #获取前k个对应的分类
        votelabel = labels[sortedDistIndicies[i]]
        #统计每种分类的数量
        classCount[votelabel] = classCount.get(votelabel,0) +1 
    #将统计得到得数量从大到小排量,分类数量较大的即为最终分类结果
    sortedClassCount = sorted(classCount.iteritems(),key =operator.itemgetter(1),reverse=True)
    return sortedClassCount[0][0]
        

if __name__=='__main__':
    group,labels = createDataSet()
    print group,labels
    count = classify0([0,0],group,labels,3)
    print count

 

 

分享到:
评论

相关推荐

    机器学习实战 - k近邻算法(KNN算法)总结

    机器学习实战 - k近邻算法(KNN算法)总结 适合机器学习实战入门新手 K-近邻算法,又称为 KNN 算法,是数据挖掘技术中原理最简单的算法。 KNN 的工作原理:给定一个已知类别标签的数据训练集,输入没有标签的新数据...

    机器学习实战-k-近邻算法改进约会网站的配对效果

    在本实践项目中,我们将深入探讨如何利用机器学习中的k-近邻算法(K-Nearest Neighbors,简称KNN)来改进约会网站的配对效果。KNN是一种非参数监督学习方法,常用于分类和回归任务。在这个案例中,我们将关注其在...

    《机器学习实战》-Ch2-k-近邻算法-源代码

    《机器学习实战》是机器学习领域的一本经典教材,它以实践为导向,深入浅出地讲解了各种机器学习算法。Ch2章节主要聚焦在k-近邻(k-Nearest Neighbors, KNN)算法上,这是一种基础且重要的监督学习算法,广泛应用于...

    机器学习实战之02-k近邻算法全部源代码+测试数据+详细注释

    在这个资源包中,你将找到《机器学习实战》这本书第二章关于k近邻算法的全部源代码,涵盖了从基础到进阶的应用,以及用于测试的完整数据集,并且每段代码都配有详细的注释。 首先,让我们深入了解k近邻算法的核心...

    Python——机器学习实战——k-近邻算法

    K-近邻算法的基本概念** KNN算法的核心思想是:对于给定的新样本,找到训练集中与之最近的k个样本,根据这k个样本的类别进行投票,以多数票决定新样本的类别。这里的“近”通常用欧氏距离、曼哈顿距离或余弦相似度...

    k-近邻算法实现手写数字识别系统--《机器学习实战 》-内含源码以及设计说明书(可以自己运行复现).zip

    本文档将深入探讨使用k-近邻(k-Nearest Neighbors, k-NN)算法实现的手写数字识别系统,该系统基于《机器学习实战》一书中的示例。这个项目旨在帮助读者理解k-NN算法的工作原理,并通过实际操作提升其在机器学习领域...

    机器学习实战2.2示例: 使用k-近邻算法改进约会网站的配对效果数据集

    ### 机器学习实战2.2示例:使用k-近邻算法改进约会网站的配对效果数据集 #### 概述 本示例基于《机器学习实战》中的一个经典案例,利用k-近邻(k-Nearest Neighbors, k-NN)算法来改善约会网站的配对效果。k-NN是...

    《模式识别与机器学习实战》第二讲 K-近邻算法

    《模式识别与机器学习实战》第二讲主要探讨了K-近邻算法,这是一种在机器学习领域广泛应用的基础算法。K-近邻算法(K-Nearest Neighbor, kNN)以其简单的概念和灵活的适用性,成为了分类任务中的一个重要工具。算法...

    机器学习实战 - KNN(K近邻)算法PDF知识点详解 + 代码实现

    **K-近邻(KNN)算法**是机器学习领域中一种基础且直观的分类算法。它的核心思想是根据输入样本最接近的K个训练样本的类别来预测新样本的类别。KNN算法最早由Cover和Hart在1968年提出,是一种基于实例的学习方法,...

    机器学习实战k-NN实例二手写识别数据集

    这个“机器学习实战k-NN实例二手写识别数据集”是一个用于实践k-NN算法的典型案例,它涉及到图像处理和模式识别。二手写识别是计算机视觉领域的一个经典任务,旨在通过分析手写字符的特征来自动识别字符类别。 首先...

    《机器学习实战》2:K-近邻算法(kNN/K个好邻居)

    《机器学习实战》是一部深入浅出的机器学习入门书籍,其中第二章主要讲解了K-近邻算法(K-Nearest Neighbors,简称kNN)。K-近邻算法是一种基于实例的学习方法,属于监督学习的范畴,常用于分类和回归问题。在本章节...

    机器学习实战-knn算法代码及数据集

    本资源包“机器学习实战-knn算法代码及数据集”专注于KNN算法的实现与应用,特别是针对手写数字识别的问题。下面将详细介绍KNN算法及其在手写数字识别中的应用。 一、KNN算法基础 1. 算法原理:KNN算法基于...

    K-近邻算法.zip

    8. **实战代码**:提供的压缩包文件"K-近邻算法"可能包含了实现KNN算法的Python代码,通常会用到sklearn库中的`KNeighborsClassifier`类。代码中可能包括数据预处理、模型训练、预测和评估等步骤。 通过学习和理解...

    k-近邻算法概述及其python实现.pptx

    **k-近邻算法概述** k-近邻(k-Nearest Neighbor,简称k-NN)是一种基础且直观的监督学习算法,广泛应用于分类和回归问题。它的核心思想是“物以类聚,人以群分”,即一个样本的类别可以根据其最接近的邻居来决定。...

    机器学习实战之K邻近算法

    **机器学习实战之K邻近算法** 在众多的机器学习算法中,K邻近算法(K-Nearest Neighbors,简称kNN)是一种基础且重要的监督学习方法。它基于实例学习,通过找到训练集中与未知样本最接近的k个邻居,来预测其类别或...

    机器学习实战-中文版1

    在《机器学习实战-中文版1》中,第一章主要介绍了机器学习的基础概念和关键术语。机器学习是人工智能的一个分支,它让计算机系统能够从数据中自动学习和改进,而无需显式编程。书中强调了随着传感器技术的发展和海量...

    python机器学习K近邻算法--红酒分类预测.py

    K近邻算法实战,精确的高,感兴趣的可以看一看

    Python语言实现机器学习的K-近邻算法

    额、、、最近开始学习机器学习嘛,网上找到一本关于机器学习的书籍,名字叫做《机器学习实战》。很巧的是,这本书里的算法是用Python语言实现的,刚好之前我学过一些Python基础知识,所以这本书对于我来说,无疑是...

    Python数据分析与机器学习实战课程

    Python数据分析与机器学习实战课程,全套14.17G,仅有免密视频,课程目录: 01 人工智能入门指南 02 科学计算库-numpy 03 数据分析处理库-Pandas 04 可视化库-Matplotlib 05 机器学习入门算法实战-K近邻 06 线性回归...

Global site tag (gtag.js) - Google Analytics