8評分卡建模整體流程梳理

評分卡建模整體流程梳理

學習目標

  1. 掌握評分卡建模流程
  2. 使用Toad庫構建評分卡

1 加載數據

import pandas as pd  
from sklearn.metrics import roc_auc_score,roc_curve,auc  
from sklearn.model_selection import train_test_split  
from sklearn.linear_model import LogisticRegression   
import numpy as np  
import math  
import xgboost as xgb  
import toad  
# 加載數據
data_all = pd.read_csv("scorecard.txt")  # 指定不參與訓練列名  
ex_lis = ['uid', 'samp_type', 'bad_ind']  
# 參與訓練列名  
ft_lis = list(data_all.columns)  
for i in ex_lis:      ft_lis.remove(i) # 開發樣本、驗證樣本與時間外樣本  
dev = data_all[(data_all['samp_type'] == 'dev')]
val = data_all[(data_all['samp_type'] == 'val') ]  
off = data_all[(data_all['samp_type'] == 'off') ]  

探索性數據分析,同時處理數值型和字符型

toad.detector.detect(data_all)

顯示結果:

typesizemissinguniquemean_or_top1std_or_top2min_or_top31%_or_top410%_or_top550%_or_bottom575%_or_bottom490%_or_bottom399%_or_bottom2max_or_bottom1
bad_indfloat64958060.00%20.01876710.13570200000011
uidobject958060.00%95806Ab99_96002866062686144:0.00%A7511004:0.00%A10729014:0.00%A8502810:0.00%A594541:0.00%A8899777:0.00%A10150838:0.00%A3044048:0.00%A1888452:0.00%A7659794:0.00%
td_scorefloat64958060.00%958060.4997390.2883495.46966e-060.009613410.09970560.5007190.7479840.9000240.9900410.999999
jxl_scorefloat64958060.00%958060.4993380.288851.28155e-050.009946780.09910250.4997950.7486460.8997030.9893480.999985
mj_scorefloat64958060.00%958060.501640.2886796.92442e-060.01050760.1008820.5030480.7520320.8993080.9900470.999993
rh_scorefloat64958060.00%958060.4984070.2877975.00212e-060.009916320.09994830.4974660.7471880.8992860.9894730.999986
zzc_scorefloat64958060.00%958060.5006270.2890671.15778e-050.01018560.09901140.5016880.7509860.8999240.9900430.999998
zcx_scorefloat64958060.00%958060.4996720.2891379.97767e-060.01032490.09974290.499130.7506830.9019420.9897120.999987
person_infofloat64958060.00%7-0.0782290.156859-0.322581-0.322581-0.322581-0.05371760.0788530.0788530.0788530.078853
finance_infofloat64958060.00%350.03676250.03968660.02380950.02380950.02380950.02380950.02380950.07142860.2142861.02381
credit_infofloat64958060.00%1000.06362620.14309800000.060.180.81
act_infofloat64958060.00%740.2361970.1571320.07692310.07692310.07692310.2051280.3461540.4871790.6153851.08974
samp_typeobject958060.00%3dev:68.16%off:16.67%val:15.16%NoneNoneNoneNonedev:68.16%off:16.67%val:15.16%

2 特征篩選(缺失值,IV,相關系數)

使用缺失率、IV、相關系數進行特征篩選。但是考慮到后續建模過程要對變量進行分箱處理,該操作會使變量的IV變小,變量間的相關性變大,因此此處可以對IV和相關系的閾值限制適當放松,或不做限制

dev_slct1, drop_lst= toad.selection.select(dev, dev['bad_ind'], empty=0.7, iv=0.03, corr=0.7, return_drop=True, exclude=ex_lis) 
print("keep:", dev_slct1.shape[1],  "drop empty:", len(drop_lst['empty']), "drop iv:", len(drop_lst['iv']),  "drop corr:", len(drop_lst['corr']))

顯示結果:

keep: 12 drop empty: 0 drop iv: 1 drop corr: 0

3 卡方分箱

# 得到切分節點  
combiner = toad.transform.Combiner()  
combiner.fit(dev_slct1, dev_slct1['bad_ind'], method='chi',min_samples=0.05, exclude=ex_lis)  
# 導出箱的節點  
bins = combiner.export()  
print(bins)

