CN112464058A - 一种基于XGBoost算法的电信互联网诈骗识别方法 - Google Patents
一种基于XGBoost算法的电信互联网诈骗识别方法 Download PDFInfo
- Publication number
- CN112464058A CN112464058A CN202011368559.1A CN202011368559A CN112464058A CN 112464058 A CN112464058 A CN 112464058A CN 202011368559 A CN202011368559 A CN 202011368559A CN 112464058 A CN112464058 A CN 112464058A
- Authority
- CN
- China
- Prior art keywords
- model
- ratio
- frequency
- account
- internet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 41
- 238000005070 sampling Methods 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 13
- 235000021110 pickles Nutrition 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 230000006399 behavior Effects 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 13
- 238000003066 decision tree Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 5
- 208000001613 Gambling Diseases 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 4
- 230000007774 longterm Effects 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 238000010801 machine learning Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 3
- 238000002790 cross-validation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Educational Administration (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于XGBoost算法的电信互联网诈骗识别方法,包括步骤:对原始电信互联网数据进行加密处理;处理手机上网及位置移动数据,提取互联网数据上网特征;采用K‑Means降采样对特征数据集进行采样,形成最终数据集;初始化模型参数,使用测试集进行验证,并计算出模型的精准率,召回率,F1分数,对模型进行评估;获得最优的XGBoost模型,并采用pickle将模型序列化,保存到服务器;采用pickle将模型反序列化,并用Flask框架构建API;测通话记录到达时,将数据输入到XGBoost预测模型中,模型预测后,将结果返回。本发明采用XGBoost机器学习算法能准确识别电信互联网诈骗,有效解决公安判案过程中误判和漏判等案件问题。
Description
技术领域
本发明涉及电信互联网领域,具体来说,涉及一种基于XGBoost算法的电信互联网诈骗识别方法。
背景技术
频繁更新换代的电信网络技术为社会提供了”互联网+”新生活,人们宅家时间更多,对电信网络依赖大。通过网络进行业务往来、资金周转、求职购物、工作上课提供了便捷的生活方式,同时网络也难免被不法分子利用,有针对性地实施诈骗,比如利用事主贪图高额利润的心里,设下投资平台骗局;利用事主恐惧害怕的心里,冒充国家机关人员称事主涉案让事主将资金转移至安全账户;还有利用企业或个人疏于防范,贪图方便等漏洞,冒充熟人领导让事主转账汇款。诈骗花样不断翻新,并呈现有”电话诈骗”到”互联网”的演变趋势。网络诈骗发案率逐年递增,涉案金额也成倍增长,扰乱了人们正常的工作和生活秩序,严重影响了人民的安全感,滋生了社会不安定因素。
本专利结合已有手机上网数据、位置移动数据及人工标签库,采用AI技术对上网数据及位置移动数据建立算法模型,实现自动分类预测电信互联网诈骗。该方法能显著提高公安人员破案效率,降低企业及个人的经济损失。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于XGBoost算法的电信互联网诈骗识别方法,能够解决上述问题。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于XGBoost算法的电信互联网诈骗识别方法,包括步骤:
S1对原始电信互联网数据进行加密处理,人工研判并确定训练样本正负分布比例;
S2清洗、处理手机上网及位置移动数据,提取互联网数据上网特征;
S3采用K-Means降采样对特征数据集进行采样,形成最终数据集,并将最终数据集分类成训练集和测试集;
S4初始化模型参数,使用测试集进行验证,并计算出模型的精准率,召回率,F1分数,对模型进行评估;
S5采用网格搜索获得最优的XGBoost模型,并采用pickle将模型序列化,保存到服务器;
S6采用pickle将模型反序列化,并用Flask框架构建API,将模型以接口的方式部署上线;
S7测通话记录到达时,调用API接口,将数据输入到XGBoost预测模型中,模型预测后,将结果返回。
进一步的,步骤S2中:
所述数据集为电信用户上网及位置移动数据,所述电信用户上网及位置移动数据包括用户浏览网站数据、域名解析数据及用户IM行为数据。
进一步的,步骤S2中:
上网特征的特征维度为34维,分别为x1,x2,x3……x34,具体为:
X1为im_type:IM账号类型,QQ或微信;
X2为im_account:IM账号;
X3为login_logout_frequency:一段时间内IM账号的登录登出频数;
X4为peek_frequency:7天内IM账号添加账号的峰值;
X5为long_term_frequency:一段时间内每天添加账号数量的方差;
X6为short_term_frequency:最近1天内IM账号添加账号操作的频数;
X7为media_operation_ratio:IM账号多媒体操作占总操作的比例;
X8为video_frequency:IM账号收发视频占总操作的比例;
X9为active_time_period:以IM账号为单位统计每小时内各类操作的频数,归一化处理后,采用one-hot编码表示;
X10为device_type:IM账号的登录设备:android客户端、IOS客户端、PC;
X11为client_version:IM客户端的版本,拆分为主版本号和次版本号;
X12为im_account_on_device_day:以手机号为单位,统计单设备在1天内共计登录IM账号的个数;
X13为im_account_on_device_now:以手机号为单位,统计最大同时在线IM账号个数;
X14为base_station_location:基站编号;
X15为signal_quality:信号质量,分为优、良、差三个等级,采用one-hot编码;
X16为os_version:手机操作系统的版本号;拆分为主版本号和次版本号;
X17为im_traffic_ratio:IM通信流量占全部流量的比例;
X18为bank_traffic_ratio:访问支付类网站流量占全部流量的比例
X19为shop_traffic_ratio:访问购物类网站流量占全部流量的比例;
X20为up_down_traffic_ratio:统计各时段的上下行流量比例;
X21为gps_info:GPS信息;
X22为roaming_type:用户漫游类型,国际漫游、省际漫游、省内漫游或本地;
X23为in_out_frequency:呼入呼出比;
X24为hang_up_ratio:挂断方向;
X25为region_distribution:被叫号码归属地分布;
X26为same_phone_ratio:呼叫同一号码的频次;
X27为dev_bank_ratio:异常设备访问支付类网站的频数;
X28为dev_shop_ratio:异常设备访问购物类网站的频数;
X29为dev_domain_ratio:异常设备访问不良网址的频数;
X30为victim_bank_ratio:潜在受害者访问支付类网站的频数;
X31为victim_shop_ratio:潜在受害者访问购物类网站的频数;
X32为victim_domain_ratio:潜在受害者访问不良网址的频数;
X33为type:手机卡、QQ或微信的信息,无、虚假贷款、冒充快递退款、网络刷单或网络赌博;
X34为number:上网手机号码。
进一步的,步骤S3具体包括:
S31对于多数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到k近邻,欧式距离d计算如下所示:
其中,x1i和x2i分别为多数类样本中的任一样本和少数类样本中的任一样本;
S32对于每一个多数类样本x,从其k近邻中随机选择若干个样本,假设选择的近邻为xn;
S33对于每一个随机选出的近邻xn,进行随机线性插值,分别与原样本构建新的样本;
S34利用K-Means下采样方法对大类样本聚类,形成与小类样本个数相同的簇类数,从每个簇中随机抽取单个样本与涉诈样本形成平衡的正负样本做为最终数据集。
进一步的,步骤S4中:
精准率=TP/(TP+FP)
召回率=TP/(TP+FN)
F1=2*精准率*召回率/(精准率+召回率)
其中,TP代表样本为正,预测结果为正的个数,FP代表样本为负,预测结果为正的个数,TN代表样本为负,预测结果为负的个数,FN代表样本为正,预测结果为负的个数。
进一步的,步骤S5中获得最优的XGBoost模型具体包括步骤:
S51确定确定学习速率和提升参数调优的初始值;
S52确定树的最大深度和子集的所有观察值的最小权重和的最优参数;
S53分裂节点时参数调优;
S54构建每棵树对样本的采样率和列采样率参数调优;
S55正则化参数alpha调优;
S56逐步降低学习速率和使用更多的决策树。
进一步的,步骤S3中:
所述最终数据集分成十份,轮流将其中9份作为训练集,1份作为测试集。
本发明的有益效果:
1、本发明采用XGBoost机器学习算法能准确识别电信互联网诈骗,有效解决公安判案过程中误判和漏判等案件问题。
2、本发明在数据采样过程使用了K-Means聚类降采样算法,使模型正负样本之间相对平衡,有效减少模型误差。XGBoost对损失函数做了二次泰勒展开并在目标函数中加入了正则项,在权衡目标函数和模型的复杂度的基础上,防止过拟合。除此之外,XGBoost速度快、可移植、可容错等特点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是基于XGBoost算法的电信互联网诈骗识别方法的流程图;
图2是基于XGBoost算法的电信互联网诈骗识别方法诈骗号码最优树;
图3是基于XGBoost算法的电信互联网诈骗识别方法诈骗电话最优化树。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的一种基于XGBoost算法的电信互联网诈骗识别方法,包括步骤:
S1对原始电信互联网数据进行加密处理,人工研判并确定训练样本正负分布比例;
S2清洗、处理手机上网及位置移动数据,提取互联网数据上网特征;
S3采用K-Means降采样对特征数据集进行采样,形成最终数据集,并将最终数据集分类成训练集和测试集;
S4初始化模型参数,使用测试集进行验证,并计算出模型的精准率,召回率,F1分数,对模型进行评估;
S5采用网格搜索获得最优的XGBoost模型,并采用pickle将模型序列化,保存到服务器;
S6采用pickle将模型反序列化,并用Flask框架构建API,将模型以接口的方式部署上线;
S7测通话记录到达时,调用API接口,将数据输入到XGBoost预测模型中,模型预测后,将结果返回。
在本发明的一个具体实施例中,步骤S2中:
所述数据集为电信用户上网及位置移动数据,所述电信用户上网及位置移动数据包括用户浏览网站数据、域名解析数据及用户IM行为数据。
在本发明的一个具体实施例中,步骤S2中:
上网特征的特征维度为34维,分别为x1,x2,x3……x34,具体为:
X1为im_type:IM账号类型,QQ或微信;
X2为im_account:IM账号;
X3为login_logout_frequency:一段时间内IM账号的登录登出频数;
X4为peek_frequency:7天内IM账号添加账号的峰值;
X5为long_term_frequency:一段时间内每天添加账号数量的方差;
X6为short_term_frequency:最近1天内IM账号添加账号操作的频数;
X7为media_operation_ratio:IM账号多媒体操作占总操作的比例;
X8为video_frequency:IM账号收发视频占总操作的比例;
X9为active_time_period:以IM账号为单位统计每小时内各类操作的频数,归一化处理后,采用one-hot编码表示;
X10为device_type:IM账号的登录设备:android客户端、IOS客户端、PC;
X11为client_version:IM客户端的版本,拆分为主版本号和次版本号;
X12为im_account_on_device_day:以手机号为单位,统计单设备在1天内共计登录IM账号的个数;
X13为im_account_on_device_now:以手机号为单位,统计最大同时在线IM账号个数;
X14为base_station_location:基站编号;
X15为signal_quality:信号质量,分为优、良、差三个等级,采用one-hot编码;
X16为os_version:手机操作系统的版本号;拆分为主版本号和次版本号;
X17为im_traffic_ratio:IM通信流量占全部流量的比例;
X18为bank_traffic_ratio:访问支付类网站流量占全部流量的比例
X19为shop_traffic_ratio:访问购物类网站流量占全部流量的比例;
X20为up_down_traffic_ratio:统计各时段的上下行流量比例;
X21为gps_info:GPS信息;
X22为roaming_type:用户漫游类型,国际漫游、省际漫游、省内漫游或本地;
X23为in_out_frequency:呼入呼出比;
X24为hang_up_ratio:挂断方向;
X25为region_distribution:被叫号码归属地分布;
X26为same_phone_ratio:呼叫同一号码的频次;
X27为dev_bank_ratio:异常设备访问支付类网站的频数;
X28为dev_shop_ratio:异常设备访问购物类网站的频数;
X29为dev_domain_ratio:异常设备访问不良网址的频数;
X30为victim_bank_ratio:潜在受害者访问支付类网站的频数;
X31为victim_shop_ratio:潜在受害者访问购物类网站的频数;
X32为victim_domain_ratio:潜在受害者访问不良网址的频数;
X33为type:手机卡、QQ或微信的信息,无、虚假贷款、冒充快递退款、网络刷单或网络赌博;
X34为number:上网手机号码。
在本发明的一个具体实施例中,步骤S3具体包括:
S31对于多数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到k近邻,欧式距离d计算如下所示:
其中,x1i和x2i分别为多数类样本中的任一样本和少数类样本中的任一样本;
S32对于每一个多数类样本x,从其k近邻中随机选择若干个样本,假设选择的近邻为xn;
S33对于每一个随机选出的近邻xn,进行随机线性插值,分别与原样本构建新的样本;
S34利用K-Means下采样方法对大类样本聚类,形成与小类样本个数相同的簇类数,从每个簇中随机抽取单个样本与涉诈样本形成平衡的正负样本做为最终数据集。
在本发明的一个具体实施例中,步骤S4中:
精准率=TP/(TP+FP)
召回率=TP/(TP+FN)
F1=2*精准率*召回率/(精准率+召回率)
其中,TP代表样本为正,预测结果为正的个数,FP代表样本为负,预测结果为正的个数,TN代表样本为负,预测结果为负的个数,FN代表样本为正,预测结果为负的个数。
在本发明的一个具体实施例中,步骤S5中获得最优的XGBoost模型具体包括步骤:
S51确定确定学习速率和提升参数调优的初始值;
S52确定树的最大深度和子集的所有观察值的最小权重和的最优参数;
S53分裂节点时参数调优;
S54构建每棵树对样本的采样率和列采样率参数调优;
S55正则化参数alpha调优;
S56逐步降低学习速率和使用更多的决策树。
在本发明的一个具体实施例中,步骤S3中:
所述最终数据集分成十份,轮流将其中9份作为训练集,1份作为测试集。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明的一种基于XGBoost算法的电信互联网诈骗识别方法,该技术方案从技术流程、技术流程详细设计两方面具体介绍实现过程,其中技术流程详细设计包括数据集、K-Means降采样、XGBoost算法模型、模型评估、模型部署五部分。
本发明专利的技术流程如图1所示
技术流程步骤如下:
(1)原始电信互联网数据进行加密处理,人工研判并确定训练样本正负分布比例。
(2)清洗、处理手机上网及位置移动数据,提取互联网数据上网特征。
(3)采用K-Means(K-Means:K均值聚类算法)降采样对特征数据集进行采样,形成最终数据集,并将数据集分类训练集和测试集。
(4)初始化模型参数,采用10折交叉验证训练模型,使用测试集进行验证,并计算出模型的精准率,召回率,F1分数(10折交叉验证含义:将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验,体现模型评估的科学性,F1分数详见6.3.4公式7)。
(5)采用网格搜索获得最优的XGBoost模型,并采用pickle将模型序列化,保存到服务器(pickle功能含义:python中提供机器学习模型保存)。
(6)采用pickle将模型反序列化,并用Flask框架构建API,将模型以接口的方式部署上线(Flask功能含义:python提供的Web应用程序框架,API:接口)。
测通话记录到达时,调用API接口,将数据输入到XGBoost预测模型中,模型预测后,将结果返回。
该数据集为电信用户上网及位置移动数据,此数据已加密处理,内容包含:用户浏览网站数据、域名解析数据及用户IM行为数据,数据清洗、处理、特征提取、变量衍生及变量选择后,输入模型用于训练的特征维度为34维,分别为x1,x2,x3……x34,变量详细说明如下
X1为im_type:IM账号类型,1:QQ;2:微信;
X2为im_account:IM账号;
X3为login_logout_frequency:一段时间内(1、3、7天)IM账号的登录登出频数;
X4为peek_frequency:7天内IM账号添加账号的峰值(以天为单位进行统计,最大值);
X5为long_term_frequency:一段时间内每天添加账号数量的方差;
X6为short_term_frequency:最近1天内IM账号添加账号操作的频数;
X7为media_operation_ratio:IM账号多媒体(收图片、发图片、收视频、发视频、朋友圈等)操作占总操作的比例;
X8为video_frequency:IM账号收发视频占总操作的比例;
X9为active_time_period:以IM账号为单位统计每小时内各类操作的频数,归一化处理后,采用one-hot编码表示;
X10为device_type:IM账号的登录设备:android客户端、IOS客户端、PC;
X11为client_version:IM客户端的版本,拆分为主版本号和次版本号;
X12为im_account_on_device_day:以手机号为单位,统计单设备在1天内共计登录IM账号的个数;
X13为im_account_on_device_now:以手机号为单位,统计最大同时在线IM账号个数;
X14为base_station_location:基站编号;
X15为signal_quality:信号质量,分为优、良、差三个等级,采用one-hot编码;
X16为os_version:手机操作系统的版本号;拆分为主版本号和次版本号;
X17为im_traffic_ratio:IM通信流量占全部流量的比例;
X18为bank_traffic_ratio:访问支付类网站流量占全部流量的比例
X19为shop_traffic_ratio:访问购物类网站流量占全部流量的比例;
X20为up_down_traffic_ratio:统计各时段的上下行流量比例(以1小时为单位);
X21为gps_info:GPS信息;
X22为roaming_type:用户漫游类型,1:国际漫游2:省际漫游3:省内漫游4:本地;
X23为in_out_frequency:呼入呼出比;
X24为hang_up_ratio:挂断方向;
X25为region_distribution:被叫号码归属地分布;
X26为same_phone_ratio:呼叫同一号码的频次;
X27为dev_bank_ratio:异常设备访问支付类网站的频数;
X28为dev_shop_ratio:异常设备访问购物类网站的频数;
X29为dev_domain_ratio:异常设备访问不良网址的频数;
X30为victim_bank_ratio:潜在受害者访问支付类网站的频数;
X31为victim_shop_ratio:潜在受害者访问购物类网站的频数;
X32为victim_domain_ratio:潜在受害者访问不良网址的频数;
X33为type:手机卡、QQ、微信等类型,1:无;2:虚假贷款;3:冒充快递退款;4:网络刷单;5:网络赌博;
X34为number:上网手机号码。
本专利所使用的手机上网及位置移动数据来自某运营商,由于运营商正常的上网号码和异常上网行为数量的比值很高,在这种情况下,无论对于任何样本,只要学习方法返回一个将样本预测为正常的结果,分类的准确率就可以达到很高的标准,但这样的学习模型不具备任何意义,因为其不能预测我们更为关注的异常上网诈骗行为。
为使该专利的异常上网诈骗行为诈骗模型更具有价值,应使用采样的方法对数据集中不同类别的样本进行平衡处理,降数据集的平衡程度调整到一个合适的比例,因此引入降采样技术来降低正常上网行为的数据量。结合实际需求,选择基于聚类的降采样K-Means方法。该算法采用距离作为相似性的评价指标,是一种非常典型的基于距离的聚类算法,该算法认为对象之间的距离越近,其相似度就越大。该算法规定有距离靠近的对象组成簇,所以最终目标就是选择少量紧凑簇。具体的算法步骤如下:
(1)对于多数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到k近邻。欧式距离d计算如(1)所示:
(2)对于每一个多数类样本x,从其k近邻中随机选择若干个样本,假设选择的近邻为xn。
(3)对于每一个随机选出的近邻xn,进行随机线性插值,分别与原样本构建新的样本。
(4)最终目标是利用K-Means方法对大类样本聚类,形成与小类样本个数相同的簇类数,从每个簇中随机抽取单个样本与涉诈样本形成平衡的正负样本做为训练集。
K-Means下采样结束后,形成最终的新样本集,训练样本与测试样本。
基于XGBoost算法的电信网络诈骗识别方法中模型核心参数及参数解释如下:
1、eta为学习率,default=0.3
2、min_child_weight为子集的所有观察值的最小权重和,默认值,1
3、max_depth为树的最大深度,值越大,树越大,模型越复杂,可以用来防止过拟合,默认值为6。
4、gamma分裂节点时,损失函数减小值只有大于等于gamma节点才分裂,gamma值越大,算法越保守,越不容易过拟合,但性能就不一定能保证,需要平衡。
5、subsample构建每棵树对样本的采样率,如果设置成0.5,XGBoost会随机选择一半的样本作为训练集。
6、colsample_bytree列采样率,也就是特征采样率,默认值为1。
7、colsample_bylevel构建每一层时,列采样率,默认值为1。
8、lambda默认L2正则化,这个参数是用来控制XGBoost的正则化部分的。虽然大部分数据试验很少用到这个参数,但是这个参数在减少过拟合上还是可以挖掘出更多用处的。
9、objective这个参数定义需要被最小化的损失函数,当做二分类与测试默认值为逻辑回归。
10、eval_metric这个参数是定义模型评估方法,对于回归问题,默认值是rmse,对于分类问题,默认值是error。
训练XGBoost算法模型时,调优遵循如下步骤:
1、确定确定学习速率和提升参数调优的初始值;
2、确定max_depth和min_child_weight最优参数;
3、gamma参数调优;
4、subsample和colsample_bytree参数调优;
5、正则化参数alpha调优;
6、逐步降低学习速率和使用更多的决策树。
信息增益在树模型中是用来进行特征选择的指标,某个特征的信息增益越大,则这个特征的选择性越好。其计算公式如(2)所示:
g(D,A)=H(D)-H(D|A) (2)
其中H(D)为经验熵,H(D|A)为选定特征A的经验条件熵,计算公式分别如公式(3)、公式(4)所示
训练数据集合D,|D|为样本容量,即样本的个数(D中元素个数),设有K个类Ck来表示,|Ck|为Ci的样本个数,|Ck|之和为|D|,k=1,2.....,根据特征A将D划分为n个子集D1,D2.....Dn,|Di|为Di的样本个数,|Di|之和为|D|,i=1,2,....,记Di中属于Ck的样本集合为Dik,即交集,|Dik|为Dik的样本个数。
XGBoost算法在构建树的过程中只需要两个参数,决策树的最大深度d及训练时的学习率eta。其详细的决策树构建过程如下:
(1)特征输入,输入处理好的特征样本数据。
(2)分割点选择公式,根据信息增益或信息增益率计算最佳特征分割点位置。
(3)分割点优化计算,根据(2)作为自定义损失函数,用求导公式计算最佳分割位置,创建单个子树。
(4)数据按照上述方式分裂下去,每次从当前所有叶子中找到列分增益最大的一个叶子,然后分裂,如此循环,生成多颗树。
在模型训练的过程中会产生多颗决策树,对于新输入的测试样例通过多颗决策模型输出该上网号码是否为诈骗号码,作为公安研判案件参照依据。
结合参数初始值含义,为每个参数设置不同的数值,采用10折交叉验证、网格搜索,不断拟合数据、训练模型,并输出稳定的训练结果模型。
在本发明专利中使用精准率、召回率、F1对模型进行评估,其计算公式分别如公式(5)、公式(6)、公式(7)所示。
Precision(精准率)=TP/(TP+FP) (5)
Recall(召回率)=TP/(TP+FN) (6)
F1=2*Precision*Recall/(Precision+Recall) (7)
其中,TP代表样本为正,预测结果为正的个数,FP代表样本为负,预测结果为正的个数,TN代表样本为负,预测结果为负的个数,FN代表样本为正,预测结果为负的个数。
模型综合评估后,使用pickle将模型实现序列化,保存到服务器。采用Flask构建API,使用pickle实现模型反序列化,以API接口的方式,把满足业务需求的模型部署线上,实现诈骗短线实时预测拦截。
通话话单(加密)到达时,调用API接口,将数据输入到XGBoost模型,以实现骚扰电话预测,如果是骚扰电话,接口返回1,如果不是骚扰电话,接口返回0。
XGBoost算法是一种利用树形结构进行决策的算法,对于样本数据根据已知需求,特征处理后,最终训练成最优决策树,树的叶子结节标识最终决策。新来的数据便可以根据这棵树进行判断。XGBoost算法,其目标函数通过二次泰勒展开近似计算,它可以处理稀疏和缺失数据,通过特征的列采样防止算法过拟合,最后用组合学习到的模型来增加整体的分类效果。本章节通过几个分类预测的经典案例,介绍技术方案中的XGBoost在各个领域中的应用。
本应用案例为云南省XX单位手机上网及位置数据,提取的主要特征有登录IM号码数、被是否国际漫游、是否为异常设备、是否频繁登录境外网站、电话呼出/入比等特征,通过这些数据预测这些号码上网行为是否为电信互联网诈骗。每一个内部结节都表示一个属性条件判断,叶子结节表示是否为诈骗号码。在决策树选择特征时,应选择信息增益值最大的特征,作为该结节分裂条件,以此计算其他各个特征的信息增益值,形成最优化树,最后输出的叶子节点表示是否为诈骗号码。单棵树树结构如图2所示。
本应用案例为海南省XX单位手机上网及位置数据,提取的基本特征,如:境外电话、是否为境外基站、登录境外网站次数、登出/登入IM次数、设备关联QQ/WX个数等特征,根据这些特征训练模型预测该号码的上网行为是否为诈骗号码。每个内部结节表示一个属性的条件判断,叶子节点表示是否为诈骗号码。在决策树选择特征时,首先计算每个特征的信息增益值,并将每个特征的信息增益值进行降序排序,选择信息增益值最大的特征作为根节点,计算其他节点的信息增益,并选择信息增益最大的特征进行第二次分裂,以此类推进行多次分裂,形成最优化分类预测树,最后由XGBoost模型的最优化树给出该号码对应上网行为是否为诈骗。该模型树树结构如图3所示。
本专利发明了一种基于XGBoost算法的电信互联网诈骗识别方法。本专利中基于某运营商手机上网数据(加密),建立基于XGBoost算法的互联网诈骗识别模型;针对不平衡数据样本,采用K-Means算法进行降采样,平衡数据分布;设计XGBoost的数据输入、输出变量;基于网格搜索设计XGBoost参数,提高XGBoost的精准度,提高训练效率;通过计算所述基于XGBoost法互联网诈骗识别模型的识别效果评估值,如精准率、召回率、F1-score,以最优的识别效果评估值识别出某号码的互联网诈骗行为。本专利提出的手机上网行为诈骗89++++方法具有准确、快捷的特点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,包括步骤:
S1对原始电信互联网数据进行加密处理,人工研判并确定训练样本正负分布比例;
S2清洗、处理手机上网及位置移动数据,提取互联网数据上网特征;
S3采用K-Means降采样对特征数据集进行采样,形成最终数据集,并将最终数据集分类成训练集和测试集;
S4初始化模型参数,使用测试集进行验证,并计算出模型的精准率,召回率,F1分数,对模型进行评估;
S5采用网格搜索获得最优的XGBoost模型,并采用pickle将模型序列化,保存到服务器;
S6采用pickle将模型反序列化,并用Flask框架构建API,将模型以接口的方式部署上线;
S7测通话记录到达时,调用API接口,将数据输入到XGBoost预测模型中,模型预测后,将结果返回。
2.根据权利要求1所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S2中:
所述数据集为电信用户上网及位置移动数据,所述电信用户上网及位置移动数据包括用户浏览网站数据、域名解析数据及用户IM行为数据。
3.根据权利要求2所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S2中:
上网特征的特征维度为34维,分别为x1,x2,x3……x34,具体为:
X1为im_type:IM账号类型,QQ或微信;
X2为im_account:IM账号;
X3为login_logout_frequency:一段时间内IM账号的登录登出频数;
X4为peek_frequency:7天内IM账号添加账号的峰值;
X5为long_term_frequency:一段时间内每天添加账号数量的方差;
X6为short_term_frequency:最近1天内IM账号添加账号操作的频数;
X7为media_operation_ratio:IM账号多媒体操作占总操作的比例;
X8为video_frequency:IM账号收发视频占总操作的比例;
X9为active_time_period:以IM账号为单位统计每小时内各类操作的频数,归一化处理后,采用one-hot编码表示;
X10为device_type:IM账号的登录设备:android客户端、IOS客户端、PC;
X11为client_version:IM客户端的版本,拆分为主版本号和次版本号;
X12为im_account_on_device_day:以手机号为单位,统计单设备在1天内共计登录IM账号的个数;
X13为im_account_on_device_now:以手机号为单位,统计最大同时在线IM账号个数;
X14为base_station_location:基站编号;
X15为signal_quality:信号质量,分为优、良、差三个等级,采用one-hot编码;
X16为os_version:手机操作系统的版本号;拆分为主版本号和次版本号;
X17为im_traffic_ratio:IM通信流量占全部流量的比例;
X18为bank_traffic_ratio:访问支付类网站流量占全部流量的比例
X19为shop_traffic_ratio:访问购物类网站流量占全部流量的比例;
X20为up_down_traffic_ratio:统计各时段的上下行流量比例;
X21为gps_info:GPS信息;
X22为roaming_type:用户漫游类型,国际漫游、省际漫游、省内漫游或本地;
X23为in_out_frequency:呼入呼出比;
X24为hang_up_ratio:挂断方向;
X25为region_distribution:被叫号码归属地分布;
X26为same_phone_ratio:呼叫同一号码的频次;
X27为dev_bank_ratio:异常设备访问支付类网站的频数;
X28为dev_shop_ratio:异常设备访问购物类网站的频数;
X29为dev_domain_ratio:异常设备访问不良网址的频数;
X30为victim_bank_ratio:潜在受害者访问支付类网站的频数;
X31为victim_shop_ratio:潜在受害者访问购物类网站的频数;
X32为victim_domain_ratio:潜在受害者访问不良网址的频数;
X33为type:手机卡、QQ或微信的信息,无、虚假贷款、冒充快递退款、网络刷单或网络赌博;
X34为number:上网手机号码。
4.根据权利要求3所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S3具体包括:
S31对于多数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到k近邻,欧式距离d计算如下所示:
其中,x1i和x2i分别为多数类样本中的任一样本和少数类样本中的任一样本;
S32对于每一个多数类样本x,从其k近邻中随机选择若干个样本,假设选择的近邻为xn;
S33对于每一个随机选出的近邻xn,进行随机线性插值,分别与原样本构建新的样本;
S34利用K-Means下采样方法对大类样本聚类,形成与小类样本个数相同的簇类数,从每个簇中随机抽取单个样本与涉诈样本形成平衡的正负样本做为最终数据集。
5.根据权利要求4所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S4中:
精准率=TP/(TP+FP)
召回率=TP/(TP+FN)
F1=2*精准率*召回率/(精准率+召回率)
其中,TP代表样本为正,预测结果为正的个数,FP代表样本为负,预测结果为正的个数,TN代表样本为负,预测结果为负的个数,FN代表样本为正,预测结果为负的个数。
6.根据权利要求5所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S5中获得最优的XGBoost模型具体包括步骤:
S51确定确定学习速率和提升参数调优的初始值;
S52确定树的最大深度和子集的所有观察值的最小权重和的最优参数;
S53分裂节点时参数调优;
S54构建每棵树对样本的采样率和列采样率参数调优;
S55正则化参数alpha调优;
S56逐步降低学习速率和使用更多的决策树。
7.根据权利要求6所述的基于XGBoost算法的电信互联网诈骗识别方法,其特征在于,步骤S3中:
所述最终数据集分成十份,轮流将其中9份作为训练集,1份作为测试集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368559.1A CN112464058B (zh) | 2020-11-30 | 2020-11-30 | 一种基于XGBoost算法的电信互联网诈骗识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368559.1A CN112464058B (zh) | 2020-11-30 | 2020-11-30 | 一种基于XGBoost算法的电信互联网诈骗识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112464058A true CN112464058A (zh) | 2021-03-09 |
CN112464058B CN112464058B (zh) | 2024-08-20 |
Family
ID=74809396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011368559.1A Active CN112464058B (zh) | 2020-11-30 | 2020-11-30 | 一种基于XGBoost算法的电信互联网诈骗识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464058B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948687A (zh) * | 2021-03-25 | 2021-06-11 | 重庆高开清芯智联网络科技有限公司 | 一种基于名片文件特征的节点消息推荐方法 |
CN112950231A (zh) * | 2021-03-19 | 2021-06-11 | 广州瀚信通信科技股份有限公司 | 一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质 |
CN114157760A (zh) * | 2021-12-06 | 2022-03-08 | 上海欣方智能系统有限公司 | 基于逻辑回归算法及决策树算法的非法语音的识别方法及系统 |
CN114549026A (zh) * | 2022-04-26 | 2022-05-27 | 浙江鹏信信息科技股份有限公司 | 基于算法组件库分析的未知诈骗的识别方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190141183A1 (en) * | 2017-08-16 | 2019-05-09 | Royal Bank Of Canada | Systems and methods for early fraud detection |
CN110147430A (zh) * | 2019-04-25 | 2019-08-20 | 上海欣方智能系统有限公司 | 基于随机森林算法的骚扰电话识别方法及系统 |
CN110363407A (zh) * | 2019-06-27 | 2019-10-22 | 上海淇馥信息技术有限公司 | 基于用户行为轨迹的欺诈风险评估方法及装置 |
CN110956503A (zh) * | 2019-11-29 | 2020-04-03 | 上海观安信息技术股份有限公司 | 基于用户网络行为的具有借贷需求的用户识别方法及装置 |
-
2020
- 2020-11-30 CN CN202011368559.1A patent/CN112464058B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190141183A1 (en) * | 2017-08-16 | 2019-05-09 | Royal Bank Of Canada | Systems and methods for early fraud detection |
CN110147430A (zh) * | 2019-04-25 | 2019-08-20 | 上海欣方智能系统有限公司 | 基于随机森林算法的骚扰电话识别方法及系统 |
CN110363407A (zh) * | 2019-06-27 | 2019-10-22 | 上海淇馥信息技术有限公司 | 基于用户行为轨迹的欺诈风险评估方法及装置 |
CN110956503A (zh) * | 2019-11-29 | 2020-04-03 | 上海观安信息技术股份有限公司 | 基于用户网络行为的具有借贷需求的用户识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈荣荣 等: "基于XGBoost算法模型的信用卡交易欺诈预测研究", 《计算机应用研究》, vol. 37, 30 June 2020 (2020-06-30), pages 111 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112950231A (zh) * | 2021-03-19 | 2021-06-11 | 广州瀚信通信科技股份有限公司 | 一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质 |
CN112948687A (zh) * | 2021-03-25 | 2021-06-11 | 重庆高开清芯智联网络科技有限公司 | 一种基于名片文件特征的节点消息推荐方法 |
CN114157760A (zh) * | 2021-12-06 | 2022-03-08 | 上海欣方智能系统有限公司 | 基于逻辑回归算法及决策树算法的非法语音的识别方法及系统 |
CN114549026A (zh) * | 2022-04-26 | 2022-05-27 | 浙江鹏信信息科技股份有限公司 | 基于算法组件库分析的未知诈骗的识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112464058B (zh) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112464058A (zh) | 一种基于XGBoost算法的电信互联网诈骗识别方法 | |
CN107767262B (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN111339436B (zh) | 一种数据识别方法、装置、设备以及可读存储介质 | |
CN110417607B (zh) | 一种流量预测方法、装置及设备 | |
CN103279479A (zh) | 一种面向微博客平台文本流的突发话题检测方法及系统 | |
CN109658120B (zh) | 一种业务数据处理方法以及装置 | |
CN107294974A (zh) | 识别目标团伙的方法和装置 | |
CN110956503A (zh) | 基于用户网络行为的具有借贷需求的用户识别方法及装置 | |
CN112330047A (zh) | 一种基于用户行为特征的信用卡还款概率预测方法 | |
CN111401906A (zh) | 转账风险检测方法及系统 | |
CN107784511A (zh) | 一种用户流失预测方法及装置 | |
CN112364901A (zh) | 一种基于lgb算法的诈骗电话识别方法 | |
CN110197426A (zh) | 一种信用评分模型的建立方法、装置及可读存储介质 | |
CN109003181A (zh) | 可疑用户确定方法、装置、设备和计算机可读存储介质 | |
CN111062422B (zh) | 一种套路贷体系化识别方法及装置 | |
CN106485521A (zh) | 用户信用度评估方法及装置 | |
CN113011966A (zh) | 基于深度学习的信用评分方法及装置 | |
CN108984773B (zh) | 数据缺失情况下的黑名单多维信息验证方法及系统及可读存储介质及设备 | |
CN107222319A (zh) | 一种通信操作分析方法及装置 | |
CN117010821A (zh) | 一种多渠道协同的智能催费系统 | |
US20230252478A1 (en) | Clustering data vectors based on deep neural network embeddings | |
CN111833171B (zh) | 异常操作检测和模型训练方法、装置以及可读存储介质 | |
CN111126503B (zh) | 一种训练样本的生成方法和装置 | |
CN116028723A (zh) | 数据推荐方法、装置、设备以及计算机存储介质 | |
CN112906831A (zh) | 一种结合网络结构与属性特征的通信网用户分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |