kNN之改进约会网站配对效果(附源码)腾讯云开发者社区

在处理这种不同取值范围的属性时,归一化是我们最常用的方法,如将取值范围压缩/扩展至[0,1]或者[-1,1]。下面的公式可以讲任意取值范围的属性值转化为[0,1]:

newValue=(oldValue-Min)/(Max-Min)

其中,Min和Max分别为数据集中最小属性值以及最大属性值。虽然改变数值的范围一定程度上增加了算法的时空复杂度,但是为了更好地利用数据间的信息,这么做是必须的。为此,我们新建一个名为autoNorm的函数,该函数将属性值压缩至[0,1],代码如下所示。

defautoNorm(dataSet):

minVals=dataSet.min(0)

maxVals=dataSet.max(0)

ranges=maxVals-minVals

normDataSet=zeros(shape(dataSet))

m=dataSet.shape[0]

normDataSet=dataSet-tile(minVals,(m,1))

normDataSet=normDataSet/tile(ranges,(m,1))

returnnormDataSet,ranges,minVals

在python命令行下,加载kNN.py模块,执行autoNorm函数,如下所示。

这儿我们可以只把normMat作为函数返回值。

4.测试算法

本文中我们采用数据集的10%作为测试数据集,90%作为训练数据集(注意:训练数据集以及测试数据集的产生应该随机选取)。

创建名为classify0的函数作为kNN分类器,代码如下。

defclassify0(inX,dataSet,labels,k):dataSetSize=dataSet.shape[0]diffMat=tile(inX,(dataSetSize,1))-dataSetsqDiffMat=diffMat**2sqDistances=sqDiffMat.sum(axis=1)distances=sqDistances**0.5sortedDistIndicies=distances.argsort()classCount={}foriinrange(k):voteIlabel=labels[sortedDistIndicies[i]]classCount[voteIlabel]=classCount.get(voteIlabel,0)+1sortedClassCount=sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)returnsortedClassCount[0][0]为了测试分类器的效果,我们需要创建名为datingClassTest的函数,代码如下。

如图所示,处理约会数据集的错误率为6.4%,这是一个相当不错的结果。我们可以调试datingClassTest中的变量hoR安提哦你和变量k的值来降低错误率。为此,二丫完全可以输入未知对象的属性信息,有分类软件帮助她判定该队形属于哪一类(讨厌,一般喜欢以及非常喜欢)。

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