顯示結果:

{'td_score': [0.7989831262724624], 'jxl_score': [0.4197048501965005], 'mj_score': [0.3615303943747963], 'zzc_score': [0.4469861520889339], 'zcx_score': [0.7007847486465795], 'person_info': [-0.2610139784946237, -0.1286774193548387, -0.05371756272401434, 0.013863440860215051, 0.06266021505376344, 0.07885304659498207], 'finance_info': [0.047619047619047616], 'credit_info': [0.02, 0.04, 0.11], 'act_info': [0.1153846153846154, 0.14102564102564102, 0.16666666666666666, 0.20512820512820512, 0.2692307692307692, 0.35897435897435903, 0.3974358974358974, 0.5256410256410257]}

4 Bivar圖,調整分箱

畫圖觀察每個變量在開發樣本和時間外樣本上的Bivar圖,為方便閱讀,這里只以單變量act_info做示范

# 根據節點實施分箱  
dev_slct2 = combiner.transform(dev_slct1)
val2 = combiner.transform(val[dev_slct1.columns])
off2 = combine

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12722.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云服務器上Redis數據庫被攻擊實錄+總結

情景重現 Redis日志記錄(異常部分): 36346:M 14 May 2024 15:46:12.505 # Possible SECURITY ATTACK detected. It looks like somebody is sending POST or Host: commands to Redis. This is likely due to an attacker attempting to us…

【JVM】閱讀Class字節碼:常量池

目錄 基本結構解析 常量池 常量池簡介 如何閱讀Class文件中的常量池信息 基本結構解析 Magic(魔數) Magic的唯一作用是確定這個文件是否為一個能被虛擬機所接受的class 文件。魔數值固定為0xCAFEBABE,不會改變。 常量池 常量池簡介 下圖是反編譯過后的字節碼文…

Python可視化總結與案例解析

目錄 第一章:Python可視化基礎 1.1 環境搭建 1.2 數據可視化 1.3 統計圖表 1.4 交互式可視化 1.5 實戰案例:網站流量分析 1.6 總結 第二章:Python可視化高級應用 2.1 高級圖表類型 2.2 動態可視化 2.3 數據可視化最佳實踐 2.4 實戰…

TensorFlow的學習

0.基礎概念 術語表: https://developers.google.cn/machine-learning/glossary?hlzh-cn#logits 1.快速入門 https://tensorflow.google.cn/tutorials/quickstart/beginner?hlzh-cn 2.基于Keras進行圖像分類 https://tensorflow.google.cn/tutorials/keras/cl…

gradle 共享存儲掛載緩存目錄的問題

2個任務同時構建的時候,報錯如上。 原因:掛載目錄的問題導致的,掛在最小粒度的目錄下。 /home/app/.gradle/caches/modules-2/files-2.1 掛載到這個級別的目錄下。

一文詳解什么是手機在網時長API

手機在網時長API最近被討論得越來越多,因為隨著移動互聯網的不斷發展,越來越多的場景需要使用到用戶的手機號,比如商品交易、客戶服務、信息收發、網絡即時通訊等。手機號碼狀態查詢功能使用得越來越廣泛,常見的有手機在網時長查詢…

演員怎么上百度百科

百度百科是一個公正、開放、客觀的平臺,它為演員提供了一個展示自己過往經歷和演藝生涯的平臺。以下是百科優化網yajje總結的演員創建百度百科的一些步驟和注意事項: 創建演員百度百科的基本條件 人物影響力:演員創建百度百科需要滿足官方的規…

振弦采集儀在巖土工程監測中的重要性及應用案例分享

振弦采集儀在巖土工程監測中的重要性及應用案例分享 巖土工程監測是為了確保土地和建筑物的穩定性以及確保施工安全而進行的一項重要工作。河北穩控科技振弦采集儀是巖土工程監測中一種常用的儀器設備,通過測量土體振動頻率來評估土體的穩定性和強度變化&#xff0…

寫個進度條

