python實現(xiàn)連續(xù)變量最優(yōu)分箱詳解--CART算法-創(chuàng)新互聯(lián)

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

公司專注于為企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、商城網(wǎng)站開發(fā),成都小程序開發(fā),軟件按需網(wǎng)站制作等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

對應(yīng)的分箱方法:

A. 無監(jiān)督:(1) 等寬 (2) 等頻 (3) 聚類

B. 有監(jiān)督:(1) 卡方分箱法(ChiMerge) (2) ID3、C4.5、CART等單變量決策樹算法 (3) 信用評分建模的IV大化分箱 等

本篇使用python,基于CART算法對連續(xù)變量進行最優(yōu)分箱

由于CART是決策樹分類算法,所以相當(dāng)于是單變量決策樹分類。

簡單介紹下理論:

CART是二叉樹,每次僅進行二元分類,對于連續(xù)性變量,方法是依次計算相鄰兩元素值的中位數(shù),將數(shù)據(jù)集一分為二,計算該點作為切割點時的基尼值較分割前的基尼值下降程度,每次切分時,選擇基尼下降程度大的點為最優(yōu)切分點,再將切分后的數(shù)據(jù)集按同樣原則切分,直至終止條件為止。

關(guān)于CART分類的終止條件:視實際情況而定,我的案例設(shè)置為 a.每個葉子節(jié)點的樣本量>=總樣本量的5% b.內(nèi)部節(jié)點再劃分所需的最小樣本數(shù)>=總樣本量的10%

python代碼實現(xiàn):

import pandas as pd
import numpy as np
 
#讀取數(shù)據(jù)集,至少包含變量和target兩列
sample_set = pd.read_excel('/數(shù)據(jù)樣本.xlsx')
 
def calc_score_median(sample_set, var):
  '''
  計算相鄰評分的中位數(shù),以便進行決策樹二元切分
  param sample_set: 待切分樣本
  param var: 分割變量名稱
  '''
  var_list = list(np.unique(sample_set[var]))
  var_median_list = []
  for i in range(len(var_list) -1):
    var_median = (var_list[i] + var_list[i+1]) / 2
    var_median_list.append(var_median)
  return var_median_list

網(wǎng)站欄目:python實現(xiàn)連續(xù)變量最優(yōu)分箱詳解--CART算法-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article20/ijpjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、定制開發(fā)、小程序開發(fā)、品牌網(wǎng)站建設(shè)網(wǎng)站營銷、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化