日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分箱(binning)

發(fā)布時間:2024/3/24 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分箱(binning) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.定義

分箱就是將連續(xù)變量離散化

二.好處

  • 儲存空間小
  • 將所有變量變換到相似的尺度上
  • 對異常數(shù)據(jù)有很強的魯棒性
  • 引入了非線性
  • 使模型會更穩(wěn)定,降低了模型過擬合的風險,提升模型表達能力,加大擬合
  • 三.方法

    關(guān)于變量分箱主要分為兩大類:有監(jiān)督型無監(jiān)督型

    A. 無監(jiān)督:

    (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.有監(jiān)督

    因變量為離散:

    一.卡方分箱法(ChiMerge):

    卡方值:類分布的相似性低卡方值表明它們具有相似的類分布。

    算法:

    二.Best-KS分箱

    KS值:KS值越大,表示該變量越能將正,負客戶的區(qū)分程度越大。

    KS的計算方式:

  • 計算每個評分區(qū)間的好壞賬戶數(shù)。
  • 計算各每個評分區(qū)間的累計好賬戶數(shù)占總好賬戶數(shù)比率(good%)和累計壞賬戶數(shù)占總壞賬戶數(shù)比率(bad%)。
  • 計算每個評分區(qū)間累計壞賬戶比與累計好賬戶占比差的絕對值(累計good%-累計bad%),然后對這些絕對值取最大值記得到KS值。
  • 算法:

  • 將特征值值進行從小到大的排序。
  • 計算出KS最大的那個值,即為切點,記為D。然后把數(shù)據(jù)切分成兩部分。
  • 重復(fù)步驟2,進行遞歸,D左右的數(shù)據(jù)進一步切割。直到KS的箱體數(shù)達到我們的預(yù)設(shè)閾值即可。
  • Best-KS分箱的特點:

  • 連續(xù)型變量:分箱后的KS值<=分箱前的KS值
  • 分箱過程中,決定分箱后的KS值是某一個切點,而不是多個切點的共同作用。這個切點的位置是原始KS值最大的位置。
    ?
  • 因變量為連續(xù):

    單變量決策樹算法

    ?

    總結(jié)

    以上是生活随笔為你收集整理的分箱(binning)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。