机器学习之——诈骗号码识别

诈骗克星:基于规则引擎与机器学习的反诈识别系统实战 在网络安全攻防日益复杂的今天,诈骗识别成为保护用户财产的关键防线。传统的反诈工具往往依赖单一规则或模型,难以兼顾可解释性与泛化能力。本文从反诈系统的核心原理出发,介绍一种“规则引擎优先、机器学习兜底”的双层识别架构:规则引擎通过关键词加权打分,输出清晰可追溯的风险依据;机器学习模型则捕捉未知变体,提升系统对新型诈骗的召回能力。结合Flask与Vue的前后端分离设计,以及SQLite轻量存储,构建了低门槛、可解释的风险自检助手。该方案适用于高校创新实训、课程设计及毕业设计等场景,尤其适合需要同时展示工程落地能 阅读详情
  1. 研究目的 根据用户的app使用情况,用户的流量使用情况,用户通话记录,用户的短信记录,判定用户号码是否是诈骗号码。
  2. 数据集
  • train:
    train_app.csv:app使用情况 .
    train_user.csv:基本信息 .
    train_voc.csv:通话 .
    train_sms.csv:短信
  • test:
    test_app.csv:app使用情况 .
    test_user.csv:基本信息 .
    test_voc.csv:通话
    test_sms.csv:短信
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2. 导入包

# 计算
import numpy as np
import pandas as pd

# 可视化
import matplotlib.pyplot as plt
import seaborn as sns

# 机器学习库
from sklearn.ensemble import RandomForestClassifier,ExtraTreesClassifier,AdaBoostClassifier,BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import StackingClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
from sklearn.model_selection import train_test_split,cross_val_predict,StratifiedKFold
from sklearn import metrics
from scipy import stats
from scipy.cluster.hierarchy import dendrogram,linkage

import warnings
warnings.filterwarnings("ignore")
plt.rcParams['font.family'] = ['SimHei']
train_user = pd.read_csv('train/train_user.csv')
train_app = pd.read_csv('train/train_app.csv')
train_voc = pd.read_csv('train/train_voc.csv')
train_sms = pd.read_csv('train/train_sms.csv')
train_user.shape,train_app.shape,train_voc.shape,train_sms.shape

3. 数据预处理

3.1 特征衍生

观察 数据发现 用户表中有6000多条数据,但是其他三个表中数据很大,为此我们对其他表数据进行预处理,特征工程。

  • 1.1 train_app 表中包含 app,流量,月份的情况,我们可以转换成 .每个用户涉及的app个数 app_counts, .统计每个用户的流量使用情况,total_flow .统计每个用户活跃月份个数,months .统计每个用户活跃月流量使用情况
    total_flow/months .统计每个用户平均app使用情况, app_flow
  • 1.2 voc通话数据处理:原有特征包括:对端通话号码,通话开始时间,通话时长,涉及城市,涉及乡镇,涉及设备编码
    1. 统计每个用户涉及的对端通话号码个数 nunique
    1. 统计每个用户每个对端平均通话时长 avg_user_call, sum
    1. 统计每个月平均通话时长 avg_month_call, total_call/month_count
    1. 涉及设备个数 imei_count,nunique
    1. 涉及城市个数 city_count,nunique
    1. 涉及乡镇个数 county_count,nunique
    1. 活跃月份个数 month_count,nunique
    1. 通话总时长 total_call sum
    1. count是统计所有次数,nunique统计唯一出现次数(每个类别只统计一次)
  • 1.3 短信处理方式也类似。

1. app数据处理

train_app['month_id'] = pd.to_datetime(train_app['month_id'],format='%Y-%m-%d')
train_app['month'] = train_app['month_id'].dt.month
app_count = train_app.groupby(['phone_no_m'])['busi_name'].agg(app_count='nunique')
total_flow = train_app.groupby(['phone_no_m'])['flow'].agg(total_flow='sum')
total_month = train_app.groupby(['phone_no_m'])['month'].agg(total_month='nunique')


