pandas 根据单号分类_由 “猫捉老鼠”游戏联想的用户分类问题

7ee553757141d58c9875bce8c73936f1.png一、说在最前  

用户识别,用户分类,精准营销…这是咱们业务人员常常念叨的话。底层逻辑为无论任何营销目的,在营销手段上,越针对某一细化群体,达成目的的概率也就会越大。那今天就来和大家说道说道用户识别/分类的一种方法。

d86213e5a9916afbb1e0107dc7c4a5f5.gif

(一)猫捉老鼠

标题中所说的猫和老鼠,不是汤姆and杰瑞,而是公司与黑产的对抗。我们在日常工作中也会有所耳闻和接触。比如平台有一些营销活动,无数黑产就会闻风而来,进行“薅羊毛”行为。

黑产往往有组织,有计划地进行套利,大多企业不会坐以待毙。攻防之间,套路不断演变、战场不断扩大、技术不断升级。本文就是基于黑产中的一个小场景展开了一场“猫捉老鼠”游戏。

(二)分类问题

猫捉老鼠的游戏也需要去识别是像杰瑞一样的“好老鼠”,还是过街被打的“坏老鼠”,这就涉及到分类问题了。最简单,也是最常见的就是"Yes/No"这样的二分类问题。比如:
  • 某个模块被点击的可能性(点/不点)

  • 某个用户买机票的可能性(买/不买)

  • 某个用户是黄牛的可能性(是/不是)

有些问题无法立马得到确切回答,好比求婚时,你不知道得到"Yes"还是"No",这个时候也许可以求助于伟大的统计学了。7ee553757141d58c9875bce8c73936f1.png二、 逻辑回归 032bf7e6ed52ec1ab6e939fd3b5cb313.png

提到二分类问题,经典的逻辑回归(Logistic Regression)就不得不登场了。虽然名字中带“回归”两字,但它解决的并不是回归问题,而是分类问题,且它是基于对某一类别或事件发生的概率进行建模的。比如:被点击/不被点击、会买/不会买、是黄牛/不是黄牛。明白了这一点,各位看官就随我一起来瞅瞅它是如何用概率进行分类的。

(一)线性回归VS逻辑回归

逻辑回归和线性回归在原理上有很多相似之处,对比来看会更加清晰。大多人对线性回归会比较熟悉,由此来引入逻辑回归,也比较易于理解和接受。

1、线性回归

有一组数据,包含两列:重量和尺寸。想探索二者之间的关系,自然建立一个线性回归模型,用重量预测尺寸。具体步骤如下:

(1)获取数据,包含重量和尺寸

234082bfa5961c36a03214965ce3abe3.png

(2)建立模型,拟合一条直线

在确定直线时,运用最小二乘法。计算每个点到拟合直线的距离(残差),先平方再求和,然后通过最小化残差平方和,确定直线的斜率和截距。

814a6325abd09ac1e55c6b3b68bbb874.png

(3)预测

利用重量和尺寸之间的线性关系,确定重量值之后,就可以预测对应的尺寸的值。

fdc08b8a74923b576cc8e4152faa62c4.png

2、逻辑回归

逻辑回归用来预测分类问题,比如是否肥胖。有一组数据,包含两列:重量和是否肥胖。探索二者之间的关系,用重量来预测是否肥胖。

(1)获取数据,包含重量和它所属的类别,即是否肥胖。

826975095f8e46fe1400d4be8abebcf8.png

(2)建立模型,拟合出一条S型曲线。

逻辑回归拟合的是一条S型曲线,并且曲线在纵轴的取值范围是0到1,代表的是以重量衡量时,属于肥胖的概率。

ae45bc679559e8eed05b29ba16f6bda0.png

(3)模型解读,预测

对于A的重量,它属于肥胖的概率比较小,在0.5左右,对于B的重量,它属于肥胖的概率比较大,大约在0.9以上。当知道一个重量时,就能获得对应的属于肥胖的概率。

