基于大数据聚类社群的作弊用户发现方法

前面的文章中我们讲道,像趣头条类的APP对于收徒和阅读行为给予用户现金奖励的方式势必会受到大量羊毛党黑产的注意,其实单个用户能薅到的钱是没有多少的,为了达到利益最大化,黑产肯定会利用各种手段构建大量账号来薅APP运营企业的羊毛,因为收徒的奖励远高于阅读,所以赚取收徒奖励就成了最严重的薅羊毛手段。前文提到为了更好的识别出这些异常用户,我们利用用户的师徒关系构建连通图,把同一个连通图上的用户视为一个社群,利用Spark Grahpx实现了一个简单高效的社群发现功能。具体内容可以查看上一篇文章《基于Spark Grahpx+Neo4j 实现用户社群发现》,但生成社群不是目的,我们的目标是能够对社群用户进行分析,根据规则和算法的方法找出社群内的异常用户及异常社群,从而达到风控的目的。

规则的方法主要是,我们在设备,IP,用户基础信息,用户行为信息等维度组合构建用户的风控画像,然后开发规则引擎,制定阈值,过滤出超过阈值的异常用户。但只通过规则的方法往往是不够的,大量的用户单从个体上看看不出多少异常,但如果上升一个层次,从社群的整体角度去分析,就会发现用户的很多相似之处。

就像我们之前文章说的坏人往往是扎堆的,物以类聚,人以群分,而且黑产想达到一定规模,肯定会借助作弊设备,脚本,机器等手段,机器的行为一般都有一些相似性,我们就可以利用这些相似性对用户进行聚类分析,所以除了规则的方法外,我们还可以用机器学习的方法将具有相似行为的用户进行聚类,然后求出类簇的TOP N相似特征,查看是否可疑,比如设备是否相似,行为是否相似,基本信息,账号等是否相似,通过机器学习的方法,我们能找出很多规则没法判定的异常用户。

聚类就是把相似的用户聚在一起,一般的方法就是计算两个用户特征向量的相似度,这就遇到了第一个问题,对于大量用户来说,两两用户计算相似度计算量是非常可怕的,比如50万用户两两计算相似度,总共要计算50w * 50w =2500亿次,这计算量就太大了,如果用户量再大点根本无法计算。对于这种情况,人们一般会利用局部敏感哈希等优化算法将数据进行降维,然后通过哈希把相似的用户尽可能的放到同一个桶里,最后再对同一个桶里的数据进行两两计算,这样计算量就小很多了。

下图是局部敏感哈希算法的一个示意图,普通的哈希算法是尽量将数据打散到不同的桶里,达到减少碰撞的目的,但局部敏感哈希旨在将相似的用户放到相同的桶里。Spark的Mllib库里也提供了LSH局部敏感哈希算法的实现,有兴趣的朋友可以自行查看。

不过我们在用Spark LSH跑数据的过程中,遇到了每次都是最后几个task特别缓慢的情况,可能跟数据倾斜或CPU计算能力不足有关,多次调试都没有太好的效果,又限于资源有限,只能另想别的方法,忽然想到我们之前已经按师徒关系生成的社群,本身就是一种把相似用户放到同一个桶里的操作,而且我们根据师徒关系构建连通图得到的社群应该是已经很好的把有可能是一个团伙的人聚到了一起,这样的话,只需对每个社群进行相似度计算就可以了。

计算相似度的方法有多种,像欧氏距离,汉明距离,余弦相似度,Jaccard 系数等都是常用的度量方法,但鉴于我们提取的用户特征既有数值型,又有字符型,而且用户特征维度一样,我们想通过定义用户有多少个共同特征就判为相似的逻辑,所以我们选择了一个比较简单的f,即对比两用户特征数组相同特征数,满足阈值即为相似。

不同社群用户数
上图是我们根据师徒关系生成的不同社群及社群人数,下图为我们基于这些社群,分别计算出的社群内相似用户及用户的相似特征。


从上图可以看出这些相似用户,有些社群全部是同一个手机型号,并且开机时间相同,手机一直处于充电状态,师徒高度集中等等,这些都是比较可疑的用户,需要风控人员重点分析。

至此,我们通过社群相似度计算实现了一个简单的风控聚类模型,基于这个模型找出了一些相似用户,而且我们可以增加更多的用户特征,调节模型阈值来达到更好的风控效果。后面我们还计划给每个特征定义权重,这样就可以对社群进行打分,进而可以更直观的判断社群的优劣与否。

定义特征权重如下

打分规则
目前相似社群风控分数打分规则为:

  1. 特征占比大于等于50%的特征为该相似社群的相似特征;
  2. 相似社群风控分数 = 相似特征占比乘以特征权重的累加和
  3. 如果存在权重大于等于10的相似特征,相似社群风控分数要再加上用户数mod 100,即每100用户加1分

比如下面为相似社群的用户数和相似特征占比



