modifybins

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

Описание

пример

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

Примеры

свернуть все

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

load CreditCardData 
sc = creditscorecard(data);

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

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, с 20000 до 60000. Отображение обновленной информации о интервале, включая точки разреза.

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);

binning map или правила для категориальных данных суммируются в таблице «группировка категорий», возвращаемой как необязательный выход. По умолчанию каждая категория помещается в отдельный интервал. Вот информация для предиктора 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 функция для объединения второго и третьего интервалов.

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 функция для разделения второго интервала.

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 переопределяют пользовательские метки каждый раз, когда интервалы изменяются, сбрасывают первую точку разреза до 31000 и отображают обновленную информацию о интервале. Обратите внимание, что метки интервалов сбрасываются в формат по умолчанию и точно отражают изменение точек реза.

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. The axes 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. The axes 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. The axes 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 должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

Примечание

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

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

Формат для BinLabels является:

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

    • Интервал Bin 1: '[MinValue, C1)'

    • Bin 2 label: '[C1, C2)'

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

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

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

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

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

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

Совет

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

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

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

свернуть все

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

Ссылки

[1] Anderson, R. The Credit Scoring Toolkit. Oxford University Press, 2007.

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

Введенный в R2014b