修改预测的垃圾箱
手动修改使用可选名称值对参数的数字预测器或分类预测器的预测箱。对于数字预测器,可以指定最小值,最大值和切割点。对于分类预测器,可以指定类别分组。可以为两种类型的预测器指定宾布标签。SC.
= ModififyBins(SC.
,PredictorName
,名称,值
)
创建一个creditscorecard
对象使用CreditCarddata.mat.
文件加载数据
(使用Refaat 2011的数据集)。
负载CreditCardData.sc = creditscorecard(数据);
的预测缅因一
是数字。默认情况下,预测器的每个值都放置在单独的箱中。
bi = bininfo (sc,“缅因”)
bi =46×6表垃圾箱好赔率WOE invovedue _________ ____________________________________________________________________1099 0.056227 {'19000'} 1 2 0.5 -1.3976 0.053002 {20000'} 4 2 2 -0.011271 6.3641E-07 {'21000'} 6 3 2 -0.011271 9.5462E-07 {'22000'} 4 2 2 -0.011271 6.3641E-07 {'23000'} 4 4 1 -0.70442 0.0035885 {'24000'} 5 5 1 -0.70442 0.0044856 {'25000'} 4 9 0.44444 -1.5153 0.026805 {'26000'} 4 11 0.36364 -1.716 0.038999 {'27000'} 6 6 1 -0.70442 0.0053827 {'28000'} 13 11 1.1818 -0.53736 0.0061896 {'29000'} 11 10 1.1 -0.60911 0.0069988 {'30000'} 18 16 1.125 -0.58664 0.010493 {'31000'} 24 8 3 0.39419 0.0038382 {'32000'} 21 15 1.4 -0.36795 0.0042797 {'33000'} 35 19 1.8421 -0.093509 0.00039951 ⋮
使用modifybins
设置最小值0,每10000,从20000到60000设置剪切点。显示更新的垃圾箱信息,包括切点。
sc = modifybins (sc,“缅因”,'minvalue',0,“割点”, 20000:10000:60000);(bi, cp) = bininfo (sc,“缅因”)
bi =7×6表本好不好悲哀InfoValue几率 _________________ ____ ___ _______ _________ _________ {'[ 0, 20000)的}3 5 0.6 -1.2152 0.010765{(20000、30000)}61 63 0.96825 -0.73668 0.060942{[30000、40000)的}324 173 1.8728 -0.076967 0.0024846{[40000、50000)的}304 123 2.4715 0.20042 0.013781{[50000、60000)}103年32 3.2188 0.46457 0.022144{”(60000年,正)}8 18 1.375 0.010235 {' total '} 803 397 2.0227 NaN 0.12035
cp =5×120000 30000 40000 50000 60000
第一个和最后一个箱子只包含很少的点。要将第一个容器合并到第二个容器中,请删除第一个切割点。类似地,要将最后一个容器合并到倒数第二个容器中,请删除最后一个切割点。然后使用modifybins
要更新记分卡,并显示更新的垃圾箱信息。
cp(1)= [];cp(end)= [];sc = modifybins (sc,“缅因”,“割点”, cp);bi = bininfo (sc,“缅因”)
bi =5×6表本好不好悲哀InfoValue几率 _________________ ____ ___ _______ _________ _________ {'[ 0, 30000)} 64 68 0.94118 -0.76504 0.070065{[30000、40000)的}324 173 1.8728 -0.076967 0.0024846{[40000、50000)的}304 123 2.4715 0.20042 0.013781{”(50000年,正)}33 111 3.3636 0.5086 0.028028{“总数”}803 397 0.11436 2.0227南
创建一个creditscorecard
对象使用CreditCarddata.mat.
文件加载数据
(使用Refaat 2011的数据集)。
负载CreditCardData.sc = creditscorecard(数据);
分类数据的分类映射或规则汇总在一个“类别分组”表中,作为可选输出返回。默认情况下,每个类别都放在一个单独的容器中。这是预测者的信息ResStatus
.
(bi, cg) = bininfo (sc,“ResStatus”)
bi =4×6表Bin Good Bad Odds WOE InfoValue ______________ _____________ _________ _________ {'Home Owner'} 365 177 2.0621 0.019329 0.0001682 {'Tenant'} 307 167 1.8383 -0.095564 0.0036638 {'Other'} 131 53 2.4717 0.20049 0.0059418 {' total '} 803 397 2.0227 NaN 0.0097738
cg =3×2表类别Binnumber ______________ _________ {'归属主'} 1 {'租户'} 2 {'其他'} 3
对组类别'租户'
和'其他'
,修改类别分组表cg
,所以箱号码'其他'
与箱号相同吗'租户'
.然后使用modifybins
更新记分卡。
cg.binnumber(3)= 2;sc = modifybins (sc,“ResStatus”,'catgrouping'、cg);
显示更新的垃圾箱信息。请注意,BIN标签已更新,垃圾箱成员资格信息包含在类别分组中cg
.
(bi, cg) = bininfo (sc,“ResStatus”)
bi =3×6表Bin Good Bad Odds WOE InfoValue __________ _______ ______ _________ __________ {'Group1'} 365 177 2.0621 0.019329 0.0001682 {'Group2'} 438 220 1.9909 -0.015827 0.00013772 {' total '} 803 397 2.0227 NaN 0.00030592
cg =3×2表Categy Binnumber ______________ _________ {'归属主'} 1 {'租户'} 2 {'其他'} 2
创建一个creditscorecard
对象(使用来自Refaat 2011的数据集)。
负载CreditCardData.sc = creditscorecard(数据,'idvar',“CustID”,'goodlabel', 0);
对于数值预测器保管
,可以使用modifybins
设置以下切割点:
CP = [25 37 49 65];sc = modifybins (sc,“守护”,“割点”cp,'minvalue',0,'maxvalue', 75);bininfo (sc,“守护”)
ans =.6×6表垃圾箱好的赔率越来越多的ock insmoveue ___________ ____________________________ {'[0,25)'} 9 8 1.125 -0.58664 0.0052464 {'[25,37)'} 125 92 1.3587 -0.39789 0.030268 {'[37,49)'3.8593 0.030765 {0.93781 0.0220378
使用modifybins
合并第2和第3箱的功能。
sc = modifybins (sc,“守护”,“割点”,CP([1 3 4]));bininfo (sc,“守护”)
ans =.5×6表垃圾箱好赔率越来越好哇读数___________ _________________ __________ {'[0,25)'} 9 8 1.125 -0.58664 0.0052464 {'[25,49)'} 465 275 1.6909 -0.17915 0.020355 {[49,65)'298 108 2.7593 0.030765 {'[65,75]'} 31 6 5.1667 0.93781 0.022031 {'总计'} 803 397 2.0227 NAN 0.078397
显示分类预测器的bin信息ResStatus
.
(bi, cg) = bininfo (sc,“ResStatus”);disp (bi)
Bin Good Bad Odds WOE InfoValue ______________ _____________ _________ _________ {'Home Owner'} 365 177 2.0621 0.019329 0.0001682 {'Tenant'} 307 167 1.8383 -0.095564 0.0036638 {'Other'} 131 53 2.4717 0.20049 0.0059418 {' total '} 803 397 2.0227 NaN 0.0097738
使用modifybins
函数来合并类别2和3。
cg.binnumber(3)= 2;sc = modifybins (sc,“ResStatus”,'catgrouping'、cg);bininfo (sc,“ResStatus”)
ans =.3×6表Bin Good Bad Odds WOE InfoValue __________ _______ ______ _________ __________ {'Group1'} 365 177 2.0621 0.019329 0.0001682 {'Group2'} 438 220 1.9909 -0.015827 0.00013772 {' total '} 803 397 2.0227 NaN 0.00030592
创建一个creditscorecard
对象(使用来自Refaat 2011的数据集)。
负载CreditCardData.sc = creditscorecard(数据,'idvar',“CustID”,'goodlabel',0)
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:''varnames:{1x11 cell} numericpredictors:{1x6 cell} cateCoricalpricictors:{'resstatus''empstatus'''其他} binmissingdata:0 idvar:'custid'predictorvars:{1x9 cell}数据:[1200x11表]
对于数值预测器TmAtAddress
,可以使用modifybins
设置以下切割点:
Cp = [30 80 120];sc = modifybins (sc,'tmataddress',“割点”cp,'minvalue',0,'maxvalue', 210);bininfo (sc,'tmataddress')
ans =.5×6表垃圾箱好赔率越来越多的ock infovedue _____________ _______________________________________________________________________0.07917162.1667 0.068771 0.00044396 {'[120,210]'} 16 6 2.6667 0.27641 0.27641 0.0013301 {'总计'} 803 397 2.0227 NaN 0.0055131
使用modifybins
拆分第二箱的功能。
sc = modifybins (sc,'tmataddress',“割点”,[cp(1)50 cp(2:结束)]);bininfo (sc,'tmataddress')
ans =.6×6表宾好差赔率WOE INFOVALUE _____________ ____ ___ ______ _________ __________ { '[0,30)'} 330 154 2.1429 0.057722 0.0013305 { '[30,50)'} 211 104 2.0288 0.0030488 2.4387e-06 {'[50,80)'} 168 97 1.732 -0.15517 0.005449 {'[80,120)'} 78 32 2.16670 0.00044396 {'[120,210]'} 16 6 6 2.6667 0.27641 0.27641 0.0013301 {'总计'} 803 397 2.0227 NaN 0.0085559
显示分类预测器的bin信息ResStatus
.
(bi, cg) = bininfo (sc,“ResStatus”)
bi =4×6表Bin Good Bad Odds WOE InfoValue ______________ _____________ _________ _________ {'Home Owner'} 365 177 2.0621 0.019329 0.0001682 {'Tenant'} 307 167 1.8383 -0.095564 0.0036638 {'Other'} 131 53 2.4717 0.20049 0.0059418 {' total '} 803 397 2.0227 NaN 0.0097738
cg =3×2表类别Binnumber ______________ _________ {'归属主'} 1 {'租户'} 2 {'其他'} 3
使用modifybins
函数来合并类别2和3。
cg.binnumber(3)= 2;sc = modifybins (sc,“ResStatus”,'catgrouping'、cg);bininfo (sc,“ResStatus”)
ans =.3×6表Bin Good Bad Odds WOE InfoValue __________ _______ ______ _________ __________ {'Group1'} 365 177 2.0621 0.019329 0.0001682 {'Group2'} 438 220 1.9909 -0.015827 0.00013772 {' total '} 803 397 2.0227 NaN 0.00030592
使用modifybins
功能拆分箱2并放置其他
在本3。
cg.BinNumber (3) = 3;sc = modifybins (sc,“ResStatus”,'catgrouping'、cg);(bi, cg) = bininfo (sc,“ResStatus”)
bi =4×6表Bin Good Bad Odds WOE InfoValue ______________ _____________ _________ _________ {'Home Owner'} 365 177 2.0621 0.019329 0.0001682 {'Tenant'} 307 167 1.8383 -0.095564 0.0036638 {'Other'} 131 53 2.4717 0.20049 0.0059418 {' total '} 803 397 2.0227 NaN 0.0097738
cg =3×2表类别Binnumber ______________ _________ {'归属主'} 1 {'租户'} 2 {'其他'} 3
创建一个creditscorecard
对象使用CreditCarddata.mat.
文件加载数据
(使用Refaat 2011的数据集)。
负载CreditCardData.sc = creditscorecard(数据);
使用modifybins
重置最小值并为预测器创建三个垃圾箱缅因一
并显示更新的垃圾箱信息。
sc = modifybins (sc,“缅因”,'minvalue',0,“割点”,[30000 50000]);bi = bininfo (sc,“缅因”)
bi =4×6表本好不好悲哀InfoValue几率 _________________ ____ ___ _______ ________ _________ {'[ 0, 30000)} 64 68 0.94118 -0.76504 0.070065{[30000、50000)的}628 296 2.1216 0.047762 0.0017421{”(50000年,正)}33 111 3.3636 0.5086 0.028028{“总数”}803 397 0.099836 2.0227南
修改BIN标签并显示更新的箱子信息。
newlabels = {“30 k”,'30k到50k','50k等'};sc = modifybins (sc,“缅因”,“BinLabels”, NewLabels);bi = bininfo (sc,“缅因”)
bi =4×6表Bin Good Bad Odds WOE InfoValue ________________ ______________ ________ _________ {'Up to 30k'} 64 68 0.94118 -0.76504 0.070065 {'30k to 50k'} 628 296 2.1216 0.047762 0.0017421 {'50k and more'} 111 33 3.3636 0.5086 0.028028 {' total '} 803 397 2.0227 NaN 0.099836
宾布标签应该是最后一个bin修改步骤。如在此示例中,用户定义的箱标签通常包含有关数字数据的剪切点,最小值或最大值的信息,或关于分类数据的类别分组的信息。防止用户定义的标签和切割点不一致的情况(和标签是误导性的),creditscorecard
对象在每次修改容器时重写用户定义的标签modifybins
.
为了说明modifybins
每次修改BIN时,覆盖用户定义的标签,将第一个切割点重置为31000并显示更新的箱信息。请注意,宾布标签重置为默认格式,并准确反映切片点的变化。
sc = modifybins (sc,“缅因”,“割点”50000年[31000]);bi = bininfo (sc,“缅因”)
bi =4×6表本好不好悲哀InfoValue几率 _________________ ____ ___ _______ ________ _________ {'[ 0, 31000)} 82 84 0.97619 -0.72852 0.079751{[31000、50000)的}610 280 2.1786 0.074251 0.0040364{”(50000年,正)}33 111 3.3636 0.5086 0.028028{“总数”}803 397 0.11182 2.0227南
创建一个creditscorecard
对象使用CreditCarddata.mat.
文件加载dataMissing
用缺失值。
负载CreditCarddata.mat.头(dataMissing, 5)
ans =.5×11表的CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate状态______ _______ ___________ ___________ _________ __________ _______ _______ _________ ________ ______ 1 53 62 <未定义>未知50000 55是1055.9 0.22 0 2 61 22家庭业主雇员52000 25是1161.6 0.24 0 3 47 30租户雇用37000 61否877.23 0.29 0 4纳米75家雇主采用53000 20是157.37 0.08 0 5 68 56家主人使用53000 14是561.84 0.11 0
流('行数:%d \ n'、高度(dataMissing))
行数:1200
流('缺少的值的数量CustAge: %d\n'总和(ismissing (dataMissing.CustAge)))
CustAge: 30
流('缺失值的数量Resstatus:%d \ n',um(ismissing(datamissing.resstatus))))
ResStatus: 40
使用creditscorecard
使用名称值参数“BinMissingData”
设置为真正的
在单独的垃圾箱中禁止丢失的数据。
sc = creditscorecard (dataMissing,'idvar',“CustID”,“BinMissingData”,真正的);sc = autobinning (sc);disp (sc)
creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:''varnames:{1x11 cell} numericpredictors:{1x6 cell} cateCoricalpricictors:{'resstatus''empstatus''overcc'} binmissingdata:1 idvar:'custid'predictorvars:{1x9 cell}数据:[1200x11表]
显示箱信息以获取数字数据“守护”
这包括在一个单独的标签箱中丢失的数据<缺失>
.
(bi, cp) = bininfo (sc,“守护”);disp (bi)
垃圾箱好赔率Woe infoveue _____________ ________________________ {'[-inf,33)'} 69 52 1.3269 -0.42156 0.018993 {'[33,37)'} 63 45 1.4 -0.36795 0.012839 {[37,40]'} 72 47 1.5319 -0.2779 0.0079824 {'[40,46)'} 172 89 1.9326 -0.04556 0.000456 0.000456 0.04556 0.0004549 {'[46,48)'} 59 25 2.36 0.121201012550 {'[48,51015424 0.0016199 {[48,51)'} 99 41 2.4146 0.121142.4146 0.177130.0035449 { '[51,58)'} 157 62 2.5323 0.22469 0.0088407 { '[58,天道酬勤]'} 93 25 3.72 0.60931 0.032198 { '<缺失>'} 19 11 1.7273 -0.15787 0.00063885 { '总计'} 803 397 2.0227NAN 0.087112.
plotbins (sc,“守护”)
对于数值预测器保管
,删除切点48.
和51.
然后使用modifybins
定义一个'minvalue'
的0
手动更改融合并注意到这不会影响数据中的数据<缺失>
垃圾箱和箱子<缺失>
Bin仍然在最后。
cp(cp == 48)= [];cp(cp == 51)= [];sc = modifybins (sc,“守护”,“割点”cp,'minvalue', 0);bi = bininfo (sc,“守护”);disp (bi)
垃圾箱好的赔率越来越好悲伤______________________________________________ {'[0,33)'} 69 52 1.3269 -0.42156 0.018993 {'[33,37)'} 63 45 1.4 -0.36795 0.012839 {'[37,40)'} 72 47 1.5319 -0.2779 0.0079824 { '[40,46)'} 172 89 1.9326 -0.04556 0.0004549 { '[46,58)'} 315 128 2.4609 0.19612 0.013701 { '[58,天道酬勤]'} 93 25 3.72 0.60931 0.032198{'<缺失>'} 19 11 1.7273 -0.15787 0.00063885 {'总计'} 803 397 2.0227 NAN 0.086808
plotbins (sc,“守护”)
显示的分类数据的bin信息“ResStatus”
这包括在一个单独的标签箱中丢失的数据<缺失>
.
(bi, cg) = bininfo (sc,“ResStatus”);disp (bi)
Bin Good Bad Odds WOE InfoValue ______________ _____________ _________ __________ {'Tenant'} 296 161 1.8385 -0.095463 0.0035249 {'Home Owner'} 352 171 2.0585 0.017549 0.00013382 {'Other'} 128 52 2.4615 0.19637 0.0055808 {''} 27 13 2.0769 0.026469 2.3248e-05 {' total '} 803 397 2.0227 NaN 0.0092627
plotbins (sc,“ResStatus”)
对于绝对预测器ResStatus
,使用modifybins
手动合并“房主”
和'其他'
通过为这些类别分配相同的bin编号来进入一个组。请注意,这不会影响数据中的数据<缺失>
垃圾箱和箱子<缺失>
Bin仍然在最后。
cg.binnumber(3)= 2;sc = modifybins (sc,“ResStatus”,'catgrouping'、cg);(bi, cg) = bininfo (sc,“ResStatus”);disp (bi)
Bin Good Bad Odds WOE InfoValue _____________ _____________ _________ __________ {'Group1'} 296 161 1.8383 -0.095463 0.0035249 {'Group2'} 480 223 2.1525 0.062196 0.0022419 {''} 27 13 2.0769 0.026469 2.3248e-05 {' total '} 803 397 2.0227 NaN 0.00579
DISP(CG)
类别BinNumber ______________ _________ {' 租户'}1{‘业主’}2{‘其他’}2
SC.
- - - - - -信用记分卡模型creditscorecard
对象信用记分卡模型,指定为creditscorecard
对象。使用creditscorecard
创建一个creditscorecard
对象。
PredictorName
- - - - - -预测的名字预测器的名称,指定为包含预测器名称的字符向量。PredictorName
是区分大小写的。
数据类型:char
指定可选的逗号分隔的对名称,值
论点。名称
参数名和价值
为对应值。名称
必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen
.
sc = modififybins(sc,predictorname,'minvalue',10,'切割点',[23,44,66,88])
'minvalue'
- - - - - -最小可接受值(仅限数值预测器)负
(默认)|数字最小可接受值,指定为逗号分隔对,由'minvalue'
和一个数值(仅用于数值预测器)。此数字以下的值被认为超出范围。
数据类型:双倍的
'maxvalue'
- - - - - -最大可接受值(仅限数值预测器)INF.
(默认)|数字最大可接受值,指定为逗号分隔对,由'maxvalue'
和一个数值(仅用于数值预测器)。高于这个数字的值被认为超出了范围。
数据类型:双倍的
“割点”
- - - - - -仓间分割点'catgrouping'
- - - - - -具有两列的表类别
和BinNumber
类别
和BinNumber
具有两列的表类别
和BinNumber
,指定为逗号分隔的对,由'catgrouping'
和一个表,第一列包含预测器的详尽类别列表,第二列包含每个类别所属的bin号。
默认情况下,每个类别都放在一个单独的容器中。如果观察到的类别是'
CAT1'
...,'
猫米'
,默认类别分组如下。
类别 | BinNumber |
---|---|
' CAT1' |
1 |
' CAT2.' |
2 |
...... | ...... |
' 猫米的' |
米 |
数据类型:双倍的
“BinLabels”
- - - - - -每个垃圾桶都有标签每个容器的Bin标签,指定为逗号分隔的对,由“BinLabels”
以及带有bin标签名称的字符向量单元格数组。
“BinLabels”
不支持价值金宝app<缺失>
.
容器标签用于标记不同对象函数中的容器,例如宾FO.
,绘图赛
,displaypoints
.一个creditscorecard
每当修改箱时,对象会自动设置默认垃圾箱。垃圾箱标签的默认格式取决于预测器的类型。
格式BinLabels
是:
数值数据——在任何手动或自动修改预测器容器之前,默认情况下,每个观测到的预测器值都有一个容器。在这种情况下,bin标签只是显示预测值。一旦预测器容器被修改,就会有非默认值迷你
或MaxValue
,或非默认的切点C1, C2,…Cn.在这种情况下,箱标签是:
Bin 1标签:”(
迷你
,C1
)'
本2标签:“[C1
,C2
)'
最后本标签:“[Cn
,MaxValue
]'
例如,如果有三个垃圾箱,迷你
是0且MaxValue
为40,切割点1为20,切割点2为30,则对应的三个箱标为:
'[0,20)'[20,30)'[30,40]'
分类数据——对于分类数据,在对预测器容器进行任何修改之前,每个类别都有一个容器。在这种情况下,bin标签只是显示预测器类别。一旦容器被修改,标签就被设置为'Group1'
,'Group2'
,等等,分别用于bin 1, bin 2,等等。例如,假设我们有以下类别分组
类别 | BinNumber |
---|---|
' CAT1' |
1 |
' CAT2.' |
2 |
' CAT3.' |
2 |
本1包含'cat1'
并且它的bin标签被设置为'Group1'
.Bin 2包含'cat2'
和'cat3'
它的垃圾箱标签设置为'Group2'
.
使用BinLabels
应该是修改垃圾箱时的最后一步(如果需要)。BinLabels
属性在每次修改容器时都会重写定义modifybins
或autobinning.
功能。
数据类型:细胞
SC.
-信用记分卡模式creditscorecard
对象信用记分卡模型,作为更新的creditscorecard
对象。有关使用的更多信息creditscorecard
对象,参见creditscorecard
.
[1]安德森,R.信用评分工具包。牛津大学出版社,2007年。
[2] Refaat, M。信用风险记分卡:使用SAS开发和实现。lulu.com, 2011。
autobinning.
|bindata
|宾FO.
|creditscorecard
|displaypoints
|Fitmodel.
|formatpoints
|modifypredictor.
|绘图赛
|predictorinfo.
|probdefault.
|分数
|setmodel
|validatemodel
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。