数极客首页

数据驱动产品之knn算法

在互联网行业中常常有应用
数据剖析

或者数据挖掘

的结论来应用到产品中, 驱动产品的优化, 提升产品的各项KPI指标, 在数据挖掘

数据剖析

的背后会触及
到一些数据挖掘

或者机器学习的算法, 本文主要是knn 算法原理的引见
, 以及在它在互联网行业中的细致

应用,后续会引见
这个算法的细致

完成
(R言语
和python 言语
)

knn算法原理:

往常

假定

有一个样本, 样本中的每一个叫做个体, 我们曾经
知道

这些个体所属的类别, 往常

有一个新的未知类别的个体, 我们能够

经过
计算它与样本中一切
个体的相似

距离

, 然后 找出与它细致

最小的k个个体, 这k个个体最多的类别就是这个新的个体的预测的类别。

算法步骤:

1)计算测试数据与各个锻炼
数据之间的距离

计算细致

之前需求
对数据中的每一个属性中止

数据归一化, 避免

数据过大 对距离

的计算产生影响

数据归一化:x* = (x – x_mean)/(x_max – x_min),

x_mean表示数据的均值, x_max 表示数据的最大值, x_min 表示数据的最小值

例如有一个属性的取值为: 20, 40, 80, 100

则第一
计算平均

值: (20+30+80+100)/4=60

最小值:20 ?最大值 100

则归一化后每个值为:

(20-60)/(100-20)=-0.5

(40-60)/(100-20)=-0.25

(80-60)/(100-20) = 0.25

(100-60)/(100-20) =0.5

计算各体之间的距离

公式如下:

2)依照

距离

的递增关系中止

排序;

3)选取距离

最小的K个点;

4)肯定
前K个点所在类别的呈现
频率;

5)返回前K个点中呈现
频率最高的类别作为测试数据的预测分类

在互联网理论

情形
中的应用:

1. 需求背景

往常

某app 上了一个歌词制造
的功用
, 每天会有一定的用户去运用
歌词制造
的功用
, 制造
的歌词会经过外包团队的审核, 来判别
这个歌词能否
能够

投入运用
, 往常

依据

一段时间的审核,曾经
能够

依据

制造
歌词质量的好坏来将整体歌词制造
的用户细分为优质用户, 即制造
的歌词数目又多质量又高, 普通
用户, 制造
的歌词数和质量都属于普通的状况

, 渣滓
用户, 即制造
的歌词数目不多 质量又差, 业务方需求
进步
整体的歌词制造
质量所以希望能够

依据

现有的优质用户具有的特征, 去发现更多这种类

似的用户, 来不时
进步
整体的UGC歌词

2. 需求沟通

数据剖析

师依据

对业务的了解

与业务方沟通, 讨论
可能决议
一个歌词制造
的用户能否
是优质用户可能具有的特征, 以及业务方依据

业务的熟习
和敏感度给出的剖析

倡议

,然后第三
剖析

这个需求的需求目的以及需求执行的可行性(能否
有支持的数据,)

3. 数据探求

依据

沟通后的结论, 数据剖析

师从数据仓库提取相对应的数据, 即提取三类用户的一些属性特征及其用户ID,如下图所示:

其中userid 指的是用户的账号,

song_play_7 指的是过去7天的平均

播放量,

lyric_activity_7 s ?值的是过去7天的对歌词有效生动

行为: 如歌词搜索, 歌词报错, 歌词分享, 歌词翻译, 歌词改错等

type: 代表用户是属于哪一种类

型的用户: 优质2 , 普通
?1 ?渣滓
0

useridsong_play_7lyric_activity_7type
11112052
22214822
33310062
44412001
5558011
66613001
7775000
8883010
9998000

本次例子假定

是没有缺失值和异常值, 普通
来说 要对数据中的缺失值和异常值中止

处置
。 比如

去掉异常值, 对缺失值中止

均值或者众数来替代

4. knn 算法预测一个新用户 能否
是属于优质用户

假定

曾经
知道

这个用户的播放量为 140 s 报错次数为3 ?归一化处置
后为:0.932203,0.5

第一
对上面的数据中止

归一化处置

useridsong_play_7lyric_activity_7type
1110.7627118640.8333333332
22210.3333333332
3330.59322033912
4440.76271186401
5550.4237288140.1666666671
6660.84745762701
7770.16949152500
88800.1666666670
9990.42372881400

计算这个新的用户和图中的每一个用户的欧式距离

为:

((0.932203-?0.762711864)^2+(0.5-0.833333333)^2) ?的开方根

依次计算结果如下:

则最小距离

的前三位分别为 0.373948311, 1.16863508, 1.537825481 ?他们对应的type 都是2即优质用户, 则能够

判别
这个新用户为优质用户。

0.373948311
1.16863508
1.537825481
3.504101344
4.363063227
5.500652804
6.544595038
7.392345678
8.515194827

相似

的大盘的一切
的用户都能够

采取这种方式来找出优质用户中止

拉新。

5. 结果反响

模型落地

将这个模型的预测过程和结果与业务方沟通, 并且布置
模型落地, 并监控上线之后的效果, 不时
改善模型

6. 可能具有的成果:

依据

这个模型业务方发现了优质用户所具有的特征属性, 经过
运营的方式拉取很多优质用户, 大大进步
整体的优质歌词的比例, 进步
KPI指标。

发表评论

评论已关闭。

相关文章