(二)逻辑回归的基本思想

       复杂的算法原理公式在此就不具体展开了,感兴趣的小伙伴可以参考博文http://blog.csdn.net/pakko/article/details/37878837。不感兴趣的小伙伴可以直接跳到案例应用部分。

1、Sigmoid函数

在逻辑回归中,我们需要借助Sigmoid函数来构建似然函数。

2、最大似然估计

上述的小例子仅包含“重量”这一个特征,那当相关特征非常多的时候,我们需要给每个特征乘上一个系数,使用的方法是最大似然估计。

3、梯度下降法

使用梯度下降法获得最优参数,使得预测值和真实值之间的差距最小得到的最优结果。

(三)逻辑回归的用途

(1)寻找主要影响因素:系数绝对值越大,说明该变量越重要。(2)预测:预测在不同的自变量情况下,某事件发生的概率。(3)分类:据概率值大小,进行分类。7ee553757141d58c9875bce8c73936f1.png 三、案例应用 

本文开头介绍了猫和老鼠的游戏,接下来将使用LR模型,基于黑产其中的一个小场景——恶意占编进行黑用户的识别。

(一)案例背景

以购买机票为例,用户在任何平台创建订单后呢,平台会去锁定航司处这张票的资源。如果等用户支付后占编,就需要承担创单和支付订单时间差内的价差及库存变化,有高额成本。而支付前占编呢,就会给黑用户可乘之机,恶意占编不付款,而后以更高价格转售或以其他途径进行牟利。航司爸爸发现后就会对平台进行封号、警告、罚款。平台弱小,可怜,无助…

(二)分析过程

那必然不能坐以待毙,任黑产使劲薅,万一被薅秃了可咋整?

d858adbb2bc82747d8519e75d6a13af8.gif

于是,机智的捕鼠小分队出动,基于某一真实场景制定了精密的计划,如下图所示。在此主要给大家说道说道策略开发这一趴。

32ea41053cef44b5261f7edf2545ea40.png

1、样本扩充

目前警长手中只有100个线索,也就是只有100个恶意占编的订单号。线索过少,找不到所有同伙。也就是当数据量达到一定程度后,才能反映出特定的规律,所以首先进行黑订单样本扩充。

d8c18f79d3da420415ebde46197aad8d.png

(1)黑订单号对应的账号下的其余订单号:通常一个会员账号会多次重复下单;(2)黑订单账号对应的注册手机号作为联系人手机号出现在其他订单中的订单;(3)黑订单账号对应的联系人手机号作为注册手机号出现在其他订单中的订单。2、特征识别

从“预订人”,“乘机人”,“订单”三个维度着手,获取用户的相关基础信息以及行为数据,考虑黑用户与正常用户的行为数据差异,进行特征识别,下图是部分特征。

5f8689f9ba2d6636e09a79e2165e74f0.png

3、模型建立

(1)特征工程

a)离散型数据处理

会员等级等变量是定类型变量,利用pandas的get_dummies方法,对其进行one-hot编码。

0cbf4bec0d219ffc0d552e564ab9bd28.png

b)连续型数据处理

由于多个特征之间差异较大会造成梯度下降算法收敛速度变慢。因此对连续型变量等进行归一化处理。

b75b37c929a8a42c1b4c9f3cddaced86.png

(2)具体建模a)划分数据集

将数据集划分为训练集和测试集。

8a5e52216b22c10f008fb540af605590.png

b)训练模型并调参

0830e24efc49d94f97d5575aaad521a2.png

c)输出特征重要性

d2e2c04ae7b7ab8737c8940c1cb79d46.png

在Logistic模型中,输入的特征都对应一个系数,系数绝对值越大,就认为该特征越重要。d)输出模型准确性

5d8ba84ac28568fcbb3f3f1043bc8278.png

经过调参,模型在训练集和测试集的准确率较高,到达80%,故认为模型的输出结果可信度较高。

e)模型应用

根据模型输出结果,对近8000名用户,打上“高度疑似恶意占编用户”,应用于风控系统,将其占编方式设定为“支付后占编”。

7ee553757141d58c9875bce8c73936f1.png 四、讲在最后 