# 与用户表聚合
new_train_user = pd.merge(train_user,app_count,on='phone_no_m',how='left')
new_train_user = pd.merge(new_train_user,total_flow,on='phone_no_m',how='left')
new_train_user = pd.merge(new_train_user,total_month,on='phone_no_m',how='left')
new_train_user['avg_flow'] = new_train_user['total_flow']/new_train_user['total_month']
new_train_user['app_flow'] = new_train_user['total_flow']/new_train_user['app_count']
new_train_user.head()
# 2. voc通话记录
train_voc['start_datetime'] = pd.to_datetime(train_voc['start_datetime'],format='%Y-%m-%d %H:%M:%S')
train_voc['month'] = train_voc.start_datetime.dt.month
# 只考虑主叫
train_voc_1 = train_voc[train_voc['calltype_id']==1]
total_call = train_voc_1.groupby(['phone_no_m'])['call_dur'].agg(total_call='sum')
month_count = train_voc_1.groupby(['phone_no_m'])['month'].agg(month_count='nunique')
user_count = train_voc_1.groupby(['phone_no_m'])['opposite_no_m'].agg(user_count='nunique')
city_count = train_voc_1
基于python的大数据反电信诈骗管理系统的设计与实现 本文基于Python语言设计与实现了一款大数据反电信诈骗管理系统。近年来,随着电信网络和移动互联网的快速发展,电信诈骗呈现高发态势,给社会治安和人民财产安全带来了严重威胁。因此,开发一种高效的管理系统来应对电信诈骗问题具有重要意义。本系统主要分为数据采集、数据处理和数据应用三个模块。首先,通过多种渠道采集电信诈骗相关数据,包括电话号码、短信内容、地理位置等信息。然后,利用Python强大的数据处理能力对采集到的大数据进行清洗、整理和分析。 阅读详情

相关推荐

基于图神经网络算法实现反欺诈数据识别 数据集+代码

图神经网络算法实现反欺诈数据识别 数据集+代码

机器学习深度学习业余选手 1615

电信诈骗数据集

随着电信基础设施的发展,电信诈骗威胁日益严峻。据相关数据,中国电信诈骗案件金额已超两万亿,76%网民曾受其困扰。新技术催生智能化、跨境犯罪化的诈骗手法,成本低且难察觉。现有的防范手段如检测手机号及机器学习模型存在局限,且目前并没有较全面的中文数据集来进行研究。在本文中,我们通过选取CCL2023电信网络诈骗数据集中部分类别数据以及收集到的一些数据组成了一个涵盖冒充客服、冒充领导熟人、贷款、公检法诈骗和正常文本的中文5分类数据集。我们自己做了一个五分类数据集,供大家研究使用,如有需要请注明。禁止商业用途。

zc1226的博客 4701

基于LightGBM的诈骗电话识别系统:特征工程与阈值优化实战

在反欺诈与风控领域,机器学习模型通过分析通话行为特征,能够有效识别诈骗电话。其原理在于利用号码聚合、时间窗口和交互特征,构建二分类模型,输出风险评分。技术价值在于提升识别准确率和召回率,降低人工成本。典型应用场景包括运营商骚扰拦截和金融反欺诈。本文以2020数字四川创新大赛赛题为例,详细讲解从特征工程到LightGBM模型训练、阈值选择及避坑指南的完整落地路径,帮助工程师快速构建高效的诈骗电话识别系统。

weixin_33812433的博客 314

大数据反诈识别系统实战:Spark特征工程与号码画像聚类

大数据技术体系中,面对海量行为日志,仅靠人工审核无法完成风险识别,必须依靠特征工程与算法模型进行分层筛选。以号码分析为例,从原始话单到可预警的号码画像,通常需要经过数据清洗、指标聚合、异常聚类和规则打分四个环节。Spark 作为分布式计算引擎,能够在亿级数据规模下高效完成高频呼叫、离散度等关键特征加工;DBSCAN 等无监督聚类方法则可在缺乏标注样本时自动发现异常号码群组,再结合可解释的规则引擎输出预警工单,形成从离线计算到 Flask 服务化查询的完整闭环。这套方案在电信反诈、异常呼叫检测、营销骚扰识别等

