modifybins

Измените интервалы предиктора

Описание

пример

sc = modifybins(sc,PredictorName,Name,Value) вручную изменяет интервалы предиктора для числовых предикторов или категориальных предикторов с помощью дополнительных аргументов пары "имя-значение". Для числовых предикторов могут быть заданы минимальное значение, максимальное значение и точки разделения. Для категориальных предикторов могут быть заданы группировки категории. Метки интервала могут быть заданы для обоих типов предикторов.

Примеры

свернуть все

Создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить data (использование набора данных от Refaat 2011).

load CreditCardData 
sc = creditscorecard(data);

Предиктор CustIncome isnumeric. По умолчанию каждое значение предиктора помещается в отдельный интервал.

bi = bininfo(sc,'CustIncome')
bi=46×6 table
       Bin       Good    Bad     Odds         WOE       InfoValue 
    _________    ____    ___    _______    _________    __________

    {'18000'}      2      3     0.66667      -1.1099     0.0056227
    {'19000'}      1      2         0.5      -1.3976     0.0053002
    {'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, от 20 000 до 60 000. Отобразите обновленную информацию об интервале, включая точки разделения.

sc = modifybins(sc,'CustIncome','MinValue',0,'CutPoints',20000:10000:60000);
[bi,cp] = bininfo(sc,'CustIncome')
bi=7×6 table
           Bin           Good    Bad     Odds         WOE       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,Inf]'  }      8       1          8        1.375     0.010235
    {'Totals'       }    803     397     2.0227          NaN      0.12035

cp = 5×1

       20000
       30000
       40000
       50000
       60000

Первые и последние интервалы содержат очень немного точек. Чтобы объединить первый интервал во второй, удалите первую точку разделения. Точно так же, чтобы объединить последний интервал в предпоследний, удалите последнюю точку разделения. Затем используйте modifybins обновить протокол результатов и отображение обновило информацию об интервале.

cp(1)=[];
cp(end)=[];
sc = modifybins(sc,'CustIncome','CutPoints',cp);
bi = bininfo(sc,'CustIncome')
bi=5×6 table
           Bin           Good    Bad     Odds         WOE       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,Inf]'  }    111      33     3.3636       0.5086     0.028028
    {'Totals'       }    803     397     2.0227          NaN      0.11436

Создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить data (использование набора данных от Refaat 2011).

load CreditCardData 
sc = creditscorecard(data);

Карта раскладывания или правила для категориальных данных получены в итоге в "таблице" группировки категории, возвращенной как дополнительный выход. По умолчанию каждая категория помещается в отдельный интервал. Вот является информация для предиктора ResStatus.

[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
         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
    {'Totals'    }    803     397    2.0227          NaN    0.0097738

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Home Owner'}        1    
    {'Tenant'    }        2    
    {'Other'     }        3    

К категориям группы 'Tenant' и 'Other', измените таблицу cg группировки категории, так номер интервала для 'Other' совпадает с номером интервала для 'Tenant'. Затем используйте modifybins обновить протокол результатов.

cg.BinNumber(3) = 2;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);

Отобразите обновленную информацию об интервале. Обратите внимание на то, что метки интервала были обновлены и что информация о членстве в интервале содержится в категории, группирующей cg.

[bi,cg] = bininfo(sc,'ResStatus')
bi=3×6 table
       Bin        Good    Bad     Odds        WOE       InfoValue 
    __________    ____    ___    ______    _________    __________

    {'Group1'}    365     177    2.0621     0.019329     0.0001682
    {'Group2'}    438     220    1.9909    -0.015827    0.00013772
    {'Totals'}    803     397    2.0227          NaN    0.00030592

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Home Owner'}        1    
    {'Tenant'    }        2    
    {'Other'     }        2    

Создайте creditscorecard объект (использование набора данных от Refaat 2011).

load CreditCardData
sc = creditscorecard(data,'IDVar','CustID','GoodLabel',0);

Для числового предиктора CustAge, используйте modifybins функционируйте, чтобы установить следующие точки разделения:

cp = [25 37 49 65];
sc = modifybins(sc,'CustAge','CutPoints',cp,'MinValue',0,'MaxValue',75);
bininfo(sc,'CustAge')
ans=6×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue
    ___________    ____    ___    ______    _________    _________

    {'[0,25)' }      9       8     1.125     -0.58664    0.0052464
    {'[25,37)'}    125      92    1.3587     -0.39789     0.030268
    {'[37,49)'}    340     183    1.8579    -0.084959    0.0031898
    {'[49,65)'}    298     108    2.7593      0.31054     0.030765
    {'[65,75]'}     31       6    5.1667      0.93781     0.022031
    {'Totals' }    803     397    2.0227          NaN       0.0915

Используйте modifybins функционируйте, чтобы объединить 2-е и 3-и интервалы.

sc = modifybins(sc,'CustAge','CutPoints',cp([1 3 4]));
bininfo(sc,'CustAge')
ans=5×6 table
        Bin        Good    Bad     Odds       WOE       InfoValue
    ___________    ____    ___    ______    ________    _________

    {'[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.31054     0.030765
    {'[65,75]'}     31       6    5.1667     0.93781     0.022031
    {'Totals' }    803     397    2.0227         NaN     0.078397

Отобразите информацию об интервале для категориального предиктора 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
    {'Totals'    }    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 table
       Bin        Good    Bad     Odds        WOE       InfoValue 
    __________    ____    ___    ______    _________    __________

    {'Group1'}    365     177    2.0621     0.019329     0.0001682
    {'Group2'}    438     220    1.9909    -0.015827    0.00013772
    {'Totals'}    803     397    2.0227          NaN    0.00030592

Создайте creditscorecard объект (использование набора данных от Refaat 2011).

load CreditCardData
sc = creditscorecard(data,'IDVar','CustID','GoodLabel',0)
sc = 
  creditscorecard with properties:

                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
                 VarNames: {1x11 cell}
        NumericPredictors: {1x6 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
           BinMissingData: 0
                    IDVar: 'CustID'
            PredictorVars: {1x9 cell}
                     Data: [1200x11 table]

Для числового предиктора TmAtAddress, используйте modifybins функционируйте, чтобы установить следующие точки разделения:

cp = [30 80 120];
sc = modifybins(sc,'TmAtAddress','CutPoints',cp,'MinValue',0,'MaxValue',210);
bininfo(sc,'TmAtAddress')
ans=5×6 table
         Bin         Good    Bad     Odds        WOE       InfoValue 
    _____________    ____    ___    ______    _________    __________

    {'[0,30)'   }    330     154    2.1429     0.057722     0.0013305
    {'[30,80)'  }    379     201    1.8856    -0.070187     0.0024086
    {'[80,120)' }     78      36    2.1667     0.068771    0.00044396
    {'[120,210]'}     16       6    2.6667      0.27641     0.0013301
    {'Totals'   }    803     397    2.0227          NaN     0.0055131

Используйте modifybins функционируйте, чтобы разделить 2-й интервал.

sc = modifybins(sc,'TmAtAddress','CutPoints',[cp(1) 50 cp(2:end)]);
bininfo(sc,'TmAtAddress')
ans=6×6 table
         Bin         Good    Bad     Odds        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      36    2.1667     0.068771    0.00044396
    {'[120,210]'}     16       6    2.6667      0.27641     0.0013301
    {'Totals'   }    803     397    2.0227          NaN     0.0085559

Отобразите информацию об интервале для категориального предиктора ResStatus.

[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
         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
    {'Totals'    }    803     397    2.0227          NaN    0.0097738

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Home Owner'}        1    
    {'Tenant'    }        2    
    {'Other'     }        3    

Используйте modifybins функционируйте, чтобы объединить категории 2 и 3.

cg.BinNumber(3) = 2;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
bininfo(sc,'ResStatus')
ans=3×6 table
       Bin        Good    Bad     Odds        WOE       InfoValue 
    __________    ____    ___    ______    _________    __________

    {'Group1'}    365     177    2.0621     0.019329     0.0001682
    {'Group2'}    438     220    1.9909    -0.015827    0.00013772
    {'Totals'}    803     397    2.0227          NaN    0.00030592

Используйте modifybins функционируйте, чтобы разделить интервал 2 и поместить Other под интервалом 3.

cg.BinNumber(3) = 3;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
         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
    {'Totals'    }    803     397    2.0227          NaN    0.0097738

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Home Owner'}        1    
    {'Tenant'    }        2    
    {'Other'     }        3    

Создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить data (использование набора данных от Refaat 2011).

load CreditCardData 
sc = creditscorecard(data);

Используйте modifybins сбросить минимальное значение и создать три интервала для предиктора CustIncome и отобразите обновленную информацию об интервале.

sc = modifybins(sc,'CustIncome','MinValue',0,'CutPoints',[30000 50000]);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
           Bin           Good    Bad     Odds        WOE       InfoValue
    _________________    ____    ___    _______    ________    _________

    {'[0,30000)'    }     64      68    0.94118    -0.76504     0.070065
    {'[30000,50000)'}    628     296     2.1216    0.047762    0.0017421
    {'[50000,Inf]'  }    111      33     3.3636      0.5086     0.028028
    {'Totals'       }    803     397     2.0227         NaN     0.099836

Измените метки интервала, и отображение обновило информацию об интервале.

NewLabels = {'Up to 30k','30k to 50k','50k and more'};
sc = modifybins(sc,'CustIncome','BinLabels',NewLabels);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
          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
    {'Totals'      }    803     397     2.0227         NaN     0.099836

Метки интервала должны быть последним шагом модификации интервала. Как в этом примере пользовательские метки интервала часто содержат информацию о точках разделения, минимуме, или максимальных значениях для числовых данных или информации о группировках категории для категориальных данных. Предотвратить ситуации, где пользовательские метки и точки разделения противоречивы (и метки вводят в заблуждение), creditscorecard возразите заменяет пользовательские метки каждый раз, когда интервалы изменяются с помощью modifybins.

Проиллюстрировать modifybins при переопределении пользовательских меток каждый раз, когда интервалы изменяются, сбрасывает первую точку разделения к 31 000, и отображение обновило информацию об интервале. Обратите внимание на то, что метки интервала сбрасываются к их формату по умолчанию и точно отражают изменение в точках разделения.

sc = modifybins(sc,'CustIncome','CutPoints',[31000 50000]);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
           Bin           Good    Bad     Odds        WOE       InfoValue
    _________________    ____    ___    _______    ________    _________

    {'[0,31000)'    }     82      84    0.97619    -0.72852     0.079751
    {'[31000,50000)'}    610     280     2.1786    0.074251    0.0040364
    {'[50000,Inf]'  }    111      33     3.3636      0.5086     0.028028
    {'Totals'       }    803     397     2.0227         NaN      0.11182

Создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить dataMissing с отсутствующими значениями.

load CreditCardData.mat 
head(dataMissing,5)
ans=5×11 table
    CustID    CustAge    TmAtAddress     ResStatus     EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance    UtilRate    status
    ______    _______    ___________    ___________    _________    __________    _______    _______    _________    ________    ______

      1          53          62         <undefined>    Unknown        50000         55         Yes       1055.9        0.22        0   
      2          61          22         Home Owner     Employed       52000         25         Yes       1161.6        0.24        0   
      3          47          30         Tenant         Employed       37000         61         No        877.23        0.29        0   
      4         NaN          75         Home Owner     Employed       53000         20         Yes       157.37        0.08        0   
      5          68          56         Home Owner     Employed       53000         14         Yes       561.84        0.11        0   

fprintf('Number of rows: %d\n',height(dataMissing))
Number of rows: 1200
fprintf('Number of missing values CustAge: %d\n',sum(ismissing(dataMissing.CustAge)))
Number of missing values CustAge: 30
fprintf('Number of missing values ResStatus: %d\n',sum(ismissing(dataMissing.ResStatus)))
Number of missing values ResStatus: 40

Используйте creditscorecard с аргументом 'BinMissingData' значения имени установите на true к интервалу недостающие данные в отдельном интервале.

sc = creditscorecard(dataMissing,'IDVar','CustID','BinMissingData',true);
sc = autobinning(sc);

disp(sc)
  creditscorecard with properties:

                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
                 VarNames: {1x11 cell}
        NumericPredictors: {1x6 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
           BinMissingData: 1
                    IDVar: 'CustID'
            PredictorVars: {1x9 cell}
                     Data: [1200x11 table]

Отобразите информацию об интервале для числовых данных для 'CustAge' это включает недостающие данные в отдельный интервал, пометил <missing>.

[bi,cp] = bininfo(sc,'CustAge');
disp(bi)
         Bin         Good    Bad     Odds       WOE       InfoValue 
    _____________    ____    ___    ______    ________    __________

    {'[-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.0004549
    {'[46,48)'  }     59      25      2.36     0.15424     0.0016199
    {'[48,51)'  }     99      41    2.4146     0.17713     0.0035449
    {'[51,58)'  }    157      62    2.5323     0.22469     0.0088407
    {'[58,Inf]' }     93      25      3.72     0.60931      0.032198
    {'<missing>'}     19      11    1.7273    -0.15787    0.00063885
    {'Totals'   }    803     397    2.0227         NaN      0.087112
plotbins(sc,'CustAge')

Figure contains an axes object. The axes object with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

Для числового предиктора CustAge, удалите точки разделения 48 и 51 и затем используйте modifybins задавать 'MinValue'из 0 вручную изменить раскладывание и заметить, что это не влияет на данные в <missing> интервал и <missing> интервал остается в конце.

cp(cp==48) = [];
cp(cp==51) = []; 
sc = modifybins(sc,'CustAge','CutPoints',cp,'MinValue',0); 
bi = bininfo(sc,'CustAge');
disp(bi)
         Bin         Good    Bad     Odds       WOE       InfoValue 
    _____________    ____    ___    ______    ________    __________

    {'[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,Inf]' }     93      25      3.72     0.60931      0.032198
    {'<missing>'}     19      11    1.7273    -0.15787    0.00063885
    {'Totals'   }    803     397    2.0227         NaN      0.086808
plotbins(sc,'CustAge')

Figure contains an axes object. The axes object with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

Отобразите информацию об интервале для категориальных данных для 'ResStatus' это включает недостающие данные в отдельный интервал, пометил <missing>.

[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
    {'<missing>' }     27      13    2.0769     0.026469    2.3248e-05
    {'Totals'    }    803     397    2.0227          NaN     0.0092627
plotbins(sc,'ResStatus')

Figure contains an axes object. The axes object with title ResStatus contains 3 objects of type bar, line. These objects represent Good, Bad.

Для категориального предиктора ResStatus, используйте modifybins вручную объединять 'HomeOwner' и 'Other' в одну группу путем присваивания того же номера интервала этим категориям. Заметьте, что это не влияет на данные в <missing> интервал и <missing> интервал остается в конце.

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.8385    -0.095463     0.0035249
    {'Group2'   }    480     223    2.1525     0.062196     0.0022419
    {'<missing>'}     27      13    2.0769     0.026469    2.3248e-05
    {'Totals'   }    803     397    2.0227          NaN       0.00579
disp(cg) 
       Category       BinNumber
    ______________    _________

    {'Tenant'    }        1    
    {'Home Owner'}        2    
    {'Other'     }        2    

Входные параметры

свернуть все

Модель протокола результатов кредита в виде creditscorecard объект. Используйте creditscorecard создать creditscorecard объект.

Имя предиктора в виде вектора символов, содержащего имя предиктора. PredictorName является чувствительным к регистру.

Типы данных: char

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: sc = modifybins(sc,PredictorName,'MinValue',10,'CutPoints',[23, 44, 66, 88])

Минимальное приемлемое значение в виде разделенной запятой пары, состоящей из 'MinValue' и числовое значение (только для числовых предикторов). Значения ниже этого номера рассматриваются из области значений.

Типы данных: double

Максимальное приемлемое значение в виде разделенной запятой пары, состоящей из 'MaxValue' и числовое значение (только для числовых предикторов). Значения выше этого номера рассматриваются из области значений.

Типы данных: double

Разделите точки между интервалами в виде разделенной запятой пары, состоящей из 'CutPoints' и не уменьшающийся числовой массив. Если существует NumBins интервалы, существует n = NumBins– 1 точки разделения так, чтобы C1, C2..., Cn описывают контуры интервала со следующим соглашением:

  • Первый интервал включает любые значения> = MinValue, но <C1.

  • Второй интервал включает любые значения> = C1, но <C2.

  • Последний интервал включает любые значения> = Cn, и <= MaxValue.

Примечание

Точки разделения не включают MinValue или MaxValue.

По умолчанию точки разделения заданы так, чтобы каждая наблюдаемая величина предиктора была помещена в отдельный интервал. Если отсортированные наблюдаемые величины являются V1, …, VM, точки разделения по умолчанию являются V2, …, VM, которые задают интервалы M.

Типы данных: double

Таблица с двумя столбцами под названием Category и BinNumberВ виде разделенной запятой пары, состоящей из 'CatGrouping' и таблица, где первый столбец содержит исчерпывающий список категорий для предиктора и второй столбец, содержит номер интервала, которому принадлежит каждая категория.

По умолчанию каждая категория помещается в отдельный интервал. Если наблюдаемыми категориями является 'Cat1'…,'CatM', группировка категории по умолчанию следующие.

КатегорияBinNumber
'Cat1'1
'Cat2'2
......
'CatM’'M

Типы данных: double

Интервал помечает для каждого интервала в виде разделенной запятой пары, состоящей из 'BinLabels' и массив ячеек из символьных векторов с интервалом помечает имена.

Примечание

'BinLabels' не поддерживает значение <missing>.

Метки интервала используются, чтобы пометить интервалы в различных объектных функциях такой как bininfo, plotbins, и displaypoints. creditscorecard возразите автоматически устанавливает интервалы по умолчанию каждый раз, когда интервалы изменяются. Формат по умолчанию для меток интервала зависит от типа предиктора.

Формат для BinLabels :

  • Числовые данные — Перед любой ручной или автоматической модификацией интервалов предиктора, существует интервал для каждого наблюдаемого значения предиктора по умолчанию. В этом случае метки интервала просто показывают значения предиктора. Если интервалы предиктора были изменены, существуют значения не по умолчанию для MinValue или MaxValue, или точки разделения не по умолчанию C1, C2..., Cn. В этом случае метки интервала:

    • Интервал 1 метка: '[MinValueC1 )'

    • Интервал 2 метки: '[C1C2 )'

    • Последняя метка интервала: '[Cn'MaxValue' ]'

    Например, если существует три интервала, MinValue 0 и MaxValue 40, и точка разделения 1 равняется 20, и точка разделения 2 равняется 30, затем соответствующие три метки интервала:

    '[0,20)'
    '[20,30)'
    '[30,40]'

  • Категориальные данные — Для категориальных данных, перед любой модификацией интервалов предиктора, существуют один интервал на категорию. В этом случае метки интервала просто показывают категории предиктора. Если интервалы были изменены, метки установлены в 'Group1', 'Group2', и так далее, для интервала 1, интервал 2, и так далее, соответственно. Например, предположите, что у нас есть следующая группировка категории

    КатегорияBinNumber
    'Cat1'1
    'Cat2'2
    'Cat3'2

    Интервал 1 содержит 'Cat1' только и его метка интервала установлена в 'Group1'. Интервал 2 содержит 'Cat2' и 'Cat3' и его метка интервала установлена в 'Group2'.

Совет

Используя BinLabels должен быть последний шаг (в случае необходимости) в изменении интервалов. BinLabels определения заменены каждый раз, когда интервалы изменяются с помощью modifybins или autobinning функции.

Типы данных: cell

Выходные аргументы

свернуть все

Модель протокола результатов кредита, возвращенная как обновленный creditscorecard объект. Для получения дополнительной информации об использовании creditscorecard возразите, смотрите creditscorecard.

Ссылки

[1] Андерсон, R. Инструментарий рейтинга кредитоспособности. Издательство Оксфордского университета, 2007.

[2] Refaat, M. Протоколы результатов Кредитного риска: Разработка и Реализация Используя SAS. lulu.com, 2011.

Введенный в R2014b