python案例:金融营销活动中欺诈用户行为分析(代码片段)

dahongbao dahongbao     2022-12-22     409

关键词:

下午学习了python数据分析的应用案例---金融营销活动中欺诈用户行为分析。数据来源于DC竞赛数据:https://www.dcjingsai.com/common/cmpt/2018%E5%B9%B4%E7%94%9C%E6%A9%99%E9%87%91%E8%9E%8D%E6%9D%AF%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BB%BA%E6%A8%A1%E5%A4%A7%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.html,详细数据信息可去网站查看,标签为1表“羊毛党”,0表“正常用户”

首先,数据导入

1 import numpy as np
2 import pandas as pd
3 from collections import Counter
4 import matplotlib.pyplot as plt
5 from pymining import itemmining,assocrules,perftesting,seqmining
6 import pyecharts as pe
7 rt=pd.read_csv(r"E:\\transaction_train_new.csv",sep=",")
8 ro=pd.read_csv(r"E:\\operation_train_new.csv",sep=",")
9 rtt=pd.read_csv(r"E:\\tag_train_new.csv",sep=",")

然后,数据预处理与简单统计

1 #数据处理与简单统计
2 rt=pd.merge(rt,rtt)
3 ro=pd.merge(ro,rtt)#把标签与行为合并方便结合标签分析行为
4 z1=ro.day.astype(np.str)
5 z2=rt.day.astype(np.str)#把day转为字符串
6 ro.time=pd.to_datetime("2018-01-"+z1+" "+ro.time)
7 rt.time=pd.to_datetime("2018-01-"+z2+" "+rt.time)#把time下面单纯的小时改为标准模式的时间
8 #统计用户总数,羊毛党数量,交易行为数,操作行为数
9 print(len(rtt.UID.values),len(rtt[rtt.Tag==1].UID.values),len(rt),len(ro))

其次,欺诈用户的一般特征分析。

从两个方面1,羊毛党通常事务性操作很少,交易性操作较多。2、羊毛党,通常会多个用户共用银行账户、各种设备等信息

1、#行为时序分析
plt.plot(ro[ro.Tag==1].groupby("day").size())
plt.plot(ro[ro.Tag==0].groupby("day").size())#查看两类用户的事务性数据操作

技术图片

图中,蓝色为“羊毛党”,黄色为“普通用户。可见,羊毛党的事务操作较少,而交易性操作较多,即以尽可能少的成本获取尽可能多的利益

plt.plot(rt[rt.Tag==1].groupby("day").size())
plt.plot(rt[rt.Tag==0].groupby("day").size())#查看两类用户的交易性操作

技术图片

2、多账户羊毛党行为分析

1 #多账号羊毛,多个账号公用银行帐号、各种设备号、手机
2 def cl(x):
3     return set(x.UID.values)
4 z2=rt[rt.acc_id2.notnull()].groupby("acc_id2").apply(cl)#统计各转出账号acc_id2下的用户
5 p2=Counter(z2.apply(len).values)#acc_id2用户数量类别的计数
6 plt.loglog(p2.keys(),p2.values(),"o")#近似为幂函数曲线,数据明显存在问题

技术图片

1 #记录各acc_id2下用户数大于3的用户ID,疑似为羊毛党ID
2 z4=set([])
3 for i in z2.values:
4     if len(i)>3:
5         z4=z4|i
6 z5=set(rt[rt.Tag==1].UID.values)
7 print(len(z4),len(z5),len(z4&z5))#查看预测的羊毛党数量,实际的羊毛党数量,预测对的羊毛党数量
845 3993 725
 1 #同理分析某一标签x0下的用户,>x1的为疑似羊毛党
 2 def u1(x0,x1):
 3     def cl(x):
 4         return set(x.UID.values)
 5     z2=rt.groupby(x0).apply(cl)
 6     p2=Counter(z2.apply(len).values)
 7     plt.loglog(p2.keys(),p2.values(),"o")
 8     z4=set([])
 9     for i in z2.values:
10         if len(i)>x1:
11             z4=z4|i
12     return [z4,len(z4),len(z5),len(z4&z5)]

定义函数u1(x0,x1)分析x0标签下,疑似为用户共用情况,共用用户数>x1则认为是羊毛党

在"acc_id1"”acc_id2“"acc_id3""device_code1""device_code2"下分析羊毛党行为

 1 y1=u1("acc_id1",3)#以ip作为分析指标
 2 y1[1:4]
 3 [845, 3993, 725]
 4 y2=u1("acc_id2",2)
 5 y2[1:4]
 6 [333, 3993, 322]
 7 y3=u1("acc_id3",3)#以ip作为分析指标
 8 y3[1:4]
 9 [298, 3993, 287]
10 de1=u1("device_code1",4)#以同-设备号上有>4个用户,疑似为羊毛党
11 de1[1:4]
12 [1338, 3993, 809]
13 de2=u1("device_code2",4)#手机品牌标签下的羊毛党分析
14 de2[1:4]
15 [1023, 3993, 805]

最后,汇总分析这5个指标的筛选结果

1 w=y1[0]|y2[0]|y3[0]|de1[0]|de2[0]
2 print(len(w),len(z5),len(w&z5))
3 f0=len(w&z5)/len(w)
4 f1=len(w&z5)/len(z5)
5 f2=f0*f1*2/(f0+f1)
6 print(f0,f1,f2)#仅仅用简单的条件就能达到0.4以上

1967 3993 1282
0.6517539400101677 0.3210618582519409 0.4302013422818792

 

深度学习核心技术精讲100篇(七十九)-深度学习应用实战案例:携程金融自动化迭代反欺诈模型体系

前言支付欺诈风险是携程金融风控团队的主要防控对象,它一般是指用户卡片信息或账号信息泄露后,欺诈分子利用这些信息在携程平台进行销赃,侵害用户资金安全,给用户和携程平台带来损失。1.高对抗性欺诈分子的作案手... 查看详情

在金融行业中数据挖掘的应用都有哪些

...篇文章中我们给大家介绍了很多在金融行业中数据挖掘的案例,有关数据挖掘的案例实在是有很多。随着金融大数据特征在大数据时代的日益明显,监管上和业务上的需求也越来越复杂,无论是对科研界还是实业界都提出了新的... 查看详情

科普文:银行业9大数据科学应用案例解析!

参考技术A在银行业中使用数据科学不仅仅是一种趋势,它已成为保持竞争的必要条件。银行必须认识到,大数据技术可以帮助他们有效地集中资源,做出更明智的决策并提高绩效。以下我们罗列银行业使用的数据科学用例清单... 查看详情

机器学习在金融领域的应用场景(含具体案例)

...通过机器学习处理买卖盘数据来判断市场的方向。2.1交易行为分析通过多种参数对大量交易者交易行为评级(交易胜率,风控能力, 查看详情

实战案例|基于机器学习的python信用卡欺诈检测!(代码片段)

欢迎关注,专注Python、数据分析、数据挖掘、好玩工具!当我们在网上购买产品时,很多人喜欢使用信用卡。但信用卡欺诈常常会在身边发生,网络安全正成为我们生活中至关重要的一部分。为了解决这个问题... 查看详情

flinkv1.13实现金融反诈骗案例(代码片段)

基于DataStreamAPI实现欺诈检测#ApacheFlink提供了DataStreamAPI来实现稳定可靠的、有状态的流处理应用程序。Flink支持对状态和时间的细粒度控制,以此来实现复杂的事件驱动数据处理系统。这个入门指导手册讲述了如何通过FlinkData... 查看详情

flinkv1.13实现金融反诈骗案例(代码片段)

基于DataStreamAPI实现欺诈检测#ApacheFlink提供了DataStreamAPI来实现稳定可靠的、有状态的流处理应用程序。Flink支持对状态和时间的细粒度控制,以此来实现复杂的事件驱动数据处理系统。这个入门指导手册讲述了如何通过FlinkData... 查看详情

大数据运维的主要工作内容是啥?

...、渠道分析、决策分析等等);工具和技能:工具:R、Python、SAS、SPSS、Spark、X-Mind、Excel、PPT技能:需掌握SQL数据库、概率统计、常用的算法模型(分类、聚类、关联、预测等,每一类模型的一两种最典型的算法)、分析报告的... 查看详情

