ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略

目录

基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略

# 1、定义数据集

# 2、数据集预处理

# 2.1、入模特征初步筛选

# 2.2、目标特征二值化

# 2.3、类别型特征编码数字化

# 2.4、分离特征与标签

#3、模型训练与推理

# 3.1、数据集切分

# 3.2、模型建立并训练

# 3.3、模型预测

# 4、利用shap决策图进行异常值检测

# 4.1、原始数据和预处理后的数据各采样一小部分样本

# 4.2、创建Explainer并计算SHAP值

# 4.3、shap决策图可视化


相关文章
Dataset:adult人口普查收入二分类预测数据集(预测年收入是否超过50k)的简介、下载、使用方法之详细攻略
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略实现

基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略

# 1、定义数据集

age workclass fnlwgt education education_num marital_status occupation relationship race sex capital_gain capital_loss hours_per_week native_country salary
39 State-gov 77516 Bachelors 13 Never-married Adm-clerical Not-in-family White Male 2174 0 40 United-States <=50K
50 Self-emp-not-inc 83311 Bachelors 13 Married-civ-spouse Exec-managerial Husband White Male 0 0 13 United-States <=50K
38 Private 215646 HS-grad 9 Divorced Handlers-cleaners Not-in-family White Male 0 0 40 United-States <=50K
53 Private 234721 11th 7 Married-civ-spouse Handlers-cleaners Husband Black Male 0 0 40 United-States <=50K
28 Private 338409 Bachelors 13 Married-civ-spouse Prof-specialty Wife Black Female 0 0 40 Cuba <=50K
37 Private 284582 Masters 14 Married-civ-spouse Exec-managerial Wife White Female 0 0 40 United-States <=50K
49 Private 160187 9th 5 Married-spouse-absent Other-service Not-in-family Black Female 0 0 16 Jamaica <=50K
52 Self-emp-not-inc 209642 HS-grad 9 Married-civ-spouse Exec-managerial Husband White Male 0 0 45 United-States >50K
31 Private 45781 Masters 14 Never-married Prof-specialty Not-in-family White Female 14084 0 50 United-States >50K
42 Private 159449 Bachelors 13 Married-civ-spouse Exec-managerial Husband White Male 5178 0 40 United-States >50K

# 2、数据集预处理

# 2.1、入模特征初步筛选

df.columns 
 14

# 2.2、目标特征二值化

# 2.3、类别型特征编码数字化

age workclass education_num marital_status occupation relationship race sex capital_gain capital_loss hours_per_week native_country salary
0 39 7 13 4 1 1 4 1 2174 0 40 39 0
1 50 6 13 2 4 0 4 1 0 0 13 39 0
2 38 4 9 0 6 1 4 1 0 0 40 39 0
3 53 4 7 2 6 0 2 1 0 0 40 39 0
4 28 4 13 2 10 5 2 0 0 0 40 5 0
5 37 4 14 2 4 5 4 0 0 0 40 39 0
6 49 4 5 3 8 1 2 0 0 0 16 23 0
7 52 6 9 2 4 0 4 1 0 0 45 39 1
8 31 4 14 4 10 1 4 0 14084 0 50 39 1
9 42 4 13 2 4 0 4 1 5178 0 40 39 1

# 2.4、分离特征与标签

age workclass education_num marital_status occupation relationship race sex capital_gain capital_loss hours_per_week native_country
39 7 13 4 1 1 4 1 2174 0 40 39
50 6 13 2 4 0 4 1 0 0 13 39
38 4 9 0 6 1 4 1 0 0 40 39
53 4 7 2 6 0 2 1 0 0 40 39
28 4 13 2 10 5 2 0 0 0 40 5
37 4 14 2 4 5 4 0 0 0 40 39
49 4 5 3 8 1 2 0 0 0 16 23
52 6 9 2 4 0 4 1 0 0 45 39
31 4 14 4 10 1 4 0 14084 0 50 39
42 4 13 2 4 0 4 1 5178 0 40 39
salary
0
0
0
0
0
0
0
1
1
1

#3、模型训练与推理

# 3.1、数据集切分

X_test

age workclass education_num marital_status occupation relationship race sex capital_gain capital_loss hours_per_week native_country
1342 47 3 10 0 1 1 4 1 0 0 40 35
1338 71 3 13 0 13 3 4 0 2329 0 16 35
189 58 6 16 2 10 0 4 1 0 0 1 35
1332 23 3 9 4 7 1 2 1 0 0 35 35
1816 46 2 9 2 3 0 4 1 0 1902 40 35
1685 37 3 9 2 4 0 4 1 0 1902 45 35
657 34 3 9 2 3 0 4 1 0 0 45 35
1846 21 0 10 4 0 3 4 0 0 0 40 35
554 33 1 11 0 3 4 2 0 0 0 40 35
1963 49 3 13 2 12 0 4 1 0 0 50 35

# 3.2、模型建立并训练

params = {"max_bin": 512, "learning_rate": 0.05,"boosting_type": "gbdt", "objective": "binary","metric": "binary_logloss", "verbose": -1,"min_data": 100, "random_state": 1,"boost_from_average": True, "num_leaves": 10 }LGBMC = lgb.train(params, lgbD_train, 10000, valid_sets=[lgbD_test], early_stopping_rounds=50, verbose_eval=1000)

# 3.3、模型预测

age workclass education_num marital_status occupation relationship race sex capital_gain capital_loss hours_per_week native_country y_test_predi y_test
1342 47 3 10 0 1 1 4 1 0 0 40 35 0.045225575 0
1338 71 3 13 0 13 3 4 0 2329 0 16 35 0.074799172 0
189 58 6 16 2 10 0 4 1 0 0 1 35 0.30014332 1
1332 23 3 9 4 7 1 2 1 0 0 35 35 0.003966427 0
1816 46 2 9 2 3 0 4 1 0 1902 40 35 0.363861294 0
1685 37 3 9 2 4 0 4 1 0 1902 45 35 0.738628671 1
657 34 3 9 2 3 0 4 1 0 0 45 35 0.376412174 0
1846 21 0 10 4 0 3 4 0 0 0 40 35 0.002309884 0
554 33 1 11 0 3 4 2 0 0 0 40 35 0.060345836 1
1963 49 3 13 2 12 0 4 1 0 0 50 35 0.703506366 1

# 4、利用shap决策图进行异常值检测

# 4.1、原始数据和预处理后的数据各采样一小部分样本

# 4.2、创建Explainer并计算SHAP值

shap2exp.values.shape (100, 12, 2) [[[-5.97178729e-01  5.97178729e-01][-5.18879297e-03  5.18879297e-03][ 1.70566444e-01 -1.70566444e-01]...[ 0.00000000e+00  0.00000000e+00][ 6.58794799e-02 -6.58794799e-02][ 0.00000000e+00  0.00000000e+00]][[-4.45574118e-01  4.45574118e-01][-1.00665452e-03  1.00665452e-03][-8.12237233e-01  8.12237233e-01]...[ 0.00000000e+00  0.00000000e+00][ 8.56381961e-01 -8.56381961e-01][ 0.00000000e+00  0.00000000e+00]][[-3.87412165e-01  3.87412165e-01][ 1.52848351e-01 -1.52848351e-01][-1.02755954e+00  1.02755954e+00]...[ 0.00000000e+00  0.00000000e+00][ 1.10240434e+00 -1.10240434e+00][ 0.00000000e+00  0.00000000e+00]]...[[-5.28928223e-01  5.28928223e-01][ 7.14116015e-03 -7.14116015e-03][-8.82241728e-01  8.82241728e-01]...[ 0.00000000e+00  0.00000000e+00][ 7.47521189e-02 -7.47521189e-02][ 0.00000000e+00  0.00000000e+00]][[ 2.20002984e+00 -2.20002984e+00][ 7.75916086e-03 -7.75916086e-03][ 3.95152810e-01 -3.95152810e-01]...[ 0.00000000e+00  0.00000000e+00][ 1.52566789e-01 -1.52566789e-01][ 0.00000000e+00  0.00000000e+00]][[-8.28965461e-01  8.28965461e-01][-4.43687947e-02  4.43687947e-02][ 3.37305776e-01 -3.37305776e-01]...[ 0.00000000e+00  0.00000000e+00][ 8.26477289e-03 -8.26477289e-03][ 0.00000000e+00  0.00000000e+00]]]
shap2array.shape (100, 12)
LightGBM binary classifier with TreeExplainer shap values output has changed to a list of ndarray[[ 5.97178729e-01  5.18879297e-03 -1.70566444e-01 ...  0.00000000e+00-6.58794799e-02  0.00000000e+00][ 4.45574118e-01  1.00665452e-03  8.12237233e-01 ...  0.00000000e+00-8.56381961e-01  0.00000000e+00][ 3.87412165e-01 -1.52848351e-01  1.02755954e+00 ...  0.00000000e+00-1.10240434e+00  0.00000000e+00]...[ 5.28928223e-01 -7.14116015e-03  8.82241728e-01 ...  0.00000000e+00-7.47521189e-02  0.00000000e+00][-2.20002984e+00 -7.75916086e-03 -3.95152810e-01 ...  0.00000000e+00-1.52566789e-01  0.00000000e+00][ 8.28965461e-01  4.43687947e-02 -3.37305776e-01 ...  0.00000000e+00-8.26477289e-03  0.00000000e+00]]
mode_exp_value: -1.9982244224656025

# 4.3、shap决策图可视化