分类是我们简化认识,理解世界最常用的方式之一。我们可以一起来探索更多的方法途径,去更好地认识产品,认识用户。没时间解释了,小伙伴们快上车!

df482c1c26f3ed039b1f8bdc914cd498.png

发现“在看”和“赞”了吗,戳我试试吧

d994f0ecaa907d773574c8197e47deac.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arraylist从大到小排序_java基础算法之二叉树排序(递归)

一、二叉树介绍在计算机科学中,二叉树是每个结点最多有两个子树的树结构。二叉树由各种节点组成,如下图所示:每个节点都可以有左子节点,右子节点每一个节点都有一个值二叉树遍历:二叉树的遍历分左序,中序&a…

uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程

数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。在IC设计中,数字验证所占的人数比重是非常多的,很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3。数字验证主要分成几种层次的验证&#…

关联查询数据重复怎么办_在设计数据表的时候,是一个宽表好,还是多个维度表好?...

数据仓库每张表的搭建,主要依赖于这个表在整个数据仓库中的作用和相关意义。首先要清楚这个表的存在是为了解决那些问题,什么角色使用,怎么保证使用者尽可能好的体验解决问题。从以上所提到的角度去看待问题,拆解以下几点因素&…

用python画出叶子_太疯狂了!原来用粉笔画画,也可以这么美,简单几招教你,美到邻居羡慕嫉妒...

......点进来之前先让大家瞧瞧相信这是用粉笔画的吗?▼玫瑰花▼山茶花▼蓝色鸢尾花▼樱花树▼这一张张让人直流鼻血的作品没错这就是用色粉笔画出来的很多人问:是不是平时老师上课时用的粉笔呢?这里给大家科普下:色粉画&#xff0…

jsonp react 获取返回值_必须要会的 50 个React 面试题(下)

翻译:疯狂的技术宅原文:https://www.edureka.co/blog/interview-questions/react-interview-questions29. 你对受控组件和非受控组件了解多少?受控组件非受控组件1. 没有维持自己的状态1. 保持着自己的状态2.数据由父组件控制2.数据由 DOM 控…

snipaste截图软件滚动截图_截图工具的逆袭,Snipaste 还可以这么玩

这是我们的历史文章。为让大家更好找到自己需要的软件,我们会在三条位置推送,那些备受关注的APP和软件。提到「截图」大家会想到什么呢?微信,QQ 或者 功能更加完善的截图工具?有想过「截图」可以这样用吗?还…

plsql developer无监听程序_微信小程序支持分享到朋友圈啦!技术解读跟我来

千呼万唤始出来!微信小程序页面分享到朋友圈的功能,终于在安卓系统灰度测试了!目前只在安卓系统!只在安卓系统!只在安卓系统!iOS系统还没有办法体验。首先,我们看一下官方文档的描述&#xff0c…

mixin network_【译文】Mixin——以最高的安全性满足所有区块链资产的交易需求

一个免费的闪电般快速的数字资产端对端交易网络。01.概况Mixin 由一个理论上永久的内核、许多动态域和不同的多用途域扩展组成,以构成扩展的星形拓扑结构。Mixin Network 已经支持 BTC,BCH,ETH,EOS,ETC,SC&…

python柱形图代码_Python数据可视化:基于matplotlib绘制「条形图」

简介 条形图 (bar chart)是用宽度相同条形的高度或长短来表示数据多少的图形,可以横置或纵置。纵置时的条形图也称为 柱形图 (column chart)。 绘制条形图 1 import matplotlib.pyplot as plot 2 3 data [5., 25., 50…

源码 连接mysql_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...

一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlserver是不可…

asp.net mvc使用的心得和问题的解决方法(陆续更新ing)

1、在mvc下webform的分页控件不能用&#xff0c;只好自己山寨一个轻便的。 1publicclassPageHelp2{ 3 /**//// <summary> 4 /// 总页数 5 /// </summary> 6 public int TotalPageNum { get; set; } 7 /**//// <summary…

h5 一镜到底_这些一镜到底的H5还能怎么玩?

前文《单个公众号收入过亿&#xff0c;条漫为什么成为2019风口》提到&#xff0c;加入插画元素的条漫和ps拼接的长图文正处在2019年风口&#xff0c;这种现象也适合描述H5。以往扁平化的H5内容新颖&#xff0c;但视觉上缺乏大幅度的起伏。想要让H5看起来更有律动&#xff0c;就…

打开端口_打印机ip及端口设置

越洋帮路由网原创&#xff1a;文章是关于"打印机ip及端口设置"的相关知识分享&#xff0c;希望可以帮到大家。 - 素材来源网络 编辑:小易。随着科学技术的发展&#xff0c;各种技术成果也进入到千家万户&#xff0c;近日&#xff0c;有人咨询怎样设置和修改打印机ip及…

分计算iv值_快捷、经济、实用的光伏及IV曲线测试仪PVPM 1500X

PVPM 1500X IV曲线测试仪pvpm 1500x (1500V,20ADC)可测量光伏模块以及字符串或阵列的 iv 曲线。通过专利程序, 该设备可以直接在光伏系统的安装位置测量和计算峰值功率 ppk、r 和 rp。计算结果和图表可以显示在内部彩色的 tft 显示屏上。因此, 光伏系统的质量控制可以快速、经济…

Open Source Blog 开源ASP.NET/C# 博客平台 v2.5 发布(提供源码下载)

EntLib.com Blog 开源ASP.NET/C# 博客平台 v2.5 发布&#xff08;提供源码下载&#xff09;基于Subtext v2.0 开源ASP.NET博客系统的中文汉化及定制化开发&#xff0c;EntLib.com 开源博客小组根据用户的反馈意见&#xff0c;不断改进系统。2008年11月22日正式发布 EntLib.com …

兄弟3150cdn加粉后清零_兄弟MFC1618MFC1816 tn1035加粉清零方法

兄弟MFC-1618\MFC-1816 tn-1035加粉清零方法 有今天要发的题目的话؛兄弟MFC-1618\MFC-1816 tn-1035加粉清零方法 墨粉盒型号&#xff1a;兄弟TN-1035兄弟MFC-1618的清零方法有两种&#xff1a;一、清粉盒(转动粉盒右侧的齿轮180度)&#xff1b;二、在机器上操作&#xff1b;(以…

字体外面怎么加边框_有钱人家连电视墙都发“光”,大理石墙周围加一圈镜面边框,华丽...

阅读本文前&#xff0c;请您先点击上面蓝色字体&#xff0c;再点关 注这样您就可以继续免费收到文章了&#xff0c;每天都有分享&#xff0c;完全是“免费订阅”&#xff0c;请放心关注注&#xff1a;本文转载自网络&#xff0c;如有侵权&#xff0c;请在后台留言联系我们进行删…

计算机与人脑_类脑计算机:一种新型的计算系统

近日&#xff0c;中国浙江大学联合之江实验室共同研制成功了国内首台基于自主知识产权类脑芯片的类脑计算机(Darwin Mouse)。这台类脑计算机包含792颗浙江大学研制的达尔文2代类脑芯片&#xff0c;支持1.2亿脉冲神经元、近千亿神经突触&#xff0c;与小鼠大脑神经元数量规模相当…

吴玉禄他的机器人_中国人— 我们村的机器人

他是北京郊区的一名普通农民&#xff0c;二十多岁的时候突发奇想&#xff0c;一门心思要研制机器人。吴玉禄说&#xff0c;他自己也搞不清楚这个念头到底是哪儿来的。吴玉禄没有受过正规教育&#xff0c;他研制机器人所用的材料&#xff0c;都是些平时收捡来的“破烂”。吴玉禄…

c++ map iterator 获取key_JAVA | Map集合使用详解

引言了解Set集合如何使用和旗下各类比较&#xff0c;这篇我们继续和大家一起看看Map集合的使用机制。MapMap集合介绍 Map(也称为字典、关联数组)是用于保存具有映射关系的数据&#xff0c;保存两组值&#xff0c;key和value&#xff0c;这两组值可以是任何应用类型的数据。  …