全面解析反欺诈(羊毛盾)api,助你识别各类欺诈风险(代码片段)

...于以下六种风险:反欺诈(羊毛盾)API的应用场景互联网营销推广在互联网企业推广过程中起到安全防护的作用,可以防止恶意注册、刷单、领用的行为。数据真实性测评针对虚假用户体量、虚假活动数量的困扰,帮助投资者做... 查看详情

信用卡欺诈检测分析案例

data=pd.read_csv("creditcard.csv")data.head()count_classes=pd.value_counts(data[‘class‘],sort=True).sort_index()#value_count:计算数值的个数count_classes.plot(kind=‘bar‘)#绘制条形图plt.title("Fraudclasshiistogram" 查看详情

一个优秀的大数据开发工程师的日常是怎么样的?

...分析、渠道分析、决策分析等等);工具和技能:工具:R、Python、SAS、SPSS、Spark、X-Mind、Excel、PPT技能:需掌握SQL数据库、概率统计、常用的算法模型(分类、聚类、关联、预测等,每一类模型的一两种最典型的算法)、分析报告的... 查看详情

基于大数据的银行反欺诈的分析报告

...是“啤酒和尿布”。是美国沃尔玛超市的一则营销案例。每到周末的时候,啤酒和尿片的销量很高,经分析,原来是周末电视转播球赛,男人们要一边喝酒一边看球,受冷落的妻子们只好出门逛街或找闺蜜吐槽,照顾孩子... 查看详情

思考反欺诈中的“联防联控”

...技术效用最大化。例如,薅羊毛,可以是发生在金融行业,也可以发生在O2O中。跨平台在同一行业中,黑产的野心是横扫所有平台。这就需要第三方公司或联盟组织,将这些黑产信息共享,一定程度上消除... 查看详情

基于spark的用户行为路径分析

...越重视自家客户的一些行为偏好了,无论是电商行业还是金融行业,基于用户行为可以做出很多东西,电商行业可以归纳出用户偏好为用户推荐商品,金融行业可以把用户行为作为反欺诈的一个点,本文主要介绍其中一个重要的... 查看详情

标普100案例分析——带着python玩金融(5)

参考技术A本文将带着你使用Python对标普100数据进行简单的分析,你会学到:标准普尔100指数用来衡量大公司的股票表现,它由多个行业的100家主要公司构成。2017年标普100在各行业的比例如下图所示。本文将要分析的数据如下表... 查看详情

用户行为流程分析法及在金融分析中的应用

参考技术A用户行为路径分析是一种监测用户流向,从而统计产品使用深度的分析方法。它主要根据每位用户在App或网站中的点击行为日志,分析用户在App或网站中各个模块的流转规律与特点,挖掘用户的访问或点击模式,进而... 查看详情

商城活动做得好,从此用户来的早!

...管是做微商城,还是做其他平台,用于离不开的就是各种营销活动。营销活动的开展,能够让更多的用户关注到产品和店铺,并且产生购买。在日常的微商城运营过程中,做好营销活动是特别重要的。 相对于传统的营销 ... 查看详情

大数据工作都做啥。我对大数据感兴趣,想从事这方面的工作,但是不知道他具体是要做啥。求解~~

...、渠道分析、决策分析等等);工具和技能:工具:R、Python、SAS、SPSS、Spark、X-Mind、Excel、PPT技能:需掌握SQL数据库、概率统计、常用的算法模型(分类、聚类、关联、预测等,每一类模型的一两种最典型的算法)、分析报告的... 查看详情