【机器学习算法】你是你女神or男神心中的那一位吗?

2018-01-29 | 学术研究

常说“女人心海底针”“女人心事你别猜”,但男人又何尝不是?想知道你是你女神or男神心中的那一位吗?容小编掐「K近邻算法」一算,此牵连甚广,首先了解何为K近邻算法。

 

K近邻(K-Nearest Neighbor,KNN)分类算法是典型的监督性学习算法,是一种分类算法,也是最简单易懂的机器学习算法,没有之一。它采用测量不同特征值之间的距离方法进行分类。

 

它的思想很简单:计算一个点A与其他所有点之间的距离,取出与该点最近的K个点,然后统计这K个点中所属分类比例最大的,则点A属于该分类。简单来说就是由你的邻居来推断出你的类别。

 

首先,请看下图

 

K=3时,请问绿色圆形属于哪一类?

K=5时,请问绿色圆形属于哪一类?

按照我们肉眼来看,粗糙判断当K=3时,绿色的圆属于红色三角形;当K=5时,绿色圆形属于蓝色正方形。

 

通过实例看K近邻分类算法

 

 

问:当K=3时,P(1.1,0.3)属于哪一类?

 

 

若K=3,则P属于A;

若K=2呢?

若K=4呢?

 

当K=2,4时,无法准确判断p到底属于A还是B,只能随机选取一个类别,这也是KNN的一个缺点,对此有个办法可以优化KNN分类算法,就是改进类别概率估计,根据A1、A2、A3和A4到P点距离进行加权计算,

距离越小越相似,所以当K=2,3,4时,p分别属于A,A,A。

这只是从最基本的数字上来看K近邻分类算法,那在生活中如何运用K近邻分类算法呢?首先,小编归纳K-近邻算法的一般流程有以下:

(1)收集数据:可以使用任何方法。

(2)准备数据:距离计算所需要的数值,最好是结构化的数据格式

(3)分析数据:使用Matplotlib画二维扩散图

(4)训练算法:此步骤不适用于K-近邻算法

(5)测试算法:计算错误率

(6)使用算法:产生简单的命令行程序,输入一些特征数据测试。

 

注:在KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,此处距离使用了欧氏距离。

 

K-近邻算法属于惰性学习,但其计算复杂度较高,因为每进新样本,都需要与数据集中每个数据进行距离计算,计算复杂度和数据集中的数据数目n成正比;另一个是K的取值问题,K取不同值时,分类结果可能会有显着不同。一般K的取值不超过20,上限是n的开方。

 

那么问题来了,有的蝌蚪们可能不知道K的取值为何不超过20,小编找了一下可以让自己接受这个观点的理由,在此可以用Iris数据集稍微解释K的取值为何不超过20。(注意,此处幷非证明K不超过20)

 

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理,也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

 

直接来看K的取值与预测准确性的关系图:

K=60,有

K=30,有

现在让小编带领蝌蚪们探索《机器学习实战》中一个很有意思的例子——海伦心中的那一位到底是谁?

 

下面我们来看具体操作:

 

海伦收集的数据是记录每位嘉宾的三个特征:每年获得的飞行常客里程数、玩视频游戏所消耗的时间百分比、每周消费的冰淇淋公升数。数据是txt格式文件,如下图,前三列依次是三个特征,第四列是分类(1:不喜欢的人,2:魅力一般的人,3:极具魅力的人),每一行代表一位嘉宾。

 

 

共有17条数据,需要将这些数据存到矩阵中,用矩阵来承装这些数据。

 

需要两个矩阵:一个承装三个特征数据,一个承装对应的分类

于是,我们定义一个函数,函数的输入时数据文档(txt格式),输出为两个矩阵。

 

 

可以大概看下这17条数据的散点图分布:

计算样本11和样本12之间的距离:

 

可以看到,每年获得的飞行常客里程数对于计算结果的影响远远大于其他两个特征。但这三个特征是同等重要的,因为我们采用方法是将数值归一化处理,取值范围为0,1之间或者-1到1之间。

公式:

