分箱(binning)
生活随笔
收集整理的這篇文章主要介紹了
分箱(binning)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.定義
分箱就是將連續變量離散化
二.好處
三.方法
關于變量分箱主要分為兩大類:有監督型和無監督型
A. 無監督:
(1) 等寬 (2) 等頻 (3) 聚類
#coding:utf-8 from sklearn.cluster import KMeans import numpy as np import pandas as pdpd.cut(np.array([.2, 1.4, 2.5, 6.2, 9.7, 2.1]),3, labels=["good", "medium", "bad"])#等寬 pd.qcut(range(5), 3, labels=["good", "medium", "bad"])#等頻#聚類 k=4 data = np.array([1]*10+[2]*5+[100]*4+[3000]*100) kmodel = KMeans(n_clusters = k) kmodel.fit(data.reshape(-1,1)) c = pd.DataFrame(kmodel.cluster_centers_).sort_values(0) w = c.rolling(2).mean().iloc[1:] w = [data.min()-1] + list(w[0]) + [data.max()+1] data_kmean = pd.cut(data, w, labels = range(k))B.有監督
因變量為離散:
一.卡方分箱法(ChiMerge):
卡方值:類分布的相似性。低卡方值表明它們具有相似的類分布。
算法:
二.Best-KS分箱
KS值:KS值越大,表示該變量越能將正,負客戶的區分程度越大。
KS的計算方式:
算法:
Best-KS分箱的特點:
?
因變量為連續:
單變量決策樹算法
?
總結
以上是生活随笔為你收集整理的分箱(binning)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h5页面自定义字体_UIWebView使
- 下一篇: java毕业设计晞晴贸易公司安保保洁管理