Python实现K近邻算法的示例代码python

k-近邻算法(K-NearestNeighbouralgorithm),又称KNN算法,是数据挖掘技术中原理最简单的算法。

工作原理:给定一个已知标签类别的训练数据集,输入没有标签的新数据后,在训练数据集中找到与新数据最邻近的k个实例,如果这k个实例的多数属于某个类别,那么新数据就属于这个类别。简单理解为:由那些离X最近的k个点来投票决定X归为哪一类。

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

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

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

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

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

判断一个电影是爱情片还是动作片。

欧氏距离

构建数据集

rowdata={"电影名称":['功夫熊猫','叶问3','伦敦陷落','代理情人','新步步惊心','谍影重重','功夫熊猫','美人鱼','宝贝当家'],"搞笑镜头":[39,3,2,9,8,5,39,21,45],"拥抱镜头":[0,2,3,38,34,2,0,17,2],"打斗镜头":[31,65,55,2,17,57,31,5,9],"电影类型":["喜剧片","动作片","动作片","爱情片","爱情片","动作片","喜剧片","喜剧片","喜剧片"]}计算已知类别数据集中的点与当前点之间的距离

new_data=[24,67]dist=list((((movie_data.iloc[:6,1:3]-new_data)**2).sum(1))**0.5)将距离升序排列,然后选取距离最小的k个点「容易拟合·以后专栏再论」

k=4dist_l=pd.DataFrame({'dist':dist,'labels':(movie_data.iloc[:6,3])})dr=dist_l.sort_values(by='dist')[:k]确定前k个点的类别的出现概率

re=dr.loc[:,'labels'].value_counts()re.index[0]选择频率最高的类别作为当前点的预测类别

result=[]result.append(re.index[0])result

(1)简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;

(2)可用于数值型数据和离散型数据;

(3)无数据输入假定;

(4)适合对稀有事件进行分类。

(1)计算复杂性高;空间复杂性高;

(2)计算量大,所以一般数值很大的适合不用这个,但是单个样本又不能太少,否则容易发生误分;

(3)样本不平衡问题(即有些类别的样本数量很多,而其他样本的数量很少);

THE END
1.机器学习实验二——使用k二、使用k-近邻算法改进约会网站的配对效果 流程: (1)收集数据:提供文本文件。 (2)准备数据:使用Python解析文本文件。 (3)分析数据:使用Matplotlib画二维扩散图。 (4)训练算法:此步骤不适用于k-近邻算法。 (5)测试算法:使用海伦提供的部分数据作为测试样本。 https://blog.csdn.net/LouYou_/article/details/137190713
2.pythonk邻近算法应用实例(一)改进约会网站的配对效果k邻近算法实例额(一) 改进约会网站的配对效果 应用背景: 某约会网站收集了一些数据放在datingTestSet.txt中,每个样本数据占据一行,总共有1000行。样本主要包含以下3种特征: □ 每年获得的飞行常客里程数 □ 玩视频游戏所耗时间百分比 □ 每周消费的冰淇淋公升数 https://segmentfault.com/a/1190000011266815/
3.机器学习(一)——KNN算法之约会网站匹配效果为了熟悉和掌握K近邻算法,改进约会网站的匹配策略。 【实验要求】 用KNN算法改进约会网站的配对效果。 【算法原理】 k近邻法(k-nearest neighbor, k-NN)原理:存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将https://www.jianshu.com/p/a4fd43024370
4.KNN:最近邻算法原理python实现以及sklearn实现51CTO博客使用KNN实现约会网站配对效果改进 如下所示数据来自于某约会网站,根据每年获得的飞行常客里程数、玩视频游戏所耗时间百分比、每周消费的冰淇淋公升数三个特征对配对者进行预测,预测结果有三类,不喜欢、稍喜欢、很喜欢。 path = './data/datingTestSet.txt' https://blog.51cto.com/u_15127566/4376386
5.2021半夜好用的网站/怎么做网站使用k-近邻算法改进约会网站的配对效果 (1)准备数据:从文本文件中解析数据 ''' 将文本记录转换为Numpy的解析程序 '''deffile2matrix(filename):fr=open(filename)arrayOLines=fr.readlines()numberOfLines=len(arrayOLines)returnMat=zeros((numberOfLines,3))classLabelVector=[]index=0forlineinarrayOLines:linehttp://www.nhpp.cn/news/222211.html
6.房产中介新人培训资料7篇(全文)中国互联网络信息中心(CNNIC)在京发布《(如超低价位、特别设计等),其广告创意为中等水平,则其在三天之内大约会有50个来电来访,则其成本为4480元/个;经过测试,某网站网络广告一个月内大约有270个来电来访,其成本为222元/个,只有报纸的二十分之一。而且,随着房地产项目的不断开发,报纸上房地产广告正日渐增多,人https://www.99xueshu.com/w/file5mnmyjit.html