778 //相似社群用户数

97% of ‘app_ver‘ is ‘3.9.1‘, //权重为2

72% of ‘masterid‘ is ‘599aa668c0d9db00014239e7‘, //权重为5

53% of ‘battery_consumption‘ is ‘100‘ //权重为10



//计算相似社群风控分数如下
Score = 0.972 + 0.725 + 0.5310 + (778 mod 100) 1 = 17.84

查询结果表如下

原文地址:https://www.cnblogs.com/xiaodf/p/11659907.html

时间: 2024-08-28 09:25:34

基于大数据聚类社群的作弊用户发现方法的相关文章

基于大数据技术的手机用户画像与征信研究

内容提要:手机用户画像是电信运营商实现“数据驱动业务与运营”的重要举措.首先,介绍了手机用户画像过程中对个人隐私保护的方法,然后分析手机用户画像的数据来源与大数据实现技术,最后,通过数据样本实例分析手机用户画像在个人征信中的应用. 引言 随着计算机网络技术的不断发展,“数据即资源”的大数据时代已经来临.用户画像是电信运营商为了避免管道化风险,实现“数据驱动业务与运营”的重要举措.用户画像与应用大数据技术对客户分类密切相关,是单个客户的众多属性标签的累积:另一方面,在运营商涉足的消费金融领域,对手

基于大数据的用户行为预测

随着智能手机的普及和APP形态的愈发丰富,移动设备的应用安装量急剧上升.用户在每天使用这些APP的过程中,也会产生大量的线上和线下行为数据.这些数据反映了用户的兴趣与需求,如果能够被深入挖掘并且合理利用,可以指导用户的运营.若能提前预测用户下一步的行为,甚至提前得知用户卸载.流失的可能性,则能更好地指导产品的优化以及用户的精细化运营. 大数据服务商个推旗下的应用统计产品"个数",可以从用户属性.使用行为.行业对比等多指标多维度对APP进行全面统计分析.除了基础统计.渠道统计.埋点统计等

基于大数据的线上线下电商用户数据挖掘研究

From:http://www.thebigdata.cn/JieJueFangAn/11932p2.html Online-to-Offline( 简称 O2O)电子商务模式,是一个连接线上用户和线下商家的多边平台商业模式. O2O 商业模式将实体经济与线上资源融合在一起,使网络成为实体经济延伸到虚拟世界的渠道; 线下商业可以到线上挖掘和吸引客源,而消费者可以在线上筛选商品和服务并完成支付,再到实体店完成余下消费. 它最先由 TrialPay 创始人 AlexRampell提出,在 2006

H2O是开源基于大数据的机器学习库包

H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等熟悉接口,使的BigData爱好者和专家可以利用一系列简单的先进算法对数据集进行探索,建模和评估.数据收集是很容易,但是决 策是很难的. H2O使得能用更快更好的预测模型源实现快速和方便地数据的挖掘. H2O愿意将在线评分和建模融合在一个单一平台上. H2O提供了机器学习的培训手册供学习:H2O训练

基于大数据技术之电视收视率企业项目实战(hadoop+Spark)张长志(项目实战)

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

基于大数据技术推荐系统算法案例实战视频教程(项目实战)

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

新的学习路径、学习想法和思路的头脑风暴:基于泰迪云课程,对数据分析和数据建模,机器学习算法进行统筹,接着是基于大数据的数据挖掘、进度、

新的学习路径.学习想法和思路的头脑风暴:基于泰迪云课程,对数据分析和数据建模,机器学习算法进行统筹,接着是基于大数据的数据挖掘.进度. 泰迪云代码已经下载,对相关内容进行应用和学习 想通视频之后对代码进行研究 专家经验.优秀经验工程师经验转化. 从论文中第三四大章,读取 设计和解决问题流程 找论文.使用benchmark 上有收录论文.找到论文.不建议自己先去想. 以后一定 偏分析,偏挖掘.偏决策的.不是执行者,执行者是最low的,最强的解决方案,都按论文来找. 高端会议.每年会出来十多篇研究成

大数据开发之常见九种数据分析方法

今天给大家分享一篇关于大数据开发常见的9种数据分析方法,首先数据分析是从数据中提取有价值信息的过程,过程中需要对数据进行各种处理和归类,只有掌握了正确的数据分类方法和数据处理模式,才能起到事半功倍的效果,以下是数据分析员必备的9种数据分析思维模式: 1.分类 分类是一种基本的数据分析方式,数据根据其特点,可将数据对象划分为不同的部分和类型,再进一步分析,能够进一步挖掘事物的本质. .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529

DevExpress ChartControl大数据加载时有哪些性能优化方法

DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等): Series.View.LineMarkerOptions.Visible =false. 2. 关闭图表的滚动与缩放功能,手动调整范围,这样将大大减少所需计算的个数. 3. 将 ChartControl.RefreshDataOnRepaint属性设为false 4. 将 ChartContr