# 将决策图叠加在一起有助于根据shap定位异常值,即偏离密集群处的样本

ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略相关推荐

  1. ML之SIFT_FLANN:FLANN算法的简介、使用方法(对图片提取SIFT特征并利用FLANN方法实现计算图像相似度并可视化案例)之详细攻略

    ML之SIFT_FLANN:FLANN算法的简介.使用方法(对图片提取SIFT特征并利用FLANN方法实现计算图像相似度并可视化案例)之详细攻略 目录 FLANN算法 1.flann的搜索步骤 (1) ...

  2. ML之FE:金融风控—基于预处理(PSI+标签编码+文本型抽数字+缺失值RF模型拟合填充)+多种筛选指标(PCA/IV值/Gini/熵/丰富度)利用CatBoost实现贷款违约二分类预测案例之详细攻略

    ML之FE:金融风控-基于预处理(PSI+标签编码+文本型抽数字+缺失值RF模型拟合填充)+多种筛选指标(PCA/IV值/Gini/熵/丰富度)利用CatBoost实现贷款违约二分类预测案例之详细攻略 ...

  3. ML之DT之CART:分类与回归树CART算法的简介、应用、经典案例之详细攻略

    ML之DT之CART:分类与回归树CART算法的简介.应用.经典案例之详细攻略 目录 分类与回归树CART算法简介 1.CART原理-比较ID3.C4.5 2.CART算法描述 CART算法的案经典案 ...

  4. ML之NB:朴素贝叶斯Naive Bayesian算法的简介、应用、经典案例之详细攻略

    ML之NB:朴素贝叶斯Naive Bayesian算法的简介.应用.经典案例之详细攻略 目录 朴素贝叶斯Naive Bayesian算法的简介 1.朴素贝叶斯计算流程表述 2.朴素贝叶斯的优缺点 2. ...

  5. ML之Clustering之K-means:K-means算法简介、应用、经典案例之详细攻略

    ML之Clustering之K-means:K-means算法简介.应用.经典案例之详细攻略 目录 K-means算法简介 1.K-means算法适用的数据类型​ 2.K-Means算法的全局最优解和 ...

  6. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略

    ML之kNN:k最近邻kNN算法的简介.应用.经典案例之详细攻略 目录 kNN算法的简介 1.kNN思路过程 1.1.k的意义 1.2.kNN求最近距离案例解释原理-通过实际案例,探究kNN思路过程 ...

  7. ML之SVM:SVM算法的简介、应用、经典案例之详细攻略

    ML之SVM:SVM算法的简介.应用.经典案例之详细攻略 目录 SVM算法的简介 1.SVM模型分类-线性可分.线性.非线性 2.SVM的决策边界 3.SVM中的核函数 4.SVM算法推导 1.1.S ...

  8. ML之LoR:逻辑回归LoR算法的简介、应用、经典案例之详细攻略

    ML之LoR:逻辑回归LoR算法的简介.应用.经典案例之详细攻略 目录 逻辑回归LoR算法的简介 1.LOR算法在经过严密的数据预处理后效果会非常好 2.LoR模型的优缺点 逻辑回归LoR算法的应用 ...

  9. ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略

    ML之FE:pandas库中数据分析利器之groupby分组函数.agg聚合函数.同时使用groupby与agg函数组合案例之详细攻略 目录 pandas库中数据分析利器之groupby分组函数.ag ...

  10. ML之SL:监督学习(Supervised Learning)的简介、应用、经典案例之详细攻略

    ML之SL:监督学习(Supervised Learning)的简介.应用.经典案例之详细攻略 目录 监督学习(Supervised Learning)的简介 1.监督学习问题的两大类-分类问题和回归 ...

最新文章

  1. python os open_Python3 os.open() 方法
  2. 同济大学某计算机博士感叹:找工作太难,连简历关都过不去!
  3. 目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉
  4. Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
  5. knockoutJS学习笔记01:从拼接字符串到编写模板引擎
  6. 分析linux相关日志文件,Linux日志系统与分析.pdf
  7. Ext-ajax请求数据
  8. pythongui做计算器_python GUI之简易计算器
  9. python怎么在散点图上画圆圈_matplotlib散点中的标记点
  10. : 字符向量未正常终止_文本挖掘从小白到精通(一)---语料、向量空间和模型的概念...
  11. 解决Mac osx AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving)
  12. 终结者:使用slf4j+log4j完美构建日志
  13. 5.一个非常好用的扒站工具IDM
  14. Vue常用组件库集合---kalrry
  15. photoshop实用技巧
  16. Chinese Whisper 人脸聚类算法实现
  17. 智能颈部按摩仪设计——2.开发环境搭建
  18. phpstorm破解后,运行一段时间后突然有提示没有破解.
  19. Openssl Aes加解密使用示例
  20. 亚马逊FBA标签打印技巧(深圳风火轮amazon团队)

热门文章

  1. java 图片去水印_如何用java去除图片水印?
  2. 建立两个磁盘文件f1.text和f2.text,编程实现以下工作
  3. outlook邮箱显示一直启动中_outlook邮箱打不开一直在加载
  4. 知道一个公司的网站地址,怎么快速获取邮箱。
  5. 植树节推文如何排版?—135植树节样式上新
  6. 3 - Error writing file 'C:\Windows\TEMP\MY18F3.tmp' (Errcode: 28)
  7. 程序员做脚底鱼疗,因脚臭熏死一大批鱼,老板据说是这表情
  8. css属性的书写顺序
  9. php又拍云,申请又拍云云存储教程(PHP V3.80+)
  10. Bumped!【迪杰斯特拉消边、堆优化】