newValue = (oldValue – min) / (max – min)

 

归一化后的数据:

 

接下来,我们测试算法:作为完整程序验证分类器

 

首先将样本数据分一半为测试集,一半为训练集

 

 

当K = 3时,当K = 4时,错误率是多少?

 

可以试一下,当K = 3时有:

 

而当K = 4 时,测试结果为12.500000%

 

可将K = 1,…9均进行测试,有:

 

可以参考K = 2 或K = 4时错误率最低

 

 

K = 4,输入嘉宾每年获得的飞行常客里程数是:40000;每周消费的冰激淋公升数是:0.9;玩视频游戏所消耗时间:9。输出largeDoses 。有87.5%的把握可以认为这位嘉宾对海伦来说是极具魅力的人。

最新动态

博易代表应邀出席两大重要传播学会议并发表主旨演讲

近日,博易代表应邀出席两大重要传播学会议——亚太传播论坛2020和第五届中国公共关系学术年会,并分别在会上发表主旨演讲。亚太传播论坛嘉宾与各校师生合照第五届中国公共关系学术年会与会专家学者合照亚太传播论坛2020暨亚太传播论坛联盟成立大会于2020年10月24-25日在珠海横琴·澳门青年创业谷及澳门大学澳门研究中心举行,此会议由亚太传播交流协会(APCEA)主办,是新冠肺炎疫情以来澳门主办最重要的国际传播会议之一。博易代表应邀出席会议并发表题为《为什么大资料在研究方法论中很重要:从传统到创新?...

连接琴澳创新科技合作的秘诀是什么?

2020年10月28日,由三一(珠海)投资有限公司及珠海市青年创业协会主办的珠澳科技创新合作论坛暨招商成果发布会在珠海横琴新区三一南方总部大厦举行,澳门互联网研究学会会长、珠海横琴博易数据技术创始人兼总裁张荣显博士应邀出席,与珠澳两地专家学者及企业家等共同解读珠澳创新合作新机遇。 论坛出席嘉宾合照 论坛现场 当日,张荣显博士在论坛上发表题为《用数据架起琴澳科技合作的桥梁》的主题演讲。 易研张荣显博士...

长假之后,聊聊双节假期的热点和槽点

疫情稳定之后,等来了中秋加国庆,相信大家都度过了一个愉快的假期,那么今年国庆的哪些地区或景点较为受大家追捧呢? 为此,小编整理了9月30日至10月8日的微博数据,为大家梳理下国庆长假期间的热点。   01  今年长假旅游有哪些热门? 热门地区——江浙沪、西南、西北、北京、广东皆为大热门 据文旅部数据中心统计,国庆假期前七天,全国共接待国内游客6.37亿人次,实现旅游收入4665.6亿元。今年地处大西北的陕西、甘肃也成为微博上讨论热门旅游地区,有网友戏称“大西北堵骆驼”。 热门景区——双“黄”最热门...

【DiVoMiner x 浸大】社媒品牌分析比赛获奖作品赏析

这学期,香港浸会大学传理学院传播系的同学们,以“社交媒体品牌分析”为题举办数据分析比赛。一个月时间内完成分组报告,为指定品牌进行社交媒体运营分析及制定一系列商业数字传播策略。   本次比赛由DiVoMiner®与香港浸会大学传理系课程合作,利用社交媒体数据集(Facebook、Instagram、YouTube、Office Website、Mobile App),同学们使用DiVoMiner®文本大数据挖掘与分析平台作为分析工具。   “Digital Report...

张荣显博士应邀到浙江越秀外国语学院作讲座

2019年10月23日,澳门互联网研究学会会长、易研方案总裁兼博易数据创始人张荣显博士应邀到浙江越秀外国语学院网络传播学院作题为《人工智能与文本数据研究方法新路径》的讲座,分享了系统、科学、严谨的大数据技术辅助在线内容分析法在网络文本大数据研究中的实践和应用。 以下文章来源:微信公众号“长三角网络新舆情”,作者陈徐来,标题《张荣显博士来我校讲座》 讲座相关...