using UnityEngine; using UnityEngine.UI; [ExecuteAlways] public class 進度條控制器 : MonoBehaviour {public Image 母進度條; // 母進度條背景public Image 子進度條; // 子進度條[Range(0, 1)] public float 進度值; // 進度值public float 起點偏移量; // 從左側開始的…

理解打包好的vue項目結構dist包

目錄 linux查詢dist目錄整體解釋子目錄文件解釋CSSFONTSJS linux查詢dist目錄 roothcss-ecs-7881:/www/java_project/dist# ls -l total 3004 drwxr-xr-x 2 root root 4096 Dec 31 10:15 css -rw-r--r-- 1 root root 4286 Dec 31 10:15 favicon.ico drwxr-xr-x 2 root r…

MySQL從主庫恢復從庫

主庫備份數據,拷貝至從節點1.1 備份數據 sudo python /data/apps/xtrabackup/script/xtrabackup.py -m full 備份目錄為: /data/mysql_bakcup/<port>/<date>/full_<date> 例:/data/mysql_backup/13306/20231124/full_164044/ 1.2 拷貝備份數據至從節點 sc…

霸道龍尊短視頻:成都鼎茂宏升文化傳媒公司

霸道龍尊短視頻&#xff1a;龍族的傳奇與現代的交融 在數字化時代的浪潮中&#xff0c;短視頻以其短小精悍、內容豐富的特點&#xff0c;迅速占領了人們的碎片時間。成都鼎茂宏升文化傳媒公司而在這些短視頻中&#xff0c;一股獨特的“霸道龍尊”風潮正在悄然興起&#xff0c;…

C++ QT設計模式:原型模式

基本概念 原型模式是一種創建型設計模式&#xff0c;允許通過復制現有對象來創建新對象&#xff0c;而不是通過使用構造函數。 實現的模塊有&#xff1a; Prototype&#xff08;原型&#xff09;&#xff1a; 定義一個抽象接口&#xff0c;規定了具體原型對象必須實現的方法。…

C語言經典例題-18

1.判斷是不是字母 題目描述: KK想判斷輸入的字符是不是字母&#xff0c;請幫他編程實現。 輸入描述: 多組輸入&#xff0c;每一行輸入一個字符。 輸出描述: 針對每組輸入&#xff0c;輸出單獨占一行&#xff0c;判斷輸入字符是否為字母&#xff0c;輸出內容詳見輸出樣例。 輸…

Nginx配置文件conf解釋

系列文章目錄 文章目錄 系列文章目錄前言 前言 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站&#xff0c;這篇文章男女通用&#xff0c;看懂了就去分享給你的碼吧。 Nginx(“engine x”…

VBA字典求和套路

Sub 字典求和套路()Dim i, j, arr, brr, keyDim sht As WorksheetSet sht Sheet1Application.Calculation xlManualDim dicSet dic CreateObject("scripting.dictionary")For i 3 To sht.Cells(Rows.Count, "A").End(xlUp).Rowkey sht.Cells(i, "…

基于springboot+vue+Mysql的在線答疑系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

RK集成apk到odm下

功能啟用說明 配置和使用 source 之后輸入命令get_build_varTARGET_DEVICE_DIR找到對應目標文件夾 &#xff08;比如device/rockchip/rk3126c/&#xff09; 在目標文件夾下有三個文件夾&#xff0c;分別為&#xff1a; 1&#xff0e;preinstall 安裝不可卸載應用&#xff1…

服務攻防——應用協議軟件,設備平臺

向日葵利用 vnc利用5900端口 當為none就可以直接連接&#xff0c;而其他幾種密碼也能破解 可以使用hydna來嘗試爆破 teamviewer(cve2020-13699) 讓對方點擊這個網站&#xff0c;就會 觸發 zabbix 端口10051 cve2020 手工 點擊這個 找到cookie 然后不需要密碼就能進…

搭建Rust開發環境

Windows搭建 下載&#xff1a;https://www.rust-lang.org/zh-CN/tools/install Linux搭建 這里我更推薦基于Linux搭建。 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh等一會兒以后&#xff0c;會讓你輸入命令&#xff0c;這里輸入1&#xff1a; 之后就…