Kaggle系列-IEEE-CIS Fraud Detection第一名复现
赛题背景
想象一下,站在杂货店的收银台,身后排着长队,收银员没有那么安静地宣布您的信用卡被拒绝了。在这一刻,你可能没有想到决定你命运的数据科学。
非常尴尬有木有?当然你肯定有足够的资金为50个最亲密的朋友办一场盛大的纳乔派对,然后你又试了一次,但是还是同样的结果。此时你只能站在另外一边,让收银员为下一个客户服务时,你收到了银行的短信。“如果你真的想花500美元买切达干酪,请按1。”
虽然现在可能很麻烦(而且常常很尴尬),但这种防欺诈系统实际上每年为消费者节省数百万美元。来自ieee计算智能协会(ieee-cis)的研究人员希望在改善客户体验的同时,提升这个数字。有了更高准确度的欺诈检测率,您就可以在没有麻烦的情况下继续使用您的芯片。
ieee-cis在各种人工智能和机器学习领域,包括深层神经网络、模糊系统、演化计算和群智能等等。今天,他们正与世界领先的支付服务公司Vesta Corporation合作,为防欺诈行业寻求最佳解决方案,现在邀请您也加入此次挑战。
在本次竞赛中,您将在一个具有挑战性的大型数据集上对你的机器学习模型进行基准测试。这些数据来自Vesta的真实电子商务交易,并且包含了从设备类型到产品功能的各种特征。您还可以创建新的特征来改善结果。
如果成功,您将提高全球数百万人的欺诈交易警报的有效性,帮助数十万企业减少欺诈损失并增加收入。当然,你也可以为你自己减少误报的麻烦。
致谢:
Vesta公司为这次竞争提供了数据集。Vesta公司是保证电子商务支付解决方案的先驱。维斯塔公司成立于1995年,开创了电信行业无担保卡(CNP)支付交易的先河。此后,Vesta在全球范围内坚定地扩展了数据科学和机器学习能力,巩固了其在保证电子商务支付方面的领先地位。如今,Vesta每年为超过180亿美元的交易提供担保。
Magic Feature
https://www.kaggle.com/cdeotte/xgb-fraud-with-magic-0-9600
# frequency encode
def encode_FE(df1, df2, cols):for col in cols:df = pd.concat([df1[col], df2[col]])vc = df.value_counts(dropna=True, normalize=True).to_dict()vc[-1] = -1nm = col + "FE"df1[nm] = df1[col].map(vc)df1[nm] = df1[nm].astype("float32")df2[nm] = df2[col].map(vc)df2[nm] = df2[nm].astype("float32")print(col)# label encode
def encode_LE(col, train=X_train, test=X_test, verbose=True):df_comb = pd.concat([train[col], test[col]], axis=0)df_comb, _ = pd.factorize(df_comb[col])nm = colif df_comb.max() > 32000:train[nm] = df_comb[0: len(train)].astype("float32")test[nm] = df_comb[len(train):].astype("float32")else:train[nm] = df_comb[0: len(train)].astype("float16")test[nm] = df_comb[len(train):].astype("float16")del df_combgc.collect()if verbose:print(col)def encode_AG(main_columns, uids, aggregations=["mean"], df_train=X_train, df_test=X_test, fillna=True, usena=False):for main_column in main_columns:for col in uids:for agg_type in aggregations:new_column = main_column + "_" + col + "_" + agg_typetemp_df = pd.concat([df_train[[col, main_column]], df_test[[col, main_column]]])if usena:temp_df.loc[temp_df[main_column] == -1, main_column] = np.nan#求每个uid下,该col的均值或标准差temp_df = temp_df.groupby([col])[main_column].agg([agg_type]).reset_index().rename(columns={agg_type: new_column})#将uid设成indextemp_df.index = list(temp_df[col])temp_df = temp_df[new_column].to_dict()#temp_df是一个映射字典df_train[new_column] = df_train[col].map(temp_df).astype("float32")df_test[new_column] = df_test[col].map(temp_df).astype("float32")if fillna:df_train[new_column].fillna(-1, inplace=True)df_test[new_column].fillna(-1, inplace=True)print(new_column)# COMBINE FEATURES交叉特征
def encode_CB(col1, col2, df1=X_train, df2=X_test):nm = col1 + '_' + col2df1[nm] = df1[col1].astype(str) + '_' + df1[col2].astype(str)df2[nm] = df2[col1].astype(str) + '_' + df2[col2].astype(str)encode_LE(nm, verbose=False)print(nm, ', ', end='')# GROUP AGGREGATION NUNIQUE
def encode_AG2(main_columns, uids, train_df=X_train, test_df=X_test):for main_column in main_columns:for col in uids:comb = pd.concat([train_df[[col] + [main_column]], test_df[[col] + [main_column]]], axis=0)mp = comb.groupby(col)[main_column].agg(['nunique'])['nunique'].to_dict()train_df[col + '_' + main_column + '_ct'] = train_df[col].map(mp).astype('float32')test_df[col + '_' + main_column + '_ct'] = test_df[col].map(mp).astype('float32')print(col + '_' + main_column + '_ct, ', end='')
链接:https://zhuanlan.zhihu.com/p/85947569
http://www.taodudu.cc/news/show-4477328.html
相关文章:
- Medicare Fraud Detection using Machine Learning
- 图数据库初探相关——1.Simulating Mobile Money Fraud pt.1(模拟移动支付诈骗)翻译
- Credit Card Fraud Detection(信用卡诈欺侦测)Spark建模
- Kaggle | 金融交易欺诈检测(Synthetic Financial Datasets For Fraud Detection)
- Genetic Fraud
- Kaggle赛题-Synthetic Financial Datasets For Fraud Detection
- Kaggle数据竞赛记录 - IEEE-CIS Fraud Detection
- Kaggle-Credit Card Fraud
- A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结
- kaggle比赛记录——ieee_fraud_detection问题
- Credit Card Fraud Detection(信用卡欺诈检测相关数据集)
- 论文 | Credit Card Fraud Detection Using Convolutional Neural Networks
- Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记
- IEEE-CIS Fraud Detection(一)
- 【工作】Amazon Fraud Detection
- 不平衡样本的分类实践---Credit-Card-Fraud-Detection
- IEEE Fraud Detection Competition思路探索
- Fraud Busters
- 4.实操(Credit Card Fraud Detection)
- 使用IBM InfoSphere Guardium Data Redaction在保护隐私的同时共享信息
- InfoSphere Guardium在医疗保健行业中对System Z的好处
- 使用Guardium和QRadar检测数据库漏洞
- 数据安全审计_使用数据级安全性对InfoSphere Guardium中的审计结果进行细粒度访问控制
- 数据保护与隐私无从下手?IBM Guardium在全面可靠上拔头筹!
- 两大数据库安全产品比拼:IBM Guardium VS Imperva SecureSpher
- 使用IBM InfoSphere Guardium Encryption Expert保护您的敏感数据
- 有IBM Guardium 看清谁动了我的数据
- 使用InfoSphere Guardium保护和加强Netezza数据仓库设备
- IBM Guardium
- 使用Guardium离群值检测来检测隐藏的威胁
Kaggle系列-IEEE-CIS Fraud Detection第一名复现相关推荐
- 教程 | Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测
https://mp.weixin.qq.com/s/JwRXBNmXBaQM2GK6BDRqMw 选自GitHub 作者:Artur Suilin 机器之心编译 参与:蒋思源.路雪.黄小天 近日,A ...
- Kaggle数据竞赛记录 - IEEE-CIS Fraud Detection
最近准备春招,之前打的kaggle竞赛过了很久回顾一下:IEEE-CIS Fraud Detection 排名:铜牌 Top9%,在公榜100多,后期没有什么时间,私榜直接掉400多,所以看了很多大神 ...
- Kaggle赛题-Synthetic Financial Datasets For Fraud Detection
本文主要通过Kaggle中的Synthetic Financial Datasets For Fraud Detection赛题,即金融反欺诈预测来对数据挖掘的过程进行一个较为全面完整的学习理解.本赛 ...
- Kaggle | 金融交易欺诈检测(Synthetic Financial Datasets For Fraud Detection)
[学习用] 原题目地址:Synthetic Financial Datasets For Fraud Detection 原代码地址:Predicting Fraud in Financial Pay ...
- CBGS : 三维点云物体检测的类平衡分组和采样(新自动驾驶数据集nScenes第一名算法)...
作者丨Geek@知乎 来源丨https://zhuanlan.zhihu.com/p/80086809 编辑丨3D视觉工坊 <Class-balanced Grouping and Sampli ...
- Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记
Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记 文章标题:A ...
- PHP扩展开发系列01 - 我要成为一名老司机
PHP扩展开发系列01 - 我要成为一名老司机 1. 关于扩展的教程貌似挺全了,为啥还写? 记录下我写扩展的历程 自认为会写的更容易理解 我的宗旨就是 "先用再识" 代码写着写着就 ...
- Deepsort_V2 2020中兴捧月阿尔法赛道多目标检测和跟踪初赛第一名
2020中兴捧月阿尔法赛道多目标检测和跟踪初赛第一名方案 初赛:多目标跟踪:指标MOTA和MOTP, 后期的大量实验证明检测算法相对于跟踪更重要. 数据集分析: 1.人群密集稀疏场景: 2.场景(白天 ...
- 数猪第一名!推荐给你的朋友们!猪只盘点挑战赛Baseline分享
每年这么多场比赛,层出不穷的新赛题搞得大家有些麻木. 今天老DC给大家推荐一个新赛题,也许不适合你,但一定适合一起打比赛的好兄弟. 不过,猪猪不是按"头"来计算的吗? 所以是不是可 ...
最新文章
- linux下关于mysqldump备份的.sql导入数据库表数据丢失优化
- Spring Boot 的单元测试和集成测试
- oracle 表结构语句,oracle查询表结构语句
- Web之http协议(一)
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- html加了文档声明之后页面错乱,为登陆页面扩展和配置设计导入程序
- 公开课|百度天工物联网基础平台的微服务容器化落地实践
- 仿百度外卖的酷炫水波纹效果
- H5的sessionStorage 和 localStorage
- Atitit QL查询语言总结 目录 1. QL = Query Language, 是查询语言的简称	1 2. 具体实现	1 2.1. Apcl 流程控制语言	1 2.2. 脚本流程控制	2 2.
- Thinkpad E570/580可用的黑苹果EFI
- [离线]ps4共享屏幕到笔记本
- 古诗词知识图谱(一)
- AT89S52单片机之定时器/计数器
- C语言与或非应用案例,与或非(生活中与或非例子)
- 如何用matlab产生两列不同频率的正弦波叠加起来?
- 王巧乐菇凉的360图书馆--记录大量web日志分析的内容,非常好
- 见证边缘的力量!全球边缘计算大会•上海站顺利召开!
- HTML5在线电影网站设计 黑色的影视传媒公司网站(6页) HTML+CSS+JavaScript
- 如何选择适合自己的研究方法?定性vs定量vs混合方法研究
热门文章
- 微信已发图片群里服务器撤回,怎样撤回微信群发的信息?撤不回怎么办?
- Android实例开发中登录注册界面的框架实现(android studio)
- 安装ipython的命令是什么意思_ipython 命令
- Tita OKR:目标地图的妙用
- Recyclerview 小demo
- 让你怀疑人生的“良心”软件大集锦,360可能是最“惊喜”!
- 免费手机号码归属地API查询接口
- Python(py3fdfs)上传到fastdfs配置store_serv.ip_addr问题
- 好用的JSON格式化工具
- 问题排查 —— OLAP平台获取查询引擎连接严重耗时