机器学习:基于Knn算法的用户属性判断方案设计

访客3年前黑客文章1057

本文作者通过Knn算法举办了一次用户判定预测的流程,文章为作者按照自身履历所做出的总结,但愿通过此文可以或许加深你对Knn算法的认识。

呆板进修:基于Knn算法的用户属性判定方案设计

knn算法简介

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上较量成熟的要领,也是最简朴的呆板进修算法之一。knn的根基思路是:假如一个样本在特征空间中的k个最相似(即特征空间中最相近)的样本中的大大都属于某一个种别,则该样本也属于这个种别。

如下图所示,如何判定绿色圆应该属于哪一类,是属于赤色三角形照旧属于蓝色四方形?

假如K=3,由于赤色三角形所占比例为2/3,绿色圆将被鉴定为属于赤色三角形谁人类

假如K=5,由于蓝色四方形比例为3/5,因此绿色圆将被鉴定为属于蓝色四方形类。

呆板进修:基于Knn算法的用户属性判定方案设计

由于KNN最相近分类算法在分类决定时只依据最相近的一个可能几个样本的种别来抉择待分类样本所属的种别,而不是靠鉴别类域的要领来确定所属类此外,因此对付类域的交错或重叠较多的待分样本集来说,KNN要领较其他要领更为适合。

因此,k值的选择、间隔怀抱以及分类决定法则是k近邻算法的三个根基要素。

真实业务场景

某公司存在有一些数据样本(500*5矩阵),是关于人群属性的一些特征,但愿通过已知数据的特征,猜测出部门方针数据的性质,如果特征向量包括:

平均逐日游戏时长-game time

异 *** 数-female friends

周末在家时长-stay-in time

用户接管范例-attr(attr是方针判定属性,同时也是标志属性)

呆板进修:基于Knn算法的用户属性判定方案设计

问题:我们需要按照已知的这些属性,判定最后一个样本的属性是“Y”照旧“N”

数据特征阐明

我们所拿到的这批数据是500*5的矩阵,以平均逐日游戏时长,异 *** 数,周末在家时长为轴,将差异属性的点用差异颜 *** 分,操作matplotlib绘制散点图,最终结果如图。

由于这些测试数据在空间的漫衍很是会合,所以对付需要验证的点(红,绿两点),我们很容易区分出这些点的属性
团结本次的业务场景,我们将通过前三种特征的空间漫衍,对attr属性举办预测

呆板进修:基于Knn算法的用户属性判定方案设计

详细算法

在三维空间中,我们可以直观判定,那在详细的算法实现中,可以思量利用

n维空间的欧氏间隔:

通过以上公式,我们能对多维度数据举办阐明,获得方针与各点的间隔。

同时,细心的读者必定思量到,我们已知的这些特征,存在量级之间的差别,所以我们凡是需要通过归一化特征值,对消除差异量级造成的影响。因此,我们选用0-1尺度化(0-1 normalization)对原始数据的线性调动。

0-1尺度化:

在通过以上两步对数据预处理惩罚完成后,我们将所得的间隔举办排序,并选取符合的K值对方针数据举办预测。

呆板进修:基于Knn算法的用户属性判定方案设计

在此选择k=10(仅举例),可以发明,前10项中Y呈现的次数最多,因此我们可以认为方针数据的值为Y。

knn算法总结

在数据阐明团队确定好数据特征后,对相应数据举办收集及清洗,对各数据特征举办归一化处理惩罚(视详细业务场景定,或需特征思量权重),完成以上流程后,举办以下通用流程:

计较测试数据与各个练习数据之间的间隔;

凭据间隔的递增干系举办排序;

选取间隔最小的K个点;

确定前K个点地址类此外呈现频率;

返回前K个点中呈现频率更高的种别作为测试数据的预测分类。

最后,我们简朴总结一下Knn的合用场景

数据已存在标志特征,Knn是监视算法

样本数在100k以下,由于算法会对每个方针值举办多维度间隔计较,所以样本过大大概超负荷

样本非文本,或可转化为数值

以上即是通过Knn算法举办了一次用户判定预测的流程,文中所展示内容均为模仿数据,且选择了个中最简朴的判定属性。如文中有漏掉及不敷,请列位指出。

相关文章

基于“亲密度金字塔结构”,从大B甲方视角看SAAS企业如何做招投标?

基于“亲密度金字塔结构”,从大B甲方视角看SAAS企业如何做招投标?

编辑导读:本文作者从自身事情履历出发,依据项目实践中的所思所想,团结案例平分享了基于亲密度金字塔布局,大B甲方招投标事情的流程和需要留意的一些问题,供各人一同参考和进修。 本人在大B甲方从业过,也招...

设计中关于“左”和“右”的思考

设计中关于“左”和“右”的思考

编辑导语:由于手机尺寸的限制,我们在举办内容欣赏时会举办一些滑动操纵,差异范例的内容操纵也各不沟通,好比图片会选择阁下滑动操纵,文字会选择上下滑动;本文就先容了在设计中的“左”和“右”的操纵,我们一起...

不同行业的计费结算模式——以电商和云服务为例

不同行业的计费结算模式——以电商和云服务为例

编辑导读:在许多行业,尤其是电商和云处事行业,因为其提供的处事种类多,结算方法多,所以计费结算模式很巨大。本文作者就以这两个行业为例,对它们计费结算模式的差别展开了阐明,与各人分享。 笔者近期和差异...

微信、支付宝为何都在发力“生态搜索”?

微信、支付宝为何都在发力“生态搜索”?

互联网成长至今,人口红利已经不如以往,每个APP都想把用户留下来。以微信和付出宝为首,他们都在努力地发力“生态搜索”。本文从两个方面临这一现象展开阐明,对生态搜索感乐趣的童鞋不要错过。 微信、付出宝...

深度解析:APP中的卡片切换与手势的关系

深度解析:APP中的卡片切换与手势的关系

编辑导语:我们在利用一款APP时,常常会打仗到卡片切换成果,而这个成果往往与手势相关。那么,APP中的卡片切换与手势到底有什么干系呢?接下来,本文作者为各人做了具体地阐明,看看在什么场景下该用什么样的...

微信为什么不做开屏广告?

微信为什么不做开屏广告?

微信在贸易告白变现的阶梯上一直很禁止,而开屏告白对用户体验伤害极大,对微信来说,开屏告白与其自身成长理念纷歧致。 01 媒介 玩了这么久的微信,不知道各人有没有思考过一个问题,微信贸易化也有好几年了...