無監督分箱:等頻、等距
有監督分箱:Bset KS分箱、chi2分箱、決策樹分箱
一、chi2分箱
關鍵詞:卡方檢驗、卡方閾值、顯著性水平、自由度
什么是卡方檢驗?應用於哪些問題?(只應用與分類數據)應用方法?(擬合優度檢驗和獨立性檢驗)
什么是卡方分箱?(基於卡方檢驗的有監督的分箱方法)
步驟(根據一個chi2 python計算代碼總結的):
(1)人為確定最大分箱數(一般為5)。對連續變量排序。
(2)若連續變量取值大於100,先將變量值等距分為100組。若小於100組,但大於設定分箱數,此步不操作。如果小於最大分箱數,跳過該變量。
(3)當總體箱數大於設定分箱數時,對於相鄰區間計算卡方值,合並最小chi2值的兩個區間。
(4)重復步驟3,直至分箱數不大於設定箱數。
(5)檢查是否每一箱都有好壞樣本。
(6)第一箱中只有好或者壞樣本時,合並1/2箱。最后一箱只有好或者壞樣本時,合並最后兩箱。其它情況計算和前面箱以及和后面箱的chi2值,
比較chi2值,合並chi2值小的。
(7)重復5/6步驟。
注意:計算兩個區間的chi2值時,用的y是區間的壞人率(badrate)。
sklearn中集成的以卡方檢驗為准則選取重要性高的n個自變量:
http://lijiancheng0614.github.io/scikit-learn/modules/generated/sklearn.feature_selection.chi2.html
參考資料: https://blog.csdn.net/u013421629/article/details/78416748
https://cloud.tencent.com/developer/article/1418720
二、best_KS分箱
Best-KS分箱的算法執行過程是一個逐步拆分的過程:
1.將特征值值進行從小到大的排序。
2.計算出KS最大的那個值,即為切點,記為D。然后把數據切分成兩部分。
3.重復步驟2,進行遞歸,D左右的數據進一步切割。直到KS的箱體數達到我們的預設閾值即可。
參考文檔: https://www.cnblogs.com/wqbin/p/10549683.html
三、決策樹分箱
實際效果就是用想要離散化的那個連續變量單變量用樹模型(可以用sklearn中的cart樹)擬合y。