数据挖掘-基于随机森林模型的企业偷漏税纳税人识别
企业偷漏税纳税人识别
目前企业偷漏税现象泛滥,严重影响国家的经济基础。为了维护国家的权力与利益,应该加大对企业偷漏税行为的防范工作。如何用数据挖掘的思想,智能的识别企业偷漏税行为,有力的打击企业偷漏税的违法行为,维护国家的经济损失和社会秩序。
汽车销售行业,通常是指销售汽车整车的行业。汽车销售行业在税收上存在少开发票金额、少计收入,上牌、按揭 、保险等一条龙服务未入帐反映,不及时确认保修索赔款等多种情况,导致政府损失大量税收。汽车销售企业的部分经营指标能一定程度上评估企业的偷漏税倾向,附件((见:/拓展思考/拓展思考样本数据.xls))提供了汽车销售行业纳税人的各个属性和是否偷漏税标识,请结合汽车销售行业纳税人的各个属性,总结衡量纳税人的经营特征,建立偷漏税行为识别模型,识别偷漏税纳税人。
基于随机森林模型的企业偷漏税纳税人识别
本文根据已知数据,通过建立随机森林模型以此来识别偷漏税纳税人,这种模型比决策树模型降低了低异常值所带来的影响,以及针对本文数据中所给样本量的较少的情况下,降低了过拟合的可能性,因此提高了模型的准确性,更有利于对于数据的挖掘从而打击企业偷漏税的违法行为。
一、背景与挖掘目标
目前企业偷漏税现象泛滥,严重影响国家的经济基础。为了维护国家的权力与利益,应该加大对企业偷漏税行为的防范工作。如何利用数据挖掘的思想,智能的识别企业偷漏税行为,有力地打击企业偷漏税的违法行为,维护国家的经济损失和社会秩序。
汽车销售行业,通常是指销售汽车整车的行业。汽车销售行业在税收上存在少开发票金额、少计收入,上牌、按揭 、保险等一条龙服务未入账反映,不及时确认保修索赔款等多种情况,导致政府损失大量税收。汽车销售企业的部分经营指标能一定程度上评估企业的偷漏税倾向,附件((见:拓展思考/拓展思考样本数据.xls))提供了汽车销售行业纳税人的各个属性和是否偷漏税标识,请结合汽车销售行业纳税人的各个属性,总结衡量纳税人的经营特征,建立偷漏税行为识别模型,识别偷漏税纳税人。
二、数据分析方法与过程
偷漏税纳税人识别流程图如下图,主要包括以下步骤:
- 从汽车销售业务系统抽取纳税人销售类型、销售模式、汽车销售平均毛利、维修毛利等原始数据;
- 对样本数据探索分析,初步得到正常纳税人和偷漏税纳税人的经营特征;
- 对样本数据进行预处理,包括数据清洗、缺失值处理和数据变换;
- 根据经营特征构建样本集和测试集
- 构建多种偷漏税纳税人识别模型;
- 使用样本数据进行模拟训练,并对模型进行评价;
- 数据抽取
将原始数据导入spss中,进行数据分析。
表 1 数据集示意表
- 数据探索分析与预处理
利用交叉表对数据进行简单分析,可得到附件一的内容,选取汽车销售毛利以及销售模式做示例,进行数据可视化。可以得出一班一级代理商销售汽车中偷税行为占比较大,毛利在-1.065,0.003)偷税行为占比较大等信息。
图 2 汽车销售平均毛利图
图 3 销售模式图
在搭建模型之前需要前面样本数据中类别型特征需要进行转换成数值型特征,对销售类型和销售模式进行重编码处理,输出特征进行二值化处理。
由于原始数据中无缺失值,则不需要进行缺失值处理。
- 模型建立
先采用决策数进行简单分析,得到下图结果:
图 4 决策树结构图
但是经分析决策树由于数据样本量较小,导致过拟合,即使通过多次交叉验证,精确度也只有中等偏上。
故因此通过训练集数据来建立随机森林分类模型。通过建立的随机森林来计算特征重要性。将建立的随机森林分类模型应用到训练、测试数据,得到模型的分类评估结果。由于随机森林中具有随机性,每次运算的结果不一样,若保存本次训练模型,后续可以直接上传数据代入到本次训练模型进行计算分类。
采用随机森林分类模型建立而不是随机树建立的原因如下:
随机森林是以决策树为基学习器通过集成方式构建 而成的有监督机器学习方法 ,进一步在决策树的训练过程引入了随机性,使其具备优良地抗过拟合 以及抗噪能力. RF 分别从样本选取和特征选择 2 个角度体现其随机性。本题中数据量较小,故采用随机森林建立模型。
表 2 随机森林参数表
参数名 |
参数值 |
训练用时 |
1.079s |
数据切分 |
0.7 |
数据洗牌 |
是 |
交叉验证 |
3 |
节点分裂评价准则 |
gini |
决策树数量 |
100 |
有放回采样 |
true |
袋外数据测试 |
false |
划分时考虑的最大特征比例 |
auto |
内部节点分裂的最小样本数 |
2 |
叶子节点的最小样本数 |
1 |
叶子节点中样本的最小权重 |
0 |
树的最大深度 |
10 |
叶子节点的最大数量 |
50 |
节点划分不纯度的阈值 |
0 |
利用spss得出特征(自变量)的重要性比例,如下图所示:
图 5 特征比例图条形统计图
六.模型预测结果
预测结果Y |
输出 |
纳税人编号 |
正常 |
正常 |
2 |
正常 |
正常 |
3 |
正常 |
正常 |
7 |
异常 |
异常 |
8 |
正常 |
正常 |
10 |
正常 |
正常 |
11 |
正常 |
异常 |
21 |
异常 |
异常 |
25 |
异常 |
异常 |
26 |
异常 |
异常 |
27 |
正常 |
正常 |
31 |
正常 |
正常 |
37 |
正常 |
正常 |
38 |
正常 |
正常 |
42 |
正常 |
正常 |
54 |
正常 |
正常 |
61 |
正常 |
正常 |
62 |
正常 |
正常 |
64 |
异常 |
异常 |
65 |
异常 |
正常 |
67 |
七.模型评估结果如下:
下表中展示了训练集和测试集的分类评价指标,通过量化指标来衡量随机森林对训练、测试数据的分类效果。
● 准确率:预测正确样本占总样本的比例,准确率越大越好。
● 召回率:实际为正样本的结果中,预测为正样本的比例,召回率越大越好。
● 精确率:预测出来为正样本的结果中,实际为正样本的比例,精确率越大越好。
● F1:精确率和召回率的调和平均,精确率和召回率是互相影响的,虽然两者都高是一种期望的理想情况,然而实际中常常是精确率高、召回率就低,或者召回率低、但精确率高。若需要兼顾两者,那么就可以用F1指标。
● oob_score:对于分类问题,oob_score是袋外数据的准确率。若在建立树过程中选择有放回抽样时,大约1/3的记录没有被抽取。没有被抽取的自然形成一个对照数据集,可用于模型的验证。所以随机森林不需要另外预留部分数据做交叉验证,其本身的算法类似交叉验证,而且袋外误差是对预测误差的无偏估计(当算法参数选择了“袋外测试数据”后,才会通过oob_score来检验模型的泛化能力)。
表 3 模型评估检验表
准确率 |
召回率 |
精确率 |
F1 |
|
训练集 |
1 |
1 |
1 |
1 |
交叉验证集 |
0.826 |
0.826 |
0.83 |
0.826 |
测试集 |
0.895 |
0.895 |
0.905 |
0.897 |
附录:
类别 |
名称 |
结构 |
总计 |
|
正常 |
异常 |
|||
汽车销售平均毛利 |
-1.065,0.003) |
7 |
24 |
31 |
0.003,0.025) |
19 |
12 |
31 |
|
0.025,0.049) |
24 |
7 |
31 |
|
[0.049,0.177] |
21 |
10 |
31 |
|
维修毛利 |
-3.126,0.0) |
0 |
4 |
4 |
0.0,0.157) |
17 |
41 |
58 |
|
0.157,0.399) |
27 |
4 |
31 |
|
[0.399,1.0] |
27 |
4 |
31 |
|
企业维修收入占销售收入比重 |
0.0,0.026) |
15 |
47 |
62 |
0.026,0.08) |
28 |
3 |
31 |
|
[0.08,1.0] |
28 |
3 |
31 |
|
增值税税负 |
0.0,0.0) |
10 |
21 |
31 |
0.0,0.005) |
19 |
12 |
31 |
|
0.005,0.009) |
20 |
10 |
30 |
|
[0.009,0.077] |
22 |
10 |
32 |
|
存货周转率 |
0.0,2.459) |
9 |
22 |
31 |
2.459,8.421) |
19 |
12 |
31 |
|
8.421,15.2) |
27 |
4 |
31 |
|
成本费用利润率 |
-1.0,-0.004) |
13 |
18 |
31 |
-0.004,0.0) |
13 |
17 |
30 |
|
0.0,0.009) |
24 |
8 |
32 |
|
[0.009,9.827] |
21 |
10 |
31 |
|
整体理论税负 |
-0.181,0.001) |
9 |
22 |
31 |
0.001,0.009) |
18 |
12 |
30 |
|
0.009,0.016) |
26 |
6 |
32 |
|
[0.016,0.159] |
18 |
13 |
31 |
|
整体税负控制数 |
-0.007,0.0) |
0 |
3 |
3 |
0.0,0.006) |
14 |
45 |
59 |
|
0.006,0.011) |
28 |
3 |
31 |
|
[0.011,0.057] |
29 |
2 |
31 |
|
办牌率 |
0.0,0.272) |
53 |
40 |
93 |
[0.272,0.878] |
18 |
13 |
31 |
|
单台办牌手续费收入 |
0.0,0.02) |
45 |
41 |
86 |
[0.02,0.2] |
26 |
12 |
38 |
|
代办保险率 |
0.0,0.138) |
47 |
46 |
93 |
[0.138,1.53] |
24 |
7 |
31 |
|
保费返还率 |
-0.015,0.0) |
1 |
0 |
1 |
0.0,0.081) |
45 |
47 |
92 |
|
[0.081,0.27] |
25 |
6 |
31 |
|
销售类型 |
其他 |
6 |
4 |
10 |
卡车及轻卡 |
3 |
4 |
7 |
|
商用货车 |
2 |
3 |
5 |
|
国产轿车 |
42 |
22 |
64 |
|
大客车 |
2 |
11 |
13 |
|
工程车 |
1 |
1 |
2 |
|
微型面包车 |
3 |
3 |
6 |
|
进口轿车 |
12 |
5 |
17 |
|
销售模式 |
4S店 |
56 |
20 |
76 |
一级代理商 |
6 |
14 |
20 |
|
二级及二级以下代理商 |
3 |
13 |
16 |
|
其他 |
2 |
3 |
5 |
|
多品牌经营店 |
4 |
3 |
7 |
@自己写的一次小作业。
数据挖掘-基于随机森林模型的企业偷漏税纳税人识别相关推荐
- kaggle项目:基于随机森林模型的心脏病患者预测分类!
公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 新年的第一个项目实践~给大家分享一个新的kaggle案例:基于随机森林模型(RandomForest)的心脏病人预测分类 ...
- python基于随机森林模型的预测概率和标签信息可视化ROC曲线
python基于随机森林模型的预测概率和标签信息可视化ROC曲线 目录 python基于随机森林模型的预测概率和标签信息可视化ROC曲线
- 基于随机森林模型的葡萄酒品质分析
视频:南京大学 用Python玩转数据 https://www.icourse163.org/course/NJU-1001571005 背景:UCI葡萄酒数据集中有12个属性,分别是: 1 - fi ...
- 大数据分析案例-基于随机森林模型对北京房价进行预测
目录 1.项目背景 2.项目简介 2.1数据说明 2.2技术工具 3.算法原理 4.项目实施步骤 4.1理解数据 4.2数据预处理 4.2.1缺失值处理 4.2.2重复值处理 4.2.3异常值处理 4 ...
- 基于随机森林模型的红酒品质分析
看了南京大学的<用python玩转数据视频>,Python非常强大.代码做了些注释. https://scipy.org/ # url: https://archive.ics.uci.e ...
- 随机森林模型_观点速递65|使用随机森林模型模拟短期空气污染效应:基于交通和气象数据...
概念 · 解读 随机森林:机器学习中的一种集成算法,它属于"装袋"类型,通过组合多棵决策树,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和稳定性. 决定系数(R2) ...
- RDKit | 基于随机森林的化合物活性二分类模型
基于随机森林算法的化合物二分类机器学习模型 代码示例 #导入依赖包 import pandas as pd import numpy as np from rdkit import Chem, Dat ...
- 机器学习项目实战:基于随机森林进行心脏病分类(含多种模型解释方法)
本项目是Kaggle上面的一个经典竞赛题,心脏病分类问题,题目链接在这里. 主要基于随机森林的bagging集成学习框架,通过13个生理特征数据,实现对心脏病分类的预测. 由于自己想要在这个项 ...
- 【ML】基于机器学习的心脏病预测研究(附代码和数据集,随机森林模型)
写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...
- 基于随机森林算法的贷款违约预测模型研究(Give me some credit)
本文实验代码github:https://github.com/dengsiying/give-me-some-credit/tree/master 参考链接:从决策树到随机森林 http://www ...
最新文章
- Echache整合Spring缓存实例讲解
- 2020年2月Github上最热门的开源项目
- 关系运算符、逻辑 运算符与三元运算符
- .net Core把一个list集合里面的所有字段的数值汇总
- php如何生成唯一随机数,PHP实现生成唯一会员卡号(不重复的随机数)
- 二等水准数据平差_二等水准复测平差成果表
- # 20155337 《Android程序设计》实验四实验报告
- Centos中关闭tty以及禁止ipv6
- POJ 1716 Integer Intervals
- python—csv模块处理单字符分隔符文件
- 使用计算机打印汉子文档,电子科技大学《计算机应用基础(本科)》20春期末考试【标准答案】...
- Android登录界面设计
- Android-APP之桌面宠物
- ISweek工采网·工采电子参展OFweek维科网 2021全球数字经济产业大会圆满落幕
- 英语词典软件测试大乐,软件测试和评估(百词斩和扇贝单词)
- vue下载sass依赖
- 武警摔擒、擒敌拳1-16动连贯动作 分解动作
- SQL注入学习详细过程
- vant官网-vant ui 首页-移动端Vue组件库
- Block Ack机制
热门文章
- 计算机主机显卡在哪里,台式电脑显卡在哪个位置 台式机显卡拆卸方法
- Move: 一门面向资产的编程语言
- 交换机,集线器,路由器这三者怎样区分,各自的作用是什么?
- 3.STC15W408AS单片机GPIO
- 技术评审之技术文档的规范模板
- 英语作文 计算机新技术对生活的影响,科技的影响高中英语作文3篇
- PHP海补知识(6)-- nl2br/ucfirst/ucwords
- 腾讯出了一款AI产品,早期癌症筛查准确率最高达90%
- 3、在hilens_kit安装ros后,运行小车导航
- QT开发环境简介、安装以及搭建VS2019环境