weixin_29043895的博客 180

我方便诈骗广告电话数据库.rar

我方便2019整理诈骗广告电话数据库,整理了两份格式(SQ,CSV),方便导入。

欺诈检测 100万笔交易 ·7种欺诈类型

一个涵盖2022年至2024年信用卡和数字支付交易的综合合成金融欺诈检测数据集。采用一个真实的概率欺诈生成模型构建,复制了现实世界欺诈行为中观察到的关键模式:    夜间集中度——欺诈高峰期为00:00–05:00×审核员离线时    有组织的欺诈团伙——200个模拟环,共享设备/IP/电子邮件连接    7种不同的欺诈类型——不仅仅是二进制标签,每种标签都有独特的行为特征    现实阶级不平衡——1.71%的欺诈率与真实生产环境相符   完整的跨特征交互——速度、数量比率、知识产权风险、外国标志、设备指纹

电信诈骗中文数据集-8分类

电信诈骗中文数据集-8分类

使用IntelliJ IDEA配置版本管理(SVN和Git)

在开发过程中,版本管理是必不可少的一部分,它可以帮助团队协作、管理代码历史记录,并且提供了代码回滚和分支管理等功能。本文将介绍如何使用IntelliJ IDEA配置版本管理,包括SVN和Git两种方式,另外列举了常见的问题并指导修复,以帮助开发者更高效地进行代码管理和协作。

2871

Caffeine:为每个元素动态设置过期时间

Caffeine利用expireAfter方法实现为每个元素动态设置过期时间

大数据开发、JAVA开发、人工智能AI 1万+

XIAO ESP32S3 Sense摄像头与麦克风实战:从硬件连接到AI语音视觉项目

本文详细介绍了如何使用Seeed Studio XIAO ESP32S3 Sense开发板进行AI语音视觉项目开发。从硬件连接到Arduino环境搭建,再到摄像头拍照、视频流传输、麦克风录音等实战操作,最后引导读者探索基于TensorFlow Lite Micro的语音唤醒和SenseCraft AI的图像识别等AI应用,为物联网和边缘AI项目提供了完整的入门指南。

xray4的博客 1025

磁带库Scalar i6000界面基本操作步骤

(注:磁带库的前面的门不要打开,日常维护:主要就是简单看下磁带库的状态;绿色代表正常;黄色代表报警但不影响磁带库正常使用;红色代表报警,不能正常使用,及时和厂家联系报修。) 一、磁带库管理页面 1、首先,磁带库前面(具体作用如图) 2、查看状态和管理页面 3、管理页面登陆。用户名:service 密码:xxxxxx 4、磁带机背面 二、电脑连接磁带库进入管理页面 1.用网线把电脑和磁带库的维护接口(磁带库背面)进行连接 2.电脑环境:JAVA。把电脑的IP设置成自...

杀神lwz的博客 5359

无符号整数、带符号整数溢出问题

让我们详细讲解一下带符号整数溢出和无符号整数溢出问题中,符号标志位 (SF)、零标志位 (ZF) 和进位标志位 (CF) 的行为方式

weixin_49342084的博客 2090

无人机测绘航线生成算法

JavaScript开发和测试无人机测绘航线的自动生成方法,设计可行,算法可靠

ly1302116的专栏 5237

BES2300x笔记(36) -- OTA升级

哈喽大家好,这是该系列博文的第三十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 BES 蓝牙方案自带 OTA(Over The Air)功能,该功能可以对蓝牙固件进行在线升级,目前该功能支持通过安卓手机(苹果手机也有对应APP,未实际测试)对蓝牙固件进行升级,以后还会支持通过 PC 端进行在线升级。在使用 OTA 功能之前,用户需安装 BES 提供的手机 apk 软件,将需要升级的固件拷贝到手机,然后通过该 apk 软件进行在线升级。

文化人的博客 5356

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

weixin_72050316的博客 1386

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: Pandas loc和iloc 以及 pivot和melt详解
snow5618
博客等级 码龄9年 141粉丝 51原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值