Main Content

fitctree

다중클래스 분류를 위한 이진 결정 트리 피팅

설명

tree = fitctree(Tbl,ResponseVarName)은 테이블 Tbl에 포함된 입력 변수(예측 변수, 특징 또는 특성이라고도 함)와 Tbl.ResponseVarName에 포함된 출력 변수(응답 변수 또는 레이블)를 기반으로 하여 피팅된 이진 분류 결정 트리를 반환합니다. 반환된 이진 트리는 Tbl의 열 값에 따라 분기 노드를 분할합니다.

tree = fitctree(Tbl,formula)는 테이블 Tbl에 포함된 입력 변수를 기반으로 하여 피팅된 이진 분류 결정 트리를 반환합니다. formulatree를 피팅하는 데 사용된 Tbl에 포함된 응답 변수와 예측 변수의 부분 집합에 대한 설명 모델입니다.

tree = fitctree(Tbl,Y)는 테이블 Tbl에 포함된 입력 변수와 벡터 Y에 포함된 출력 변수를 기반으로 하여 피팅된 이진 분류 결정 트리를 반환합니다.

예제

tree = fitctree(X,Y)는 행렬 X에 포함된 입력 변수와 출력 변수 Y를 기반으로 하여 피팅된 이진 분류 결정 트리를 반환합니다. 반환된 이진 트리는 X의 열 값에 따라 분기 노드를 분할합니다.

예제

tree = fitctree(___,Name,Value)는 위에 열거된 구문 중 하나를 사용하여 하나 이상의 이름-값 쌍의 인수로 지정된 추가 옵션으로 트리를 피팅합니다. 예를 들어, 범주형 예측 변수에 대한 최상의 분할을 찾거나 교차 검증된 트리를 성장시키거나 검증을 위해 입력 데이터의 일부를 홀드아웃하는 데 사용되는 알고리즘을 지정할 수 있습니다.

예제

모두 축소

ionosphere 데이터 세트를 사용하여 분류 트리를 성장시킵니다.

load ionosphere
tc = fitctree(X,Y)
tc = 
  ClassificationTree
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
          NumObservations: 351


MaxNumSplits, MinLeafSize 또는 MinParentSize 이름-값 쌍의 모수를 사용하여 트리의 깊이를 제어할 수 있습니다. fitctree는 기본적으로 깊은 결정 트리를 성장시킵니다. 모델 복잡성 또는 계산 시간을 줄이기 위해 더 얕은 트리를 성장시킬 수 있습니다.

ionosphere 데이터 세트를 불러옵니다.

load ionosphere

분류 트리를 성장시키는 데 사용할 수 있는 트리 깊이 제어 값의 디폴트는 다음과 같습니다.

  • MaxNumSplits에 대해 n - 1. n은 훈련 표본 크기입니다.

  • MinLeafSize에 대해 1.

  • MinParentSize에 대해 10.

이러한 디폴트 값은 훈련 표본 크기가 클 경우 깊은 트리를 성장시키는 경향이 있습니다.

디폴트 트리 깊이 제어 값을 사용하여 분류 트리를 훈련시킵니다. 10겹 교차 검증을 사용하여 모델을 교차 검증합니다.

rng(1); % For reproducibility
MdlDefault = fitctree(X,Y,'CrossVal','on');

트리에 적용된 분할 수를 나타내는 히스토그램을 그립니다. 또한, 트리 중 하나를 표시합니다.

numBranches = @(x)sum(x.IsBranch);
mdlDefaultNumSplits = cellfun(numBranches, MdlDefault.Trained);

figure;
histogram(mdlDefaultNumSplits)

Figure contains an axes object. The axes object contains an object of type histogram.

view(MdlDefault.Trained{1},'Mode','graph')

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 51 objects of type line, text. One or more of the lines displays its values using only markers

평균 분할 수는 약 15입니다.

디폴트 수의 분할을 사용하여 훈련된 분류 트리만큼 복잡하지(깊지) 않은 분류 트리를 원한다고 가정하겠습니다. 또 다른 분류 트리를 훈련시키되, 최대 분할 수를 7로 설정합니다. 이는 디폴트 분류 트리에서 계산한 평균 분할 수의 약 절반에 해당합니다. 10겹 교차 검증을 사용하여 모델을 교차 검증합니다.

Mdl7 = fitctree(X,Y,'MaxNumSplits',7,'CrossVal','on');
view(Mdl7.Trained{1},'Mode','graph')

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 21 objects of type line, text. One or more of the lines displays its values using only markers

모델의 교차 검증 분류 오차를 비교합니다.

classErrorDefault = kfoldLoss(MdlDefault)
classErrorDefault = 0.1168
classError7 = kfoldLoss(Mdl7)
classError7 = 0.1311

Mdl7MdlDefault보다 훨씬 덜 복잡하지만 성능은 약간 더 떨어질 뿐입니다.

이 예제에서는 fitctree를 사용하여 자동으로 하이퍼파라미터를 최적화하는 방법을 보여줍니다. 이 예제에서는 피셔의 붓꽃 데이터를 사용합니다.

피셔의 붓꽃 데이터를 불러옵니다.

load fisheriris

분류기의 교차 검증 손실을 최적화하되 meas의 데이터를 사용하여 species의 응답 변수를 예측합니다.

X = meas;
Y = species;
Mdl = fitctree(X,Y,'OptimizeHyperparameters','auto')
|======================================================================================|
| Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize |
|      | result |             | runtime     | (observed)  | (estim.)    |              |
|======================================================================================|
|    1 | Best   |    0.066667 |      1.4222 |    0.066667 |    0.066667 |           31 |
|    2 | Accept |    0.066667 |     0.39847 |    0.066667 |    0.066667 |           12 |
|    3 | Best   |        0.04 |     0.16669 |        0.04 |    0.040003 |            2 |
|    4 | Accept |     0.66667 |     0.20347 |        0.04 |     0.15796 |           73 |
|    5 | Accept |        0.04 |     0.19157 |        0.04 |    0.040009 |            2 |
|    6 | Accept |     0.66667 |     0.21294 |        0.04 |    0.040012 |           74 |
|    7 | Accept |        0.04 |     0.14538 |        0.04 |    0.040007 |            3 |
|    8 | Accept |    0.046667 |    0.090256 |        0.04 |     0.04001 |            5 |
|    9 | Best   |    0.033333 |      0.1271 |    0.033333 |     0.03335 |            1 |
|   10 | Accept |    0.066667 |      0.1839 |    0.033333 |     0.03335 |           19 |
|   11 | Accept |    0.066667 |     0.14992 |    0.033333 |    0.033349 |            8 |
|   12 | Accept |        0.04 |     0.13055 |    0.033333 |    0.033347 |            4 |
|   13 | Accept |    0.066667 |     0.11643 |    0.033333 |    0.033346 |           24 |
|   14 | Accept |    0.033333 |    0.098916 |    0.033333 |     0.03334 |            1 |
|   15 | Accept |    0.033333 |     0.17833 |    0.033333 |    0.033337 |            1 |
|   16 | Accept |    0.033333 |     0.13089 |    0.033333 |    0.033336 |            1 |
|   17 | Accept |     0.33333 |     0.20385 |    0.033333 |    0.033336 |           42 |
|   18 | Accept |    0.066667 |    0.095739 |    0.033333 |    0.033336 |            6 |
|   19 | Accept |    0.066667 |    0.084471 |    0.033333 |    0.033336 |           15 |
|   20 | Accept |    0.066667 |     0.18601 |    0.033333 |    0.033336 |           10 |
|======================================================================================|
| Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize |
|      | result |             | runtime     | (observed)  | (estim.)    |              |
|======================================================================================|
|   21 | Accept |    0.066667 |     0.13142 |    0.033333 |    0.033336 |           27 |
|   22 | Accept |    0.066667 |     0.10489 |    0.033333 |    0.033336 |            7 |
|   23 | Accept |     0.33333 |     0.12703 |    0.033333 |    0.033984 |           53 |
|   24 | Accept |        0.04 |     0.14416 |    0.033333 |     0.03395 |            3 |
|   25 | Accept |        0.04 |     0.14472 |    0.033333 |    0.033933 |            4 |
|   26 | Accept |    0.066667 |     0.21405 |    0.033333 |      0.0339 |           17 |
|   27 | Accept |    0.066667 |     0.13095 |    0.033333 |    0.034001 |           35 |
|   28 | Accept |    0.066667 |     0.11111 |    0.033333 |    0.033971 |            9 |
|   29 | Accept |    0.066667 |     0.15935 |    0.033333 |    0.033946 |           21 |
|   30 | Accept |    0.066667 |    0.095139 |    0.033333 |    0.033923 |           13 |

__________________________________________________________
Optimization completed.
MaxObjectiveEvaluations of 30 reached.
Total function evaluations: 30
Total elapsed time: 40.0807 seconds
Total objective function evaluation time: 5.8799

Best observed feasible point:
    MinLeafSize
    ___________

         1     

Observed objective function value = 0.033333
Estimated objective function value = 0.033923
Function evaluation time = 0.1271

Best estimated feasible point (according to models):
    MinLeafSize
    ___________

         1     

Estimated objective function value = 0.033923
Estimated function evaluation time = 0.15638

Figure contains an axes object. The axes object with title Min objective vs. Number of function evaluations, xlabel Function evaluations, ylabel Min objective contains 2 objects of type line. These objects represent Min observed objective, Estimated min objective.

Figure contains an axes object. The axes object with title Objective function model, xlabel MinLeafSize, ylabel Estimated objective function value contains 8 objects of type line. One or more of the lines displays its values using only markers These objects represent Observed points, Model mean, Model error bars, Noise error bars, Next point, Model minimum feasible.

Mdl = 
  ClassificationTree
                         ResponseName: 'Y'
                CategoricalPredictors: []
                           ClassNames: {'setosa'  'versicolor'  'virginica'}
                       ScoreTransform: 'none'
                      NumObservations: 150
    HyperparameterOptimizationResults: [1x1 BayesianOptimization]


census1994 데이터 세트를 불러옵니다. 연령, 노동자 계층, 교육 수준, 결혼 여부, 인종, 성별, 자본금 손익, 주당 근무 시간이 주어진 경우 개인의 급여 범주를 예측하는 모델이 있다고 가정하겠습니다.

load census1994
X = adultdata(:,{'age','workClass','education_num','marital_status','race',...
    'sex','capital_gain','capital_loss','hours_per_week','salary'});

summary를 사용하여 범주형 변수로 표현된 범주의 개수를 표시합니다.

summary(X)
Variables:

    age: 32561x1 double

        Values:

            Min          17   
            Median       37   
            Max          90   

    workClass: 32561x1 categorical

        Values:

            Federal-gov            960  
            Local-gov             2093  
            Never-worked             7  
            Private              22696  
            Self-emp-inc          1116  
            Self-emp-not-inc      2541  
            State-gov             1298  
            Without-pay             14  
            NumMissing            1836  

    education_num: 32561x1 double

        Values:

            Min           1   
            Median       10   
            Max          16   

    marital_status: 32561x1 categorical

        Values:

            Divorced                   4443  
            Married-AF-spouse            23  
            Married-civ-spouse        14976  
            Married-spouse-absent       418  
            Never-married             10683  
            Separated                  1025  
            Widowed                     993  

    race: 32561x1 categorical

        Values:

            Amer-Indian-Eskimo       311  
            Asian-Pac-Islander      1039  
            Black                   3124  
            Other                    271  
            White                  27816  

    sex: 32561x1 categorical

        Values:

            Female     10771  
            Male       21790  

    capital_gain: 32561x1 double

        Values:

            Min            0  
            Median         0  
            Max        99999  

    capital_loss: 32561x1 double

        Values:

            Min            0  
            Median         0  
            Max         4356  

    hours_per_week: 32561x1 double

        Values:

            Min           1   
            Median       40   
            Max          99   

    salary: 32561x1 categorical

        Values:

            <=50K     24720  
            >50K       7841  

연속형 변수의 수준에 비해 범주형 변수로 표현된 범주가 적기 때문에 표준 CART, 예측 변수 분할 알고리즘이 범주형 변수를 사용하는 대신 연속형 예측 변수를 분할하려 합니다.

전체 데이터 세트를 사용하여 분류 트리를 훈련시킵니다. 무편향 트리를 성장시키려면 예측 변수 분할에 곡률 검정을 사용하도록 지정하십시오. 데이터에 누락된 관측값이 있기 때문에 대리 분할을 사용하도록 지정합니다.

Mdl = fitctree(X,'salary','PredictorSelection','curvature',...
    'Surrogate','on');

모든 예측 변수에 대한 분할로 인한 위험의 변화에 대한 합을 구하고 이 합을 가지 노드 개수로 나눠서 예측 변수 중요도 값을 추정합니다. 막대 그래프를 사용하여 추정값을 비교합니다.

imp = predictorImportance(Mdl);

figure;
bar(imp);
title('Predictor Importance Estimates');
ylabel('Estimates');
xlabel('Predictors');
h = gca;
h.XTickLabel = Mdl.PredictorNames;
h.XTickLabelRotation = 45;
h.TickLabelInterpreter = 'none';

Figure contains an axes object. The axes object with title Predictor Importance Estimates, xlabel Predictors, ylabel Estimates contains an object of type bar.

이 경우, capital_gain이 가장 중요한 예측 변수이고, education_num이 그 다음으로 중요한 예측 변수입니다.

이 예제에서는 tall형 배열을 사용하여 분류 트리의 하이퍼파라미터를 자동으로 최적화하는 방법을 보여줍니다. 표본 데이터 세트 airlinesmall.csv는 항공편 데이터로 구성된 테이블 형식 파일을 포함하는 대규모 데이터 세트입니다. 이 예제에서는 데이터를 포함하는 tall형 테이블을 생성하고 이를 사용하여 최적화 절차를 실행합니다.

tall형 배열에 대한 계산을 수행할 때 MATLAB®은 병렬 풀(Parallel Computing Toolbox™를 사용할 경우 디폴트 값) 또는 로컬 MATLAB 세션을 사용합니다. Parallel Computing Toolbox가 있는 상태에서 로컬 MATLAB 세션을 사용하여 예제를 실행하려는 경우 mapreducer 함수를 사용하여 전역 실행 환경을 변경하면 됩니다.

데이터와 함께 폴더 위치를 참조하는 데이터저장소를 생성합니다. 사용할 변수의 부분 집합을 선택하고, datastore에서 'NA' 값을 누락된 데이터로 처리하여 이를 NaN 값으로 바꿀 수 있도록 합니다. 데이터저장소에 있는 데이터를 포함하는 tall형 테이블을 생성합니다.

ds = datastore('airlinesmall.csv');
ds.SelectedVariableNames = {'Month','DayofMonth','DayOfWeek',...
                            'DepTime','ArrDelay','Distance','DepDelay'};
ds.TreatAsMissing = 'NA';
tt  = tall(ds) % Tall table
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).

tt =

  M×7 tall table

    Month    DayofMonth    DayOfWeek    DepTime    ArrDelay    Distance    DepDelay
    _____    __________    _________    _______    ________    ________    ________

     10          21            3          642          8         308          12   
     10          26            1         1021          8         296           1   
     10          23            5         2055         21         480          20   
     10          23            5         1332         13         296          12   
     10          22            4          629          4         373          -1   
     10          28            3         1446         59         308          63   
     10           8            4          928          3         447          -2   
     10          10            6          859         11         954          -1   
      :          :             :           :          :           :           :
      :          :             :           :          :           :           :

늦은 항공편에 대해 true인 논리형 변수를 정의하여 10분 이상 늦은 항공편을 확인합니다. 이 변수는 클래스 레이블을 포함합니다. 이 변수의 미리보기에는 처음 몇 개 행만 포함됩니다.

Y = tt.DepDelay > 10 % Class labels
Y =

  M×1 tall logical array

   1
   0
   1
   1
   0
   1
   0
   0
   :
   :

예측 변수 데이터에 대한 tall형 배열을 생성합니다.

X = tt{:,1:end-1} % Predictor data
X =

  M×6 tall double matrix

          10          21           3         642           8         308
          10          26           1        1021           8         296
          10          23           5        2055          21         480
          10          23           5        1332          13         296
          10          22           4         629           4         373
          10          28           3        1446          59         308
          10           8           4         928           3         447
          10          10           6         859          11         954
          :           :            :          :           :           :
          :           :            :          :           :           :

XY에서 누락된 데이터를 포함하는 행을 제거합니다.

R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:end-1); 
Y = R(:,end); 

예측 변수를 표준화합니다.

Z = zscore(X);

'OptimizeHyperparameters' 이름-값 쌍의 인수를 사용하여 하이퍼파라미터를 자동으로 최적화합니다. 홀드아웃 교차 검증 손실을 최소화하는 최적의 'MinLeafSize' 값을 구합니다. ('auto'를 지정하면 'MinLeafSize'가 사용됩니다.) 재현이 가능하도록 'expected-improvement-plus' 획득 함수를 사용하고 rngtallrng를 사용하여 난수 생성기의 시드값을 설정합니다. 결과는 워커의 개수 및 tall형 배열의 실행 환경에 따라 다를 수 있습니다. 자세한 내용은 Control Where Your Code Runs 항목을 참조하십시오.

rng('default') 
tallrng('default')
[Mdl,FitInfo,HyperparameterOptimizationResults] = fitctree(Z,Y,...
    'OptimizeHyperparameters','auto',...
    'HyperparameterOptimizationOptions',struct('Holdout',0.3,...
    'AcquisitionFunctionName','expected-improvement-plus'))
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 3: Completed in 5.6 sec
- Pass 2 of 3: Completed in 2.1 sec
- Pass 3 of 3: Completed in 3.4 sec
Evaluation completed in 13 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.73 sec
Evaluation completed in 0.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 1.2 sec
Evaluation completed in 1.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.64 sec
- Pass 2 of 4: Completed in 1.1 sec
- Pass 3 of 4: Completed in 0.72 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 5.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.87 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.57 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.68 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 4.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.65 sec
- Pass 4 of 4: Completed in 1.7 sec
Evaluation completed in 4.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.63 sec
- Pass 2 of 4: Completed in 0.85 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 4.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 0.88 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 3 sec
Evaluation completed in 6.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.72 sec
- Pass 2 of 4: Completed in 0.96 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 4.2 sec
Evaluation completed in 7.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.77 sec
- Pass 2 of 4: Completed in 0.95 sec
- Pass 3 of 4: Completed in 0.65 sec
- Pass 4 of 4: Completed in 4.8 sec
Evaluation completed in 7.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.79 sec
- Pass 2 of 4: Completed in 1 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 5.1 sec
Evaluation completed in 8.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.89 sec
- Pass 2 of 4: Completed in 1.1 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 5.8 sec
Evaluation completed in 9.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.63 sec
- Pass 4 of 4: Completed in 5.2 sec
Evaluation completed in 8.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.6 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.74 sec
- Pass 4 of 4: Completed in 4.8 sec
Evaluation completed in 9.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.68 sec
- Pass 4 of 4: Completed in 3.9 sec
Evaluation completed in 7.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.6 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.7 sec
- Pass 4 of 4: Completed in 3 sec
Evaluation completed in 7.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.66 sec
- Pass 4 of 4: Completed in 2.5 sec
Evaluation completed in 6.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.66 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 5.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.69 sec
- Pass 4 of 4: Completed in 1.9 sec
Evaluation completed in 5.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 1.4 sec
- Pass 3 of 4: Completed in 0.67 sec
- Pass 4 of 4: Completed in 1.6 sec
Evaluation completed in 5.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.3 sec
- Pass 2 of 4: Completed in 1.4 sec
- Pass 3 of 4: Completed in 0.65 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 5.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.67 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 5.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.65 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 5.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 2.4 sec
Evaluation completed in 2.6 sec
|======================================================================================|
| Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize |
|      | result |             | runtime     | (observed)  | (estim.)    |              |
|======================================================================================|
|    1 | Best   |     0.11572 |      197.12 |     0.11572 |     0.11572 |           10 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.4 sec
Evaluation completed in 0.56 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.93 sec
Evaluation completed in 1.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 0.84 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 1.4 sec
Evaluation completed in 1.6 sec
|    2 | Accept |     0.19635 |      10.496 |     0.11572 |     0.12008 |        48298 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.33 sec
Evaluation completed in 0.47 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.83 sec
Evaluation completed in 0.99 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.74 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.48 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.73 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.68 sec
- Pass 4 of 4: Completed in 0.77 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.48 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.5 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.75 sec
Evaluation completed in 0.87 sec
|    3 | Best   |      0.1048 |      44.614 |      0.1048 |     0.11431 |         3166 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.3 sec
Evaluation completed in 0.45 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.83 sec
Evaluation completed in 0.97 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.99 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.73 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.47 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.82 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.5 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.63 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.66 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.62 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 1.6 sec
Evaluation completed in 4.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 1 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 4.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.8 sec
Evaluation completed in 0.94 sec
|    4 | Best   |     0.10094 |      91.723 |     0.10094 |     0.10574 |          180 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.3 sec
Evaluation completed in 0.42 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.93 sec
Evaluation completed in 1.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.66 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 0.88 sec
Evaluation completed in 4.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.5 sec
- Pass 4 of 4: Completed in 0.98 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.5 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.7 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.64 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.57 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.97 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 0.85 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 0.82 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 1.3 sec
Evaluation completed in 1.4 sec
|    5 | Best   |     0.10087 |       82.84 |     0.10087 |     0.10085 |          219 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.32 sec
Evaluation completed in 0.45 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.87 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.66 sec
- Pass 3 of 4: Completed in 0.5 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.85 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 0.84 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.87 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 0.92 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.77 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.68 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.77 sec
Evaluation completed in 0.93 sec
|    6 | Accept |     0.10155 |      61.043 |     0.10087 |     0.10089 |         1089 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.33 sec
Evaluation completed in 0.46 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.89 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.85 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.87 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.98 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.62 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 2 sec
Evaluation completed in 4.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 2.7 sec
Evaluation completed in 5.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.64 sec
- Pass 2 of 4: Completed in 0.87 sec
- Pass 3 of 4: Completed in 1.2 sec
- Pass 4 of 4: Completed in 3.7 sec
Evaluation completed in 7.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.73 sec
- Pass 2 of 4: Completed in 0.92 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 4.4 sec
Evaluation completed in 7.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.86 sec
- Pass 2 of 4: Completed in 1.5 sec
- Pass 3 of 4: Completed in 0.64 sec
- Pass 4 of 4: Completed in 4.8 sec
Evaluation completed in 8.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.9 sec
- Pass 2 of 4: Completed in 1.1 sec
- Pass 3 of 4: Completed in 0.65 sec
- Pass 4 of 4: Completed in 5.2 sec
Evaluation completed in 8.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 5.6 sec
Evaluation completed in 9.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.5 sec
- Pass 2 of 4: Completed in 1.6 sec
- Pass 3 of 4: Completed in 0.75 sec
- Pass 4 of 4: Completed in 5.8 sec
Evaluation completed in 10 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.3 sec
- Pass 2 of 4: Completed in 1.4 sec
- Pass 3 of 4: Completed in 1.2 sec
- Pass 4 of 4: Completed in 5.1 sec
Evaluation completed in 9.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.4 sec
- Pass 2 of 4: Completed in 1.5 sec
- Pass 3 of 4: Completed in 0.7 sec
- Pass 4 of 4: Completed in 4.1 sec
Evaluation completed in 8.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.4 sec
- Pass 2 of 4: Completed in 1.6 sec
- Pass 3 of 4: Completed in 0.71 sec
- Pass 4 of 4: Completed in 3.6 sec
Evaluation completed in 7.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.5 sec
- Pass 2 of 4: Completed in 1.8 sec
- Pass 3 of 4: Completed in 0.74 sec
- Pass 4 of 4: Completed in 3.2 sec
Evaluation completed in 7.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.4 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 2.8 sec
Evaluation completed in 7.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.5 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 0.82 sec
- Pass 4 of 4: Completed in 2.4 sec
Evaluation completed in 7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 2 sec
- Pass 2 of 4: Completed in 1.9 sec
- Pass 3 of 4: Completed in 0.79 sec
- Pass 4 of 4: Completed in 2.3 sec
Evaluation completed in 7.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.6 sec
- Pass 2 of 4: Completed in 1.8 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 6.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.6 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 0.79 sec
- Pass 4 of 4: Completed in 2.3 sec
Evaluation completed in 7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.7 sec
- Pass 2 of 4: Completed in 1.9 sec
- Pass 3 of 4: Completed in 0.8 sec
- Pass 4 of 4: Completed in 1.8 sec
Evaluation completed in 6.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.7 sec
- Pass 2 of 4: Completed in 1.8 sec
- Pass 3 of 4: Completed in 0.77 sec
- Pass 4 of 4: Completed in 1.8 sec
Evaluation completed in 6.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.4 sec
- Pass 2 of 4: Completed in 1.6 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 1.8 sec
Evaluation completed in 6.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.5 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 1.3 sec
- Pass 4 of 4: Completed in 1.7 sec
Evaluation completed in 6.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.5 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 0.73 sec
- Pass 4 of 4: Completed in 1.8 sec
Evaluation completed in 6.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 1.3 sec
Evaluation completed in 1.5 sec
|    7 | Accept |     0.13495 |      241.76 |     0.10087 |     0.10089 |            1 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.31 sec
Evaluation completed in 0.44 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.87 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.47 sec
- Pass 2 of 4: Completed in 0.67 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.74 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.85 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.62 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 1.6 sec
Evaluation completed in 4.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 1.5 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 1.9 sec
Evaluation completed in 6.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.69 sec
- Pass 2 of 4: Completed in 0.88 sec
- Pass 3 of 4: Completed in 0.75 sec
- Pass 4 of 4: Completed in 2.1 sec
Evaluation completed in 5.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 4.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.84 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 4.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.68 sec
- Pass 2 of 4: Completed in 0.85 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 2.2 sec
Evaluation completed in 4.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.68 sec
- Pass 2 of 4: Completed in 0.91 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 2.4 sec
Evaluation completed in 5.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.92 sec
- Pass 2 of 4: Completed in 0.86 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 1.6 sec
Evaluation completed in 4.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.69 sec
- Pass 2 of 4: Completed in 0.91 sec
- Pass 3 of 4: Completed in 0.63 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.67 sec
- Pass 2 of 4: Completed in 0.86 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.99 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 0.9 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.95 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.73 sec
- Pass 2 of 4: Completed in 0.91 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.91 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.76 sec
- Pass 2 of 4: Completed in 0.93 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.91 sec
Evaluation completed in 1.1 sec
|    8 | Accept |     0.10246 |      115.31 |     0.10087 |     0.10089 |           58 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.34 sec
Evaluation completed in 0.49 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.87 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.48 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.95 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.94 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.6 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.77 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.72 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.6 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 1.3 sec
Evaluation completed in 1.4 sec
|    9 | Accept |     0.10173 |      77.229 |     0.10087 |     0.10086 |          418 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.32 sec
Evaluation completed in 0.46 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.84 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.75 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.91 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.82 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 0.82 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.95 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 1.7 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.7 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.71 sec
- Pass 2 of 4: Completed in 1.7 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 1.7 sec
Evaluation completed in 5.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.83 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.67 sec
- Pass 2 of 4: Completed in 0.87 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.82 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.84 sec
- Pass 3 of 4: Completed in 0.62 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.64 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.88 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.62 sec
- Pass 2 of 4: Completed in 0.9 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.77 sec
Evaluation completed in 0.89 sec
|   10 | Accept |     0.10114 |      94.532 |     0.10087 |     0.10091 |          123 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.86 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.83 sec
Evaluation completed in 0.99 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.48 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.73 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.85 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.82 sec
- Pass 3 of 4: Completed in 0.64 sec
- Pass 4 of 4: Completed in 0.94 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.97 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1.1 sec
Evaluation completed in 4.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.84 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 4.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.63 sec
- Pass 2 of 4: Completed in 0.84 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.2 sec
- Pass 2 of 4: Completed in 0.83 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.81 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.77 sec
Evaluation completed in 0.89 sec
|   11 | Best   |      0.1008 |      90.637 |      0.1008 |     0.10088 |          178 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.38 sec
Evaluation completed in 0.52 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.88 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.59 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.93 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.57 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.91 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.85 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 1.1 sec
- Pass 2 of 4: Completed in 0.81 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 3.9 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.82 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 1.4 sec
Evaluation completed in 4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.66 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.79 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1.2 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.62 sec
- Pass 2 of 4: Completed in 0.85 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.61 sec
- Pass 2 of 4: Completed in 0.86 sec
- Pass 3 of 4: Completed in 1.1 sec
- Pass 4 of 4: Completed in 0.96 sec
Evaluation completed in 4.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.65 sec
- Pass 2 of 4: Completed in 0.8 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.69 sec
- Pass 2 of 4: Completed in 0.84 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.83 sec
Evaluation completed in 3.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.76 sec
Evaluation completed in 0.89 sec
|   12 | Accept |      0.1008 |      90.267 |      0.1008 |     0.10086 |          179 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.32 sec
Evaluation completed in 0.45 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.9 sec
Evaluation completed in 1.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.77 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.49 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.77 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.72 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.74 sec
- Pass 3 of 4: Completed in 0.51 sec
- Pass 4 of 4: Completed in 1.3 sec
Evaluation completed in 3.6 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.74 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.83 sec
Evaluation completed in 0.97 sec
|   13 | Accept |     0.11126 |      32.134 |      0.1008 |     0.10084 |        10251 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.32 sec
Evaluation completed in 0.45 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.85 sec
Evaluation completed in 0.99 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.75 sec
- Pass 3 of 4: Completed in 0.55 sec
- Pass 4 of 4: Completed in 0.74 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.7 sec
- Pass 3 of 4: Completed in 0.57 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.68 sec
- Pass 3 of 4: Completed in 0.53 sec
- Pass 4 of 4: Completed in 0.79 sec
Evaluation completed in 3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.91 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.86 sec
Evaluation completed in 3.7 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 1 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.71 sec
- Pass 3 of 4: Completed in 0.64 sec
- Pass 4 of 4: Completed in 0.99 sec
Evaluation completed in 3.4 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.54 sec
- Pass 2 of 4: Completed in 1.2 sec
- Pass 3 of 4: Completed in 0.58 sec
- Pass 4 of 4: Completed in 0.94 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.51 sec
- Pass 2 of 4: Completed in 0.77 sec
- Pass 3 of 4: Completed in 0.59 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 0.78 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.9 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.55 sec
- Pass 2 of 4: Completed in 0.72 sec
- Pass 3 of 4: Completed in 0.52 sec
- Pass 4 of 4: Completed in 0.89 sec
Evaluation completed in 3.2 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.58 sec
- Pass 2 of 4: Completed in 0.76 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.8 sec
Evaluation completed in 3.3 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.56 sec
- Pass 2 of 4: Completed in 1.3 sec
- Pass 3 of 4: Completed in 0.61 sec
- Pass 4 of 4: Completed in 0.76 sec
Evaluation completed in 3.8 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.83 sec
Evaluation completed in 0.97 sec
|   14 | Accept |     0.10154 |      66.262 |      0.1008 |     0.10085 |          736 |
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.36 sec
Evaluation completed in 0.5 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 0.89 sec
Evaluation completed in 1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.53 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.74 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.5 sec
- Pass 2 of 4: Completed in 0.67 sec
- Pass 3 of 4: Completed in 0.56 sec
- Pass 4 of 4: Completed in 0.78 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 0.52 sec
- Pass 2 of 4: Completed in 0.69 sec
- Pass 3 of 4: Completed in 0.54 sec
- Pass 4 of 4: Completed in 0.84 sec
Evaluation completed in 3.1 sec
Evaluating tall expression using the Parallel Pool 'local':
Evaluation 0% ...
Mdl = 
  CompactClassificationTree
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: [0 1]
           ScoreTransform: 'none'


  Properties, Methods

FitInfo = struct with no fields.


HyperparameterOptimizationResults = 
  BayesianOptimization with properties:

                      ObjectiveFcn: @createObjFcn/tallObjFcn
              VariableDescriptions: [4×1 optimizableVariable]
                           Options: [1×1 struct]
                      MinObjective: 0.1004
                   XAtMinObjective: [1×1 table]
             MinEstimatedObjective: 0.1008
          XAtMinEstimatedObjective: [1×1 table]
           NumObjectiveEvaluations: 30
                  TotalElapsedTime: 3.0367e+03
                         NextPoint: [1×1 table]
                            XTrace: [30×1 table]
                    ObjectiveTrace: [30×1 double]
                  ConstraintsTrace: []
                     UserDataTrace: {30×1 cell}
      ObjectiveEvaluationTimeTrace: [30×1 double]
                IterationTimeTrace: [30×1 double]
                        ErrorTrace: [30×1 double]
                  FeasibilityTrace: [30×1 logical]
       FeasibilityProbabilityTrace: [30×1 double]
               IndexOfMinimumTrace: [30×1 double]
             ObjectiveMinimumTrace: [30×1 double]
    EstimatedObjectiveMinimumTrace: [30×1 double]

입력 인수

모두 축소

모델을 훈련시키는 데 사용되는 표본 데이터로, 테이블로 지정됩니다. Tbl의 각 행은 하나의 관측값에 대응되고, 각 열은 하나의 예측 변수에 대응됩니다. 선택적으로, Tbl은 응답 변수에 대해 하나의 추가 열을 포함할 수 있습니다. 문자형 벡터로 구성된 셀형 배열 이외의 셀형 배열과 다중 열 변수는 허용되지 않습니다.

  • Tbl이 응답 변수를 포함하며 Tbl의 나머지 모든 변수를 예측 변수로 사용하려는 경우 ResponseVarName을 사용하여 응답 변수를 지정하십시오.

  • Tbl이 응답 변수를 포함하며 Tbl의 나머지 변수 중 일부만 예측 변수로 사용하려는 경우 formula를 사용하여 공식을 지정하십시오.

  • Tbl이 응답 변수를 포함하지 않는 경우 Y를 사용하여 응답 변수를 지정하십시오. 응답 변수의 길이와 Tbl의 행 개수는 동일해야 합니다.

응답 변수 이름으로, Tbl의 변수 이름으로 지정됩니다.

ResponseVarName은 문자형 벡터나 string형 스칼라로 지정해야 합니다. 예를 들어, 응답 변수 YTbl.Y로 저장된 경우 이를 "Y"로 지정하십시오. 이렇게 하지 않으면 모델을 훈련시킬 때 Y를 포함한 Tbl의 모든 열이 예측 변수로 처리됩니다.

응답 변수는 categorical형 배열, 문자형 배열, string형 배열, 논리형 벡터 또는 숫자형 벡터, 문자형 벡터로 구성된 셀형 배열이어야 합니다. Y가 문자형 배열인 경우, 응답 변수의 각 요소는 배열의 각 행에 대응되어야 합니다.

ClassNames 이름-값 인수를 사용하여 클래스의 순서를 지정하는 것이 좋습니다.

데이터형: char | string

응답 변수, 그리고 예측 변수의 부분 집합에 대한 설명 모델로, "Y~x1+x2+x3" 형식의 문자형 벡터나 string형 스칼라로 지정됩니다. 이 형식에서 Y는 응답 변수를 나타내고, x1, x2, x3은 예측 변수를 나타냅니다.

Tbl의 일부 변수를 모델 훈련에 사용할 예측 변수로 지정하려면 식을 사용하십시오. 사용자가 식을 지정하면 Tbl의 변수 중 해당 formula에 표시되지 않은 변수는 사용되지 않습니다.

식에 포함되는 변수 이름은 Tbl에 포함된 변수 이름(Tbl.Properties.VariableNames)이면서 동시에 유효한 MATLAB® 식별자여야 합니다. isvarname 함수를 사용하여 Tbl에 포함된 변수 이름을 확인할 수 있습니다. 변수 이름이 유효하지 않으면 matlab.lang.makeValidName 함수를 사용하여 변수 이름을 변환할 수 있습니다.

데이터형: char | string

클래스 레이블로, 숫자형 벡터, categorical형 벡터, 논리형 벡터, 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. Y의 각 행은 이에 대응되는 X 행의 분류를 나타냅니다.

트리를 피팅할 때 fitctreeYNaN, ''(빈 문자형 벡터), ""(빈 string형), <missing>, <undefined> 값을 누락값으로 간주합니다. fitctree는 피팅할 때 Y에 대해 누락값이 있는 관측값을 사용하지 않습니다.

숫자형 Y의 경우, 이 대신 fitrtree를 사용하여 회귀 트리를 피팅하는 방안을 고려해 보십시오.

데이터형: single | double | categorical | logical | char | string | cell

예측 변수 데이터로, 숫자형 행렬로 지정됩니다. X의 각 행은 하나의 관측값에 대응되고, 각 열은 하나의 예측 변수에 대응됩니다.

fitctreeXNaN 값을 누락값으로 간주합니다. fitctree는 피팅할 때 전부 누락값인 X의 관측값을 사용하지 않습니다. fitctree는 일부가 누락값인 X의 관측값을 사용하여 이러한 관측값이 유효한 값을 가지는 변수에서 분할을 구합니다.

데이터형: single | double

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'CrossVal','on','MinLeafSize',40은 리프당 최소 40개의 관측값을 가지는 교차 검증된 분류 트리를 지정합니다.

참고

교차 검증 이름-값 인수는 'OptimizeHyperparameters' 이름-값 인수와 함께 사용할 수 없습니다. 'OptimizeHyperparameters'에 대한 교차 검증을 수정하려면 'HyperparameterOptimizationOptions' 이름-값 인수를 사용해야만 합니다.

모델의 파라미터

모두 축소

데이터에 대한 C개의 범주와 K ≥ 3개 클래스를 사용하여 범주형 예측 변수에 대한 최상의 분할을 구하기 위한 알고리즘으로, 'AlgorithmForCategorical'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

설명
'Exact'2C–1 – 1개 조합 모두를 고려합니다.
'PullLeft'오른쪽 가지에 있는 모든 C개의 범주로 시작합니다. 각각의 범주를 왼쪽 가지로 이동시키면 나머지 범주 중에서 K개의 클래스에 대해 최소 불순도를 얻을 수 있으므로 이를 고려해 보십시오. 이 시퀀스에서 불순도가 가장 낮은 분할을 선택합니다.
'PCA'(중심화된 클래스 확률 행렬의) 가중 공분산 행렬에 대한 첫 번째 주성분과 해당 범주에 대한 클래스 확률 벡터 간의 내적을 사용하여 각 범주의 점수를 계산합니다. 점수를 오름차순으로 정렬하고 C – 1개 분할을 모두 고려합니다.
'OVAbyClass'오른쪽 가지에 있는 모든 C개의 범주로 시작합니다. 각 클래스마다 해당 클래스의 확률을 기준으로 범주를 정렬합니다. 첫 번째 클래스에 대해 각 범주를 순서대로 왼쪽 가지로 이동하고 이동할 때마다 불순도 기준을 기록해 봅니다. 나머지 클래스에 대해 이 과정을 반복합니다. 이 시퀀스에서 최소 불순도를 갖는 분할을 선택합니다.

fitctree는 알려진 개수의 클래스와 범주형 예측 변수 수준을 사용하여 각 분할에 대한 최적의 알고리즘 조합을 자동으로 선택합니다. K = 2개 클래스인 경우, fitctree는 항상 완전 탐색을 수행합니다. 특정 알고리즘을 지정하려면 'AlgorithmForCategorical' 이름-값 쌍의 인수를 사용하십시오.

자세한 내용은 Splitting Categorical Predictors in Classification Trees 항목을 참조하십시오.

예: 'AlgorithmForCategorical','PCA'

범주형 예측 변수 목록으로, 다음 표에 있는 값 중 하나로 지정됩니다.

설명
양의 정수로 구성된 벡터

벡터의 각 요소는 대응되는 예측 변수가 범주형임을 나타내는 인덱스 값입니다. 인덱스 값은 1과 p 사이입니다. 여기서 p는 모델을 훈련시킬 때 사용되는 예측 변수의 개수입니다.

fitctree 함수가 입력 변수의 서브셋을 예측 변수로 사용하는 경우 함수는 해당 서브셋만 사용하여 예측 변수의 요소를 참조합니다. CategoricalPredictors 값은 응답 변수, 관측값 가중치 변수 또는 함수가 사용하지 않는 그 밖의 변수를 세지 않습니다.

논리형 벡터

요소의 값이 true이면 대응되는 예측 변수가 범주형임을 의미합니다. 벡터의 길이는 p입니다.

문자형 행렬행렬의 각 행은 예측 변수의 이름입니다. 이름은 PredictorNames의 요소와 일치해야 합니다. 문자형 행렬의 각 행의 길이가 같게 되도록 이름 뒤에 추가로 공백을 채웁니다.
string형 배열 또는 문자형 벡터로 구성된 셀형 배열배열의 각 요소는 예측 변수의 이름입니다. 이름은 PredictorNames의 요소와 일치해야 합니다.
"all"모든 예측 변수가 범주형 변수입니다.

기본적으로 예측 변수 데이터가 테이블(Tbl)인 경우, 변수가 논리형 벡터, 순서가 없는 categorical형 벡터, 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열이면 fitctree은 그 변수를 categorical형이라고 가정합니다. 예측 변수 데이터가 행렬(X)이면 fitctree 함수는 모든 예측 변수를 연속형 변수라고 가정합니다. 다른 모든 예측 변수를 범주형 예측 변수로 식별하려면 이러한 변수를 CategoricalPredictors 이름-값 인수를 사용하여 지정하십시오.

예: 'CategoricalPredictors','all'

데이터형: single | double | logical | char | string | cell

훈련에 사용할 클래스의 이름으로, categorical형 배열, 문자형 배열, string형 배열, 논리형 벡터 또는 숫자형 벡터, 문자형 벡터로 구성된 셀형 배열로 지정됩니다. ClassNamesTbl의 응답 변수 또는 Y와 같은 데이터형이어야 합니다.

ClassNames가 문자형 배열인 경우, 각 요소는 배열의 각 행에 대응되어야 합니다.

ClassNames를 사용하여 다음을 수행할 수 있습니다.

  • 훈련 중의 클래스 순서를 지정합니다.

  • 입력 인수 차원 또는 출력 인수 차원의 순서를 지정합니다. 이 순서는 클래스 순서와 일치합니다. 예를 들어, ClassNames를 사용하여 Cost 차원의 순서나 predict로 반환되는 분류 점수의 열 순서를 지정할 수 있습니다.

  • 훈련에 사용할 클래스의 일부를 선택합니다. 예를 들어, Y에 포함된 모든 고유한 클래스 이름의 집합이 ["a","b","c"]라고 가정해 보겠습니다. 클래스 "a""c"의 관측값만 사용하여 모델을 훈련시키려면 "ClassNames",["a","c"]를 지정하십시오.

ClassNames의 디폴트 값은 Tbl의 응답 변수 또는 Y에 포함된 모든 고유한 클래스 이름의 집합입니다.

예: "ClassNames",["b","g"]

데이터형: categorical | char | string | logical | single | double | cell

점의 오분류 비용으로, 'Cost'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 정사각 행렬로, 여기서 Cost(i,j)는 특정 점에 대해 실제 클래스가 i인 경우 이 점을 j 클래스로 분류하는 비용입니다(즉, 행은 실제 클래스에 대응되고, 열은 예측 클래스에 대응됨). Cost의 대응 행과 대응 열에 대한 클래스 순서를 지정하려면 ClassNames 이름-값 쌍의 인수도 지정하십시오.

  • 다음 두 개의 필드를 갖는 구조체 S: Y와 같은 데이터형의 변수로 그룹 이름을 포함하는 S.ClassNames와 비용 행렬을 포함하는 S.ClassificationCosts.

디폴트 값은 i~=j인 경우 Cost(i,j)=1이고, i=j인 경우 Cost(i,j)=0입니다.

데이터형: single | double | struct

최대 트리 깊이로, 'MaxDepth'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다. 수준의 개수가 더 적고 계산을 위해 tall형 배열을 통과해야 하는 횟수가 더 적은 트리를 반환하려면 이 인수의 값을 지정하십시오. 일반적으로 fitctree 알고리즘은 데이터 전체에 대해 한 번 통과하고, 각 트리 수준마다 추가적으로 한 번씩 더 통과합니다. 기본적으로 함수는 최대 트리 깊이를 설정하지 않습니다.

참고

이 옵션은 tall형 배열에 fitctree를 사용하는 경우에만 적용됩니다. 자세한 내용은 tall형 배열을 참조하십시오.

최대 범주 수준으로, 'MaxNumCategories'와 함께 음이 아닌 스칼라 값이 쉼표로 구분되어 지정됩니다. fitctree는 예측 변수가 분할 노드에 최대 MaxNumCategories개의 수준을 갖는 경우 완전 탐색 알고리즘을 사용하여 범주형 예측 변수를 분할합니다. 그렇지 않은 경우, fitctree는 완전하지 않은 탐색 알고리즘 중 하나를 사용하여 최상의 범주 분할을 구합니다.

작은 값을 전달하면 정확도 손실이 발생할 수 있으며 큰 값을 전달하면 계산 시간과 메모리 오버로드가 증가할 수 있습니다.

예: 'MaxNumCategories',8

결정 분할(또는 가지 노드)의 최대 개수로, 'MaxNumSplits'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다. fitctreeMaxNumSplits개 이하의 가지 노드를 분할합니다. 분할 동작에 대한 자세한 내용은 알고리즘을 참조하십시오.

예: 'MaxNumSplits',5

데이터형: single | double

리프 병합 플래그로, 'MergeLeaves'와 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.

MergeLeaves'on'인 경우 fitctree는 다음을 수행합니다.

  • 동일한 부모 노드에서 발생하고 부모 노드와 연관된 위험보다 크거나 같은 위험 값의 합을 생성하는 리프를 병합합니다.

  • 가지치기된 하위 트리의 최적의 시퀀스를 추정하되, 분류 트리를 가지치기하지는 않습니다.

그렇지 않은 경우, fitctree는 리프를 병합하지 않습니다.

예: 'MergeLeaves','off'

리프 노드 관측값의 최소 개수로, 'MinLeafSize'와 함께 양의 정수 값이 쉼표로 구분되어 지정됩니다. 각 리프는 트리 리프당 최소 MinLeafSize개의 관측값을 가집니다. MinParentSizeMinLeafSize를 모두 지정하는 경우, fitctree는 더 큰 리프를 생성하는 설정을 사용합니다(MinParentSize = max(MinParentSize,2*MinLeafSize)).

예: 'MinLeafSize',3

데이터형: single | double

가지 노드 관측값의 최소 개수로, 'MinParentSize'와 함께 양의 정수 값이 쉼표로 구분되어 지정됩니다. 트리의 각 가지 노드는 최소 MinParentSize개의 관측값을 가집니다. MinParentSizeMinLeafSize를 모두 지정하는 경우, fitctree는 더 큰 리프를 생성하는 설정을 사용합니다(MinParentSize = max(MinParentSize,2*MinLeafSize)).

예: 'MinParentSize',8

데이터형: single | double

숫자형 예측 변수의 Bin 개수로, 'NumBins'와 함께 양의 정수 스칼라가 쉼표로 구분되어 지정됩니다.

  • 'NumBins' 값이 비어 있으면(디폴트 값) fitctree 함수는 예측 변수를 비닝하지 않습니다.

  • 'NumBins' 값을 양의 정수 스칼라(numBins)로 지정하면 fitctree 함수는 모든 숫자형 예측 변수를 최대 numBins개의 등확률 Bin으로 비닝한 다음 원래 데이터가 아닌 Bin 인덱스에서 트리를 성장시킵니다.

    • 예측 변수의 고유한 값이 numBins개보다 작은 경우 Bin의 개수는 numBins개보다 작을 수 있습니다.

    • fitctree 함수는 범주형 예측 변수를 비닝하지 않습니다.

큰 훈련 데이터 세트를 사용할 경우 이 비닝 옵션은 훈련 속도를 높이지만 정확도가 떨어질 가능성이 있습니다. 먼저 'NumBins',50을 사용해 본 후에 정확도와 훈련 속도에 따라 값을 변경해 볼 수 있습니다.

훈련된 모델은 Bin 경계값을 BinEdges 속성에 저장합니다.

예: 'NumBins',50

데이터형: single | double

각 분할에 대해 임의로 선택할 예측 변수의 개수로, 'NumVariablesToSample'과 함께 양의 정수 값이 쉼표로 구분되어 지정됩니다. 또는 'all'을 지정하여 사용 가능한 모든 예측 변수를 사용할 수도 있습니다.

훈련 데이터가 다수의 예측 변수를 포함하며 예측 변수의 중요도를 분석하려는 경우에는 'NumVariablesToSample''all'로 지정하십시오. 이렇게 하지 않으면 일부 예측 변수가 선택되지 않아서 이러한 변수의 중요도가 과소 평가될 수 있습니다.

임의 선택을 재현하려면 rng를 사용하여 난수 생성기의 시드값을 설정하고 'Reproducible',true를 지정해야 합니다.

예: 'NumVariablesToSample',3

데이터형: char | string | single | double

예측 변수 이름으로, 고유한 이름으로 구성된 string형 배열 또는 고유한 문자형 벡터로 구성된 셀형 배열로 지정됩니다. PredictorNames의 기능은 훈련 데이터를 어떤 방식으로 제공하느냐에 따라 달라집니다.

  • XY를 제공하는 경우, PredictorNames를 사용하여 X의 예측 변수에 이름을 할당할 수 있습니다.

    • PredictorNames의 이름의 순서는 X의 열 순서와 일치해야 합니다. 즉, PredictorNames{1}X(:,1)의 이름이고, PredictorNames{2}X(:,2)의 이름이 되는 식입니다. 또한, size(X,2)numel(PredictorNames)는 같아야 합니다.

    • 기본적으로 PredictorNames{'x1','x2',...}입니다.

  • Tbl을 제공하는 경우, PredictorNames를 사용하여 훈련에 사용할 예측 변수를 선택할 수 있습니다. 즉, fitctree 함수는 PredictorNames의 예측 변수와 이에 대한 응답 변수만을 훈련 중에 사용합니다.

    • PredictorNamesTbl.Properties.VariableNames의 부분 집합이어야 하므로 응답 변수의 이름은 포함할 수 없습니다.

    • 기본적으로, PredictorNames는 모든 예측 변수의 이름을 포함합니다.

    • PredictorNamesformula 중 하나만 사용하여 훈련에 사용할 예측 변수를 지정하는 것이 좋습니다.

예: "PredictorNames",["SepalLength","SepalWidth","PetalLength","PetalWidth"]

데이터형: string | cell

각 노드에서 최상의 분할 예측 변수를 선택하는 데 사용되는 알고리즘으로, 'PredictorSelection'과 함께 다음 표에 나와 있는 값이 쉼표로 구분되어 지정됩니다.

설명
'allsplits'

표준 CART — 모든 예측 변수의 모든 가능한 분할에 대해 분할 조건 이득을 최대화하는 분할 예측 변수를 선택합니다 [1].

'curvature'곡률 검정 — 각 예측 변수와 응답 변수 간 독립성에 대한 카이제곱 검정의 p-값을 최소화하는 분할 예측 변수를 선택합니다 [4]. 훈련 속도는 표준 CART와 비슷합니다.
'interaction-curvature'상호 작용 검정 — 각 예측 변수와 응답 변수 간 독립성에 대한 카이제곱 검정의 p-값을 최소화하고 각 예측 변수 쌍과 응답 변수 간의 독립성에 대한 카이제곱 검정의 p-값을 최소화하는 분할 예측 변수를 선택합니다 [3]. 훈련 속도는 표준 CART보다 느릴 수 있습니다.

'curvature''interaction-curvature'의 경우, 모든 검정에서 0.05보다 큰 p-값이 생성되면 fitctree 함수가 노드 분할을 중지합니다.

  • 표준 CART는 적은 고유 값을 포함하는 분할 예측 변수(예: 범주형 변수)보다 많은 고유 값을 포함하는 분할 예측 변수(예: 연속형 변수)를 선택하는 경향이 있습니다 [4]. 다음 중 하나에 해당되는 경우 곡률 검정이나 상호 작용 검정을 지정해 보십시오.

    • 다른 예측 변수보다 상대적으로 더 적은 수의 고유 값을 갖는 예측 변수가 있는 경우(예를 들어, 예측 변수 데이터 세트가 이종인 경우).

    • 예측 변수 중요도 분석이 목표인 경우. 예측 변수 중요도 추정에 대한 자세한 내용은 predictorImportanceIntroduction to Feature Selection 항목을 참조하십시오.

  • 표준 CART를 사용하여 성장된 트리는 예측 변수 상호 작용에 민감하지 않습니다. 또한, 이러한 트리는 관련 없는 예측 변수가 많이 있을 경우 상호 작용 검정을 적용할 때보다 중요한 변수를 식별할 가능성이 더 적습니다. 따라서 예측 변수 상호 작용을 고려하고, 관련 없는 변수가 많이 있을 경우 중요한 변수를 식별하려면 상호 작용 검정을 지정해야 합니다 [3].

  • 예측 속도는 'PredictorSelection' 값의 영향을 받지 않습니다.

fitctree 함수가 분할 예측 변수를 선택하는 방법에 대한 자세한 내용은 노드 분할 규칙Choose Split Predictor Selection Technique 항목을 참조하십시오.

예: 'PredictorSelection','curvature'

각 클래스에 대한 사전 확률로, 다음 중 하나로 지정됩니다.

  • 문자형 벡터 또는 string형 스칼라.

    • 'empirical'Y 또는 Tbl에 포함된 응답 변수의 클래스 도수에서 클래스 확률을 확인합니다. 관측값 가중치를 전달하면 fitctree 함수는 이 가중치를 사용하여 클래스 확률을 계산합니다.

    • 'uniform'은 클래스 확률을 모두 같은 값으로 설정합니다.

  • 벡터(각 클래스마다 하나의 스칼라 값 구성). 'Prior'의 대응 요소에 대한 클래스 순서를 지정하려면 'ClassNames' 이름-값 인수를 지정하십시오.

  • 다음과 같은 두 개의 필드를 갖는 구조체 S입니다.

    • S.ClassNames는 클래스 이름을 변수로 포함하며 Y 또는 Tbl 응답 변수와 동일한 데이터형을 가집니다.

    • S.ClassProbs는 대응되는 확률로 구성된 벡터를 포함합니다.

fitctree 함수는 각 클래스의 가중치('Weights')의 총합이 각 클래스의 사전 확률 값이 되도록 가중치를 정규화합니다.

예: 'Prior','uniform'

데이터형: char | string | single | double | struct

가지치기된 하위 트리에 대한 최적의 시퀀스를 추정하는 플래그로, 'Prune'과 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.

Prune'on'인 경우 fitctree 함수는 분류 트리를 가지치기하지 않고 성장시키되, 가지치기된 하위 트리에 대한 최적의 시퀀스를 추정합니다. 그렇지 않은 경우, fitctree 함수는 가지치기된 하위 트리에 대한 최적의 시퀀스를 추정하지 않고 분류 트리를 성장시킵니다.

훈련된 ClassificationTree 모델을 가지치기하려면 이를 prune에 전달하십시오.

예: 'Prune','off'

가지치기 기준으로, 'PruneCriterion'과 함께 'error' 또는 'impurity'가 쉼표로 구분되어 지정됩니다.

'impurity'를 지정할 경우 fitctree 함수는 'SplitCriterion' 이름-값 쌍의 인수로 지정된 불순도 측정값을 사용합니다.

자세한 내용은 불순도 및 노드 오차 항목을 참조하십시오.

예: 'PruneCriterion','impurity'

모델 훈련의 반복된 실행에 대해 재현성을 적용하기 위한 플래그로, 'Reproducible'과 함께 false 또는 true가 쉼표로 구분되어 지정됩니다.

'NumVariablesToSample''all'이 아니면 각 분할에 대해 임의로 예측 변수를 선택합니다. 임의 선택을 재현하려면 'Reproducible',true를 지정하고 rng를 사용하여 난수 생성기의 시드값을 설정해야 합니다. 'Reproducible'true로 설정하면 훈련 속도가 느려질 수 있습니다.

예: 'Reproducible',true

데이터형: logical

응답 변수 이름으로, 'ResponseName'과 함께 응답 변수 이름을 나타내는 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

이 이름-값 쌍은 ResponseVarName 또는 formula 입력 인수를 사용하는 경우 유효하지 않습니다.

예: 'ResponseName','IrisType'

데이터형: char | string

점수 변환 방식으로, 문자형 벡터, string형 스칼라 또는 함수 핸들로 지정됩니다.

다음 표에는 사용 가능한 문자형 벡터와 string형 스칼라가 요약되어 있습니다.

설명
"doublelogit"1/(1 + e–2x)
"invlogit"log(x / (1 – x))
"ismax"최대 점수를 갖는 클래스의 점수를 1로 설정하고, 다른 모든 클래스의 점수를 0으로 설정합니다.
"logit"1/(1 + e–x)
"none" 또는 "identity"x(변환 없음)
"sign"x < 0의 경우 –1
x = 0의 경우 0
x > 0의 경우 1
"symmetric"2x – 1
"symmetricismax"최대 점수를 갖는 클래스의 점수를 1로 설정하고, 다른 모든 클래스의 점수를 -1로 설정합니다.
"symmetriclogit"2/(1 + e–x) – 1

MATLAB 함수나 사용자가 직접 정의하는 함수의 경우, 이에 대한 함수 핸들을 점수 변환에 사용하십시오. 함수 핸들은 행렬(원래 점수)을 받아 동일한 크기의 행렬(변환된 점수)을 반환합니다.

예: "ScoreTransform","logit"

데이터형: char | string | function_handle

분할 기준으로, 'SplitCriterion'과 함께 'gdi'(지니 다양성 지수), 'twoing'(투잉 규칙) 또는 'deviance'(최대 이탈도 감소, 교차 엔트로피라고도 함)가 쉼표로 구분되어 지정됩니다.

자세한 내용은 불순도 및 노드 오차 항목을 참조하십시오.

예: 'SplitCriterion','deviance'

대리 결정 분할 플래그로, 'Surrogate'와 함께 'on', 'off', 'all' 또는 양의 정수 값이 쉼표로 구분되어 지정됩니다.

  • 'on'으로 설정된 경우, fitctree는 각 가지 노드에서 최대 10개의 대리 분할을 찾습니다.

  • 'all'로 설정된 경우, fitctree는 각 가지 노드에서 모든 대리 분할을 찾습니다. 'all' 설정을 사용하면 시간과 메모리가 상당히 소모될 수 있습니다.

  • 양의 정수 값으로 설정된 경우, fitctree는 각 가지 노드에서 최대 지정된 정수 값만큼의 대리 분할을 찾습니다.

대리 분할을 사용하면 누락값이 있는 데이터에 대한 예측의 정확도를 높일 수 있습니다. 이 설정을 사용하면 예측 변수 간 예측 연관성 측도도 계산할 수 있습니다. 자세한 내용은 노드 분할 규칙 항목을 참조하십시오.

예: 'Surrogate','on'

데이터형: single | double | char | string

관측값 가중치로, 'Weights'와 함께 스칼라 값으로 구성된 벡터나 Tbl에 포함된 변수의 이름이 쉼표로 구분되어 지정됩니다. 소프트웨어는 X 또는 Tbl의 각 행에 있는 관측값에 이에 대응하는 Weights의 값을 함께 사용하여 가중치를 적용합니다. Weights의 크기는 X 또는 Tbl의 행 개수와 일치해야 합니다.

입력 데이터를 테이블 Tbl로 지정하는 경우, WeightsTbl에서 숫자형 벡터를 포함하는 변수의 이름일 수 있습니다. 이 경우, Weights를 문자형 벡터 또는 string형 스칼라로 지정해야 합니다. 예를 들어, 가중 벡터 WTbl.W로 저장된 경우, 이를 'W'로 지정하십시오. 이렇게 하지 않으면 모델을 훈련시킬 때 W를 포함한 Tbl의 모든 열이 예측 변수로 처리됩니다.

fitctree 함수는 각 클래스의 가중치의 총합이 각 클래스의 사전 확률 값이 되도록 가중치를 정규화합니다.

데이터형: single | double | char | string

교차 검증 옵션

모두 축소

교차 검증된 결정 트리를 성장시키는 플래그로, 'CrossVal'과 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.

'on'인 경우, fitctree는 10겹 교차 검증된 결정 트리를 성장시킵니다. 'KFold', 'Holdout', 'Leaveout' 또는 'CVPartition' 이름-값 쌍의 인수 중 하나를 사용하여 이 교차 검증 설정을 재정의할 수 있습니다. 교차 검증된 트리를 생성할 때 한 번에 이 네 개 인수 중 하나씩만 사용할 수 있습니다.

또는, crossval 메서드를 사용하여 나중에 tree를 교차 검증하십시오.

예: 'CrossVal','on'

교차 검증된 트리에 사용할 분할로, 'CVPartition'과 함께 cvpartition을 사용하여 생성된 객체가 쉼표로 구분되어 지정됩니다.

'CVPartition'을 사용하는 경우 'KFold', 'Holdout' 또는 'Leaveout' 이름-값 쌍의 인수를 사용할 수 없습니다.

홀드아웃 검증에 사용할 데이터의 비율로, 'Holdout'과 함께 범위 [0,1] 내 스칼라 값이 쉼표로 구분되어 지정됩니다. 홀드아웃 검증은 데이터에서 지정된 비율만큼을 검증하고 나머지 데이터는 훈련에 사용합니다.

'Holdout'을 사용하는 경우 'CVPartition', 'KFold' 또는 'Leaveout' 이름-값 쌍의 인수를 사용할 수 없습니다.

예: 'Holdout',0.1

데이터형: single | double

교차 검증된 분류기에 사용할 겹의 개수로, 'KFold'와 함께 1보다 큰 양의 정수 값이 쉼표로 구분되어 지정됩니다. 지정할 경우(즉, 'KFold',k), 소프트웨어가 다음과 같이 동작합니다.

  1. 데이터를 k개 세트로 임의로 분할합니다.

  2. 각 세트마다 해당 세트를 검증 데이터로 남겨두고 나머지 k – 1개의 세트를 사용하여 모델을 훈련시킵니다.

  3. 교차 검증된 모델의 Trained 속성에 k×1 셀형 벡터의 셀로 k개의 훈련된 간소 모델을 저장합니다.

교차 검증된 모델을 생성하려면 다음 4개의 옵션 중 하나만을 사용할 수 있습니다. CVPartition, Holdout, KFold 또는 Leaveout.

예: 'KFold',8

데이터형: single | double

리브-원-아웃 교차 검증 플래그로, 'Leaveout'과 함께 'on'이나 'off'가 쉼표로 구분되어 지정됩니다. 리브-원-아웃 교차 검증을 사용하려면 'on'을 지정하십시오.

'Leaveout'을 사용하는 경우 'CVPartition', 'Holdout' 또는 'KFold' 이름-값 쌍의 인수를 사용할 수 없습니다.

예: 'Leaveout','on'

하이퍼파라미터 최적화 옵션

모두 축소

최적화할 모수로, 'OptimizeHyperparameters'와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'none' — 최적화하지 않습니다.

  • 'auto'{'MinLeafSize'}를 사용합니다.

  • 'all' — 모든 적합한 모수를 최적화합니다.

  • 적합한 모수 이름으로 구성된 string형 배열 또는 셀형 배열

  • optimizableVariable 객체로 구성된 벡터. 일반적으로 hyperparameters의 출력값임

최적화는 모수를 변경하여 fitctree에 대한 교차 검증 손실(오차)을 최소화하려고 합니다. 이와는 다른 맥락의 교차 검증 손실에 대한 자세한 내용은 Classification Loss 항목을 참조하십시오. 교차 검증 유형과 최적화의 기타 측면을 제어하려면 HyperparameterOptimizationOptions 이름-값 쌍을 사용하십시오.

참고

'OptimizeHyperparameters' 값은 다른 이름-값 인수를 사용하여 지정하는 모든 값을 재정의합니다. 예를 들어 'OptimizeHyperparameters''auto'로 설정하면 fitctree 함수는 'auto' 옵션에 대응되는 하이퍼파라미터를 최적화하고 하이퍼파라미터에 대해 지정된 값을 모두 무시합니다.

fitctree에 대한 적합한 모수는 다음과 같습니다.

  • MaxNumSplitsfitctree가 기본적으로 범위 [1,max(2,NumObservations-1)]에서 로그 스케일링된 정수 중에서 탐색을 수행합니다.

  • MinLeafSizefitctree가 기본적으로 범위 [1,max(2,floor(NumObservations/2))]에서 로그 스케일링된 정수 중에서 탐색을 수행합니다.

  • SplitCriterion — 두 클래스에 대해 fitctree'gdi''deviance' 중에서 탐색을 수행합니다. 세 개 이상의 클래스에 대해서는 fitctree'twoing'에 대해서도 탐색을 수행합니다.

  • NumVariablesToSamplefitctree는 이 하이퍼파라미터에 대해 최적화를 수행하지 않습니다. NumVariablesToSample을 모수 이름으로 전달하면 fitctree는 전체 개수의 예측 변수를 사용합니다. 그러나, fitcensemble은 이 하이퍼파라미터에 대해 최적화를 수행합니다.

디폴트가 아닌 값을 가지는 optimizableVariable 객체로 구성된 벡터를 전달하여 디폴트가 아닌 모수를 설정합니다. 예를 들면 다음과 같습니다.

load fisheriris
params = hyperparameters('fitctree',meas,species);
params(1).Range = [1,30];

paramsOptimizeHyperparameters의 값으로 전달합니다.

기본적으로, 반복 표시가 명령줄에 표시되고, 최적화에 지정된 하이퍼파라미터 개수에 따라 플롯이 표시됩니다. 최적화와 플롯에 대해 목적 함수는 오분류율입니다. 반복 표시를 제어하려면 'HyperparameterOptimizationOptions' 이름-값 인수에 대한 Verbose 필드를 설정하십시오. 플롯을 제어하려면 'HyperparameterOptimizationOptions' 이름-값 인수에 대한 ShowPlots 필드를 설정하십시오.

예제는 분류 트리 최적화하기 항목을 참조하십시오.

예: 'auto'

최적화에 사용할 옵션으로, 구조체로 지정됩니다. 이 인수는 OptimizeHyperparameters 이름-값 인수의 효과를 수정합니다. 이 구조체에 포함된 모든 필드는 선택 사항입니다.

필드 이름디폴트 값
Optimizer
  • 'bayesopt' — 베이즈 최적화를 사용합니다. 내부적으로 이 설정은 bayesopt를 호출합니다.

  • 'gridsearch' — 차원당 NumGridDivisions개 값으로 그리드 탐색을 수행합니다.

  • 'randomsearch'MaxObjectiveEvaluations개 점 중에서 무작위로 탐색합니다.

'gridsearch'는 그리드에서 균등한 비복원추출을 사용하여 무작위 순서로 탐색을 수행합니다. 최적화를 수행한 후, 명령 sortrows(Mdl.HyperparameterOptimizationResults)를 사용하여 그리드순으로 정렬된 테이블을 얻을 수 있습니다.

'bayesopt'
AcquisitionFunctionName

  • 'expected-improvement-per-second-plus'

  • 'expected-improvement'

  • 'expected-improvement-plus'

  • 'expected-improvement-per-second'

  • 'lower-confidence-bound'

  • 'probability-of-improvement'

최적화는 목적 함수의 런타임에 종속적이기 때문에 이름에 per-second가 포함된 획득 함수는 재현 가능한 결과를 산출하지 않습니다. 이름에 plus가 포함된 획득 함수는 특정 영역을 과도하게 사용하게 될 경우 동작을 수정합니다. 자세한 내용은 획득 함수 유형 항목을 참조하십시오.

'expected-improvement-per-second-plus'
MaxObjectiveEvaluations목적 함수 실행의 최대 횟수입니다.'bayesopt''randomsearch'의 경우 30이고, 'gridsearch'의 경우 그리드 전체입니다.
MaxTime

시간 제한으로, 양의 실수형 스칼라로 지정됩니다. 시간 제한은 초 단위이며, tictoc으로 측정됩니다. MaxTime은 함수 계산을 중단시키지 않으므로 실행 시간은 MaxTime을 초과할 수 있습니다.

Inf
NumGridDivisions'gridsearch'의 경우, 각 차원의 값 개수입니다. 이 값은 각 차원에 대한 값의 개수를 제공하는 양의 정수로 구성된 벡터 또는 모든 차원에 적용되는 스칼라일 수 있습니다. 이 필드는 범주형 변수의 경우 무시됩니다.10
ShowPlots플롯 표시 여부를 나타내는 논리값입니다. true인 경우, 이 필드는 반복 횟수에 대해 최선의 관측된 목적 함수 값을 플로팅합니다. 베이즈 최적화를 사용하는 경우(Optimizer'bayesopt'임), 이 필드는 최선의 추정된 목적 함수 값도 플로팅합니다. 최선의 관측된 목적 함수 값과 최선의 추정된 목적 함수 값은 각각 반복 표시의 BestSoFar (observed) 열과 BestSoFar (estim.) 열의 값에 대응됩니다. Mdl.HyperparameterOptimizationResults의 속성 ObjectiveMinimumTraceEstimatedObjectiveMinimumTrace에서 이러한 값을 확인할 수 있습니다. 문제에 베이즈 최적화를 위한 하나 또는 두 개의 최적화 모수가 있는 경우, ShowPlots는 이 모수에 대해서도 목적 함수의 모델을 플로팅합니다.true
SaveIntermediateResultsOptimizer'bayesopt'인 경우 결과를 저장할지 여부를 나타내는 논리값입니다. true인 경우, 이 필드는 각 반복마다 'BayesoptResults'라는 이름의 작업 공간 변수를 덮어씁니다. 변수는 BayesianOptimization 객체입니다.false
Verbose

명령줄에 표시되는 내용:

  • 0 — 반복 표시 안 함

  • 1 — 반복 표시

  • 2 — 추가 정보와 함께 반복 표시

자세한 내용은 bayesopt Verbose 이름-값 인수 및 예제 베이즈 최적화를 사용하여 분류기 피팅 최적화하기를 참조하십시오.

1
UseParallel베이즈 최적화를 병렬로 실행할지 여부를 나타내는 논리값으로, Parallel Computing Toolbox™가 필요합니다. 병렬 시간 재현이 불가능하기 때문에, 병렬 베이즈 최적화에서 반드시 재현 가능한 결과를 산출하지는 않습니다. 자세한 내용은 Parallel Bayesian Optimization 항목을 참조하십시오.false
Repartition

매 반복 시 교차 검증을 다시 분할할지 여부를 나타내는 논리값입니다. 이 필드의 값이 false인 경우, 최적화 함수는 최적화에 단일 분할을 사용합니다.

true로 설정할 경우, 분할 잡음이 고려되므로 일반적으로 가장 견고한 결과가 제공됩니다. 그러나, true에서 좋은 결과를 생성하려면 적어도 두 배 더 많은 횟수의 함수 실행이 필요합니다.

false
다음과 같은 3개 옵션 중 하나만 사용합니다.
CVPartitioncvpartition으로 생성되는 cvpartition 객체교차 검증 필드를 지정하지 않을 경우 'Kfold',5
Holdout홀드아웃 비율을 나타내는 범위 (0,1) 내 스칼라
Kfold1보다 큰 정수

예: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)

데이터형: struct

출력 인수

모두 축소

분류 트리로, 분류 트리 객체로 반환됩니다.

'CrossVal', 'KFold', 'Holdout', 'Leaveout' 또는 'CVPartition' 옵션을 사용하면 ClassificationPartitionedModel 클래스의 트리가 생성됩니다. 예측에는 분할된 트리를 사용할 수 없으므로 이러한 유형의 트리에는 predict 메서드가 없습니다. 대신, kfoldPredict를 사용하여 훈련에 사용되지 않는 관측값에 대한 응답 변수를 예측할 수 있습니다.

그렇지 않은 경우, treeClassificationTree 클래스이며, predict 메서드를 사용하여 예측을 수행할 수 있습니다.

세부 정보

모두 축소

곡률 검정

곡률 검정은 '두 변수 간에 연관성이 없다'는 귀무가설을 평가하는 통계 검정입니다.

예측 변수 x와 y 간의 곡률 검정은 다음 과정을 통해 수행됩니다.

  1. x가 연속형 변수이면 이 변수를 사분위수 단위로 분할합니다. 관측값이 어느 사분위수로 분할되었는지에 따라 관측값을 Bin으로 분류하는 명목형 변수를 생성합니다. 누락값이 있는 경우 누락값에 대한 Bin을 따로 생성합니다.

  2. 분할된 예측 변수 j = 1...J의 각 수준과 응답 변수 k = 1,...,K의 클래스에 대해 k 클래스에 포함된 관측값의 가중 비율을 계산합니다.

    π^jk=i=1nI{yi=k}wi.

    wi는 관측값 i의 가중치이고(wi=1), I는 표시 함수이며, n은 표본 크기입니다. 모든 관측값의 가중치가 동일한 경우 π^jk=njkn입니다. 여기서 njk는 k 클래스에 속하는 예측 변수의 수준 j에 있는 관측값 개수입니다.

  3. 검정 통계량을 계산합니다.

    t=nk=1Kj=1J(π^jkπ^j+π^+k)2π^j+π^+k

    π^j+=kπ^jk, 이는 수준 j에서 예측 변수가 관측될 주변 확률입니다. π^+k=jπ^jk, 이는 k 클래스가 관측될 주변 확률입니다. n이 충분히 클 경우 t는 자유도가 (K – 1)(J – 1)인 χ2로 분산됩니다.

  4. 검정에 대한 p-값이 0.05보다 작을 경우 'x와 y 간에 연관성이 없다'는 귀무가설을 기각합니다.

각 노드에서 최상의 분할 예측 변수를 결정할 때 표준 CART 알고리즘은 많은 수준을 갖는 연속형 예측 변수를 선택하려 합니다. 하지만 가끔은 이는 잘못된 선택이 될 수 있으며 더 적은 개수의 수준을 갖지만 더 중요한 예측 변수(예: 범주형 예측 변수)를 감추는 결과를 낳을 수도 있습니다.

표준 CART 대신 곡률 검정을 적용하여 각 노드에서 최상의 분할 예측 변수를 결정할 수 있습니다. 이 경우, 최상의 분할 예측 변수는 각 예측 변수와 응답 변수 간 곡률 검정의 유의미한 p-값(0.05보다 작은 값)을 최소화하는 예측 변수입니다. 이러한 선택은 개별 예측 변수의 수준 개수에 대해 견고합니다.

참고

예측 변수 수준이 특정 클래스에 대해 순수하면(즉, 모든 수준이 한 특정 클래스에 속하면), fitctree 함수는 이러한 수준을 병합합니다. 따라서, 이 알고리즘의 3단계에서 J는 예측 변수의 실제 수준 개수보다 작을 수 있습니다. 예를 들어, x에 4개의 수준이 있고 Bin 1 및 Bin 2에 있는 모든 관측값이 클래스 1에 속하는 경우 이 수준은 클래스 1에 대해 순수합니다. 따라서 fitctree 함수가 Bin 1 및 Bin 2에 있는 관측값을 병합하고 J가 3으로 줄어듭니다.

분류 트리를 성장시킬 때 곡률 검정이 어떻게 적용되는지에 대한 자세한 내용은 노드 분할 규칙 항목 및 [4] 항목을 참조하십시오.

불순도 및 노드 오차

결정 트리는 불순도 또는 노드 오차를 기반으로 하여 노드를 분할합니다.

불순도는 사용자가 선택하는 SplitCriterion 이름-값 인수에 따라 다음 여러 항목 중 하나를 의미합니다.

  • 지니 다양성 지수(gdi) — 노드의 지니 지수는 다음과 같습니다.

    1ip2(i),

    여기서 합계는 노드에 있는 클래스 i에 대한 것이며 p(i)는 클래스 중 노드에 도달하는 클래스 i에 대해 관측된 비율입니다. 클래스를 하나만 갖는 노드(순수 노드)의 지니 지수는 0이고, 그렇지 않은 노드의 경우 지니 지수는 양수입니다. 따라서 지니 지수는 노드 불순도를 측정한 값입니다.

  • 이탈도("deviance") — p(i)가 지니 지수에서와 동일하게 정의되었을 때 노드의 이탈도는 다음과 같습니다.

    ip(i)log2p(i).

    순수 노드의 이탈도는 0이고, 그렇지 않은 노드의 경우 이탈도는 양수입니다.

  • 투잉 규칙("twoing") — 투잉은 노드의 순수도를 측정한 값이 아니며 노드 분할 방법 결정에 사용하는 다른 측정값입니다. L(i)는 분할 후 왼쪽 자식 노드에서 클래스 i에 속하는 비율을 나타내고, R(i)는 분할 후 오른쪽 자식 노드에서 클래스 i에 속하는 비율을 나타낸다고 하겠습니다. 다음을 최대화할 분할 기준을 선택합니다.

    P(L)P(R)(i|L(i)R(i)|)2,

    여기서 P(L)과 P(R)은 각각 왼쪽과 오른쪽으로 분할되는 관측값의 비율입니다. 표현식 값이 클 경우 분할로 인해 각 자식 노드가 더 순수해졌다는 의미입니다. 마찬가지로, 표현식 값이 작을 경우 분할로 인해 각 자식 노드가 서로 비슷해졌고, 이는 곧 부모 노드와 비슷해졌다는 것입니다. 분할로 인해 노드의 순수도가 높아지지 않았습니다.

  • 노드 오차 — 노드 오차는 노드에서 오분류된 클래스의 비율입니다. j가 노드에서 최대 개수의 훈련 표본을 갖는 클래스인 경우 노드 오차는 다음과 같습니다.

    1 – p(j).

상호 작용 검정

상호 작용 검정은 '예측 변수 쌍과 응답 변수 간에 상호 작용이 없다'는 귀무가설을 평가하는 통계 검정입니다.

y에 대한 예측 변수 x1과 x2 간의 연관성을 평가하는 상호 작용 검정은 다음 과정을 통해 수행됩니다.

  1. x1 또는 x2가 연속형 변수이면 이 변수를 사분위수 단위로 분할합니다. 관측값이 어느 사분위수로 분할되었는지에 따라 관측값을 Bin으로 분류하는 명목형 변수를 생성합니다. 누락값이 있는 경우 누락값에 대한 Bin을 따로 생성합니다.

  2. J = J1J2개 수준을 갖는 명목형 변수 z를 생성합니다. 이 변수는 x1과 x2 중 어떤 수준에 속하느냐에 따라 인덱스를 관측값 i에 할당합니다. 관측값에 대응되지 않는 z의 수준을 제거합니다.

  3. z와 y 간에 곡률 검정을 수행합니다.

결정 트리를 성장시킬 때 예측 변수 쌍 간에 중요한 상호 작용이 있지만 해당 데이터에 덜 중요한 다른 예측 변수도 많은 경우 표준 CART는 중요한 상호 작용을 놓치는 경향이 있습니다. 그러나, 예측 변수 선택에 곡률 검정과 상호 작용 검정을 대신 수행하면 중요한 상호 작용을 더 잘 감지할 수 있으며, 따라서 더 정확한 결정 트리를 생성할 수 있습니다.

결정 트리를 성장시킬 때 상호 작용 검정이 어떻게 적용되는지에 대한 자세한 내용은 곡률 검정, 노드 분할 규칙, [3] 항목을 참조하십시오.

예측 연관성 측도

예측 연관성 측도는 관측값을 분할하는 결정 규칙 간 유사성을 나타내는 값입니다. (트리를 성장시켜서 확인할 수 있는) 최적의 분할과 비교되는 모든 가능한 결정 분할 중에 최상의 대리 결정 분할은 최대의 예측 연관성 측도를 생성합니다. 두 번째로 최상인 대리 분할은 두 번째로 큰 예측 연관성 측도를 생성합니다.

xj 및 xk는 각각 예측 변수 j 및 k이고, j ≠ k라고 가정하겠습니다. 노드 t에서 최적의 분할 xj < u와 대리 분할 xk < v 간의 예측 연관성 측도는 다음과 같습니다.

λjk=min(PL,PR)(1PLjLkPRjRk)min(PL,PR).

  • PL은 노드 t에서 xj < u를 충족하는 관측값의 비율입니다. 아래 첨자 L은 노드 t의 왼쪽 자식을 나타냅니다.

  • PR은 노드 t에서 xj < u를 충족하는 관측값의 비율입니다. 아래 첨자 R은 노드 t의 오른쪽 자식을 나타냅니다.

  • PLjLk는 노드 t에서 xj < u 및 xk < v를 충족하는 관측값의 비율입니다.

  • PRjRk는 노드 t에서 xj ≥ u 및 xk ≥ v를 충족하는 관측값의 비율입니다.

  • xj 또는 xk에 대한 누락값이 있는 관측값은 비율 계산에 포함되지 않습니다.

λjk는 (–∞,1] 범위의 값입니다. λjk > 0이면 xk < v는 xj < u에 대해 유효한 대리 분할입니다.

대리 결정 분할

대리 결정 분할은 결정 트리의 주어진 노드에서의 최적의 결정 분할에 대한 대안입니다. 최적의 분할은 트리를 성장시켜서 확인할 수 있으며, 대리 분할은 이와 유사하거나 상관관계가 있는 예측 변수 및 분할 기준을 사용합니다.

관측값에 대한 최적의 분할 예측 변수 값이 누락된 경우, 관측값은 최상의 대리 예측 변수를 통해 왼쪽 또는 오른쪽 자식 노드로 보내집니다. 관측값에 대한 최상의 대리 분할 예측 변수 값도 누락된 경우, 관측값은 두 번째로 최상인 대리 예측 변수을 통해 왼쪽 또는 오른쪽 자식 노드로 보내지며, 이렇게 값이 누락된 경우 그 다음으로 최상인 대리 예측 변수를 통해 보내지는 식입니다. 후보 분할은 해당 예측 연관성 측도를 기준으로 내림차순으로 정렬됩니다.

  • 기본적으로 Prune'on'입니다. 그러나, 이렇게 지정되도 분류 트리가 가지치기되지 않습니다. 훈련된 분류 트리를 가지치기하려면 분류 트리를 prune에 전달해야 합니다.

  • 모델을 훈련시킨 후에는 새 데이터에 대한 레이블을 예측하는 C/C++ 코드를 생성할 수 있습니다. C/C++ 코드를 생성하려면 MATLAB Coder™가 필요합니다. 자세한 내용은 Introduction to Code Generation 항목을 참조하십시오.

알고리즘

모두 축소

노드 분할 규칙

fitctree 함수는 다음의 과정을 통해 노드 t를 분할하는 방법을 결정합니다.

  • 표준 CART(즉, PredictorSelection'allpairs'인 경우) 및 모든 예측 변수 xi, i = 1,...,p의 경우:

    1. fitctree 함수가 노드 t의 가중 불순도(it)를 계산합니다. 지원되는 불순도 측정법은 SplitCriterion을 참조하십시오.

    2. fitctree 함수가 다음을 사용하여 관측값이 노드 t에 있을 확률을 추정합니다.

      P(T)=jTwj.

      wj는 관측값 j의 가중치이고 T는 노드 t에 있는 모든 관측값 인덱스의 집합입니다. Prior 또는 Weights를 지정하지 않을 경우 wj = 1/n입니다. 여기서 n은 표본 크기입니다.

    3. fitctree 함수가 xi를 오름차순으로 정렬합니다. 정렬된 예측 변수의 각 요소는 분할 후보, 즉 절단점입니다. fitctree 함수는 분할되지 않은 집합인 TU의 누락값에 대응되는 인덱스를 저장합니다.

    4. fitctree 함수가 모든 분할 후보에 대한 불순도 이득(ΔI)을 최대화함으로써 xi를 사용하여 노드 t를 분할하는 최상의 방법을 결정합니다. 즉, xi의 모든 분할 후보에 대해 다음을 수행합니다.

      1. fitctree 함수가 노드 t에 있는 관측값을 왼쪽 및 오른쪽 자식 노드(각각 tL 및 tR)로 분할합니다.

      2. fitctree 함수가 ΔI를 계산합니다. 특정 분할 후보에 대해 tL 및 tR이 각각 집합 TL 및 TR의 관측값 인덱스를 포함한다고 가정합니다.

        • xi에 아무런 누락값이 없을 경우 현재 분할 후보의 불순도 이득은 다음과 같습니다.

          ΔI=P(T)itP(TL)itLP(TR)itR.

        • xi에 누락값이 있는 경우 관측값이 임의로 누락되었다는 가정 하에 불순도 이득은 다음과 같습니다.

          ΔIU=P(TTU)itP(TL)itLP(TR)itR.

          T – TU는 노드 t에서 누락값이 아닌 모든 관측값 인덱스의 집합입니다.

        • 대리 결정 분할을 사용하는 경우 다음과 같습니다.

          1. fitctree 함수가 결정 분할 xj < u 및 모든 가능한 결정 분할 xk < v, j ≠ k 간의 예측 연관성 측도를 계산합니다.

          2. fitctree 함수가 최적의 분할에 대한 예측 연관성 측도를 기준으로 가능한 대체 결정 분할을 내림차순으로 정렬합니다. 대리 분할은 최대 측도값을 생성하는 결정 분할입니다.

          3. fitctree 함수가 대리 분할을 사용하여 xi의 누락값이 있는 관측값에 대한 자식 노드 할당을 결정합니다. 대리 예측 변수에도 누락값이 있는 경우 fitctree 함수는 두 번째로 큰 측도를 갖는 결정 분할을 사용하며, 이런 식으로 다른 대리 분할이 없을 때까지 그 다음으로 큰 측도를 갖는 결정 분할을 계속 사용합니다. fitctree 함수가 두 개의 서로 다른 대리 분할을 사용하여 노드 t에서 두 개의 각기 다른 관측값을 분할하는 것도 가능합니다. 예를 들어, 예측 변수 x1 및 x2가 각각 노드 t에서 예측 변수 xi, i ∉ {1,2}에 대한 최상의 대리 분할과 두 번째로 최상인 대리 분할이라고 가정하겠습니다. 예측 변수 xi의 관측값 m이 누락값(즉, xmi가 누락됨)이지만 xm1은 누락값이 아닌 경우 x1이 관측값 xmi에 대한 대리 예측 변수입니다. 관측값 x(m + 1),i 및 x(m + 1),1이 누락값이지만 x(m + 1),2가 누락값이 아닌 경우 x2가 관측값 m + 1에 대한 대리 예측 변수입니다.

          4. fitctree 함수가 적합한 불순도 이득 식을 사용합니다. 즉, fitctree 함수가 대리 분할을 사용하여 노드 t에서 누락된 모든 관측값을 자식 노드에 할당하지 못하면 불순도 이득이 ΔIU입니다. 그렇지 않은 경우 fitctree 함수가 불순도 이득에 ΔI를 사용합니다.

      3. fitctree 함수가 최대 불순도 이득을 생성하는 후보를 선택합니다.

    fitctree 함수가 불순도 이득을 최대화하는 절단점에서 예측 변수를 분할합니다.

  • 곡률 검정의 경우(즉, PredictorSelection'curvature'인 경우):

    1. fitctree 함수가 노드 t의 관측값에 대한 각 예측 변수와 응답 변수 간에 곡률 검정을 수행합니다.

      • 모든 p-값이 최소 0.05이면 fitctree 함수가 노드 t를 분할하지 않습니다.

      • 최소 p-값이 있으면 fitctree 함수가 이에 대응하는 예측 변수를 선택하여 노드 t를 분할합니다.

      • 언더플로로 인해 둘 이상의 p-값이 0인 경우 fitctree 함수가 표준 CART를 대응하는 예측 변수에 적용하여 분할 예측 변수를 선택합니다.

    2. fitctree 함수가 분할 예측 변수를 선택하면 표준 CART를 사용하여 절단점을 선택합니다(표준 CART 과정의 4단계 참조).

  • 상호 작용 검정의 경우(즉, PredictorSelection'interaction-curvature'인 경우):

    1. 노드 t의 관측값에 대해 fitctree 함수가 각 예측 변수와 응답 변수 간에 곡률 검정을 수행하고 각 예측 변수 쌍과 응답 변수 간에 상호 작용 검정을 수행합니다.

      • 모든 p-값이 최소 0.05이면 fitctree 함수가 노드 t를 분할하지 않습니다.

      • 최소 p-값이 있고 이 값이 곡률 검정의 결과이면 fitctree 함수가 이에 대응하는 예측 변수를 선택하여 노드 t를 분할합니다.

      • 최소 p-값이 있고 이 값이 상호 작용 검정의 결과이면 fitctree 함수가 이에 대응하는 예측 변수 쌍에 대해 표준 CART를 사용하여 분할 예측 변수를 선택합니다.

      • 언더플로로 인해 둘 이상의 p-값이 0인 경우 fitctree 함수가 표준 CART를 대응하는 예측 변수에 적용하여 분할 예측 변수를 선택합니다.

    2. fitctree 함수가 분할 예측 변수를 선택하면 표준 CART를 사용하여 절단점을 선택합니다(표준 CART 과정의 4단계 참조).

트리 깊이 제어

  • MergeLeaves'on'이고 PruneCriterion'error'인 경우(이 이름-값 쌍의 인수에 대한 디폴트 값임), 소프트웨어가 분류 오차를 사용하여 리프에만 가지치기를 적용합니다. 이렇게 지정하면 리프당 가장 많이 사용되는 클래스를 공유하는 리프를 병합하는 것과 같은 결과를 낳습니다.

  • MaxNumSplits를 수용할 수 있도록 fitctree 함수는 현재 계층의 모든 노드를 분할한 후 가지 노드의 개수를 계산합니다. 계층은 루트 노드에서 등거리에 있는 노드의 집합입니다. 가지 노드의 개수가 MaxNumSplits를 초과할 경우 fitctree 함수는 다음 절차를 따릅니다.

    1. 가지 노드 개수가 최대 MaxNumSplits개가 되려면 현재 계층에서 분할되지 않아야 하는 가지 노드의 개수가 몇 개인지 판별합니다.

    2. 불순도 이득을 기준으로 가지 노드를 정렬합니다.

    3. 성공도가 낮은 가지의 개수만큼 분할을 취소합니다.

    4. 지금까지 성장한 결정 트리를 반환합니다.

    이 절차를 통해 최대로 균형 잡힌 트리가 생성됩니다.

  • 다음 중 최소 하나 이상의 일이 생길 때까지 소프트웨어는 각 계층별로 가지 노드를 분할합니다.

    • MaxNumSplits개의 가지 노드가 있습니다.

    • 제안된 분할로 인해 하나 이상의 가지 노드에 있는 관측값 개수가 MinParentSize보다 작아집니다.

    • 제안된 분할로 인해 하나 이상의 리프 노드에 있는 관측값 개수가 MinLeafSize보다 작아집니다.

    • 알고리즘이 계층 내에서 알맞은 분할을 찾을 수 없습니다(즉, 계층 내 제안된 모든 분할에 대해 가지치기 기준(PruneCriterion 참조)이 개선되지 않음). 모든 노드가 순수한 경우는 특수한 사례입니다(즉, 노드에 포함된 모든 관측값이 동일한 클래스를 가짐).

    • PredictorSelection의 값이 'curvature' 또는 'interaction-curvature'인 경우, 모든 검정에서 0.05보다 큰 p-값이 생성됩니다.

    MaxNumSplitsMinLeafSize의 디폴트 값은 분할에 영향을 미치지 않습니다. 따라서, 'MaxNumSplits'를 설정하면 MaxNumSplits개의 분할이 발생하기 전에 MinParentSize 값으로 인해 분할이 중지될 수 있습니다.

병렬화

듀얼 코어 이상의 시스템인 경우, fitctree 함수는 Intel® TBB(Threading Building Block)를 사용하여 훈련 결정 트리를 병렬화합니다. Intel TBB에 대한 자세한 내용은 https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html 항목을 참조하십시오.

Cost, Prior, Weights

Cost, PriorWeights 이름-값 인수를 지정할 경우 출력 모델 객체는 지정된 값을 각각 Cost, PriorW 속성에 저장합니다. Cost 속성은 사용자가 지정한 비용 행렬을 그대로 저장합니다. Prior 속성과 W 속성은 각각 정규화한 후의 사전 확률 및 관측값 가중치를 저장합니다. 자세한 내용은 오분류 비용 행렬, 사전 확률 및 관측값 가중치 항목을 참조하십시오.

참고 문헌

[1] Breiman, L., J. Friedman, R. Olshen, and C. Stone. Classification and Regression Trees. Boca Raton, FL: CRC Press, 1984.

[2] Coppersmith, D., S. J. Hong, and J. R. M. Hosking. “Partitioning Nominal Attributes in Decision Trees.” Data Mining and Knowledge Discovery, Vol. 3, 1999, pp. 197–217.

[3] Loh, W.Y. “Regression Trees with Unbiased Variable Selection and Interaction Detection.” Statistica Sinica, Vol. 12, 2002, pp. 361–386.

[4] Loh, W.Y. and Y.S. Shih. “Split Selection Methods for Classification Trees.” Statistica Sinica, Vol. 7, 1997, pp. 815–840.

확장 기능

버전 내역

R2014a에 개발됨