fitctree
다중클래스 분류를 위한 이진 결정 트리 피팅
구문
설명
은 테이블 Mdl = fitctree(Tbl,ResponseVarName)Tbl에 포함된 입력 변수(예측 변수, 특징 또는 특성이라고도 함)와 Tbl.ResponseVarName에 포함된 출력 변수(응답 변수 또는 레이블)를 기반으로 하여 피팅된 이진 분류 결정 트리를 반환합니다. 반환된 이진 트리는 Tbl의 열 값에 따라 분기 노드를 분할합니다.
는 위에 열거된 구문 중 하나를 사용하여 하나 이상의 이름-값 쌍의 인수로 지정된 추가 옵션으로 트리를 피팅합니다. 예를 들어, 범주형 예측 변수에 대한 최상의 분할을 찾거나 교차 검증된 트리를 성장시키거나 검증을 위해 입력 데이터의 일부를 홀드아웃하는 데 사용되는 알고리즘을 지정할 수 있습니다.Mdl = fitctree(___,Name,Value)
[는 사용자가 Mdl,AggregateOptimizationResults] = fitctree(___)OptimizeHyperparameters 이름-값 인수와 HyperparameterOptimizationOptions 이름-값 인수를 지정하는 경우 하이퍼파라미터 최적화 결과를 포함하는 AggregateOptimizationResults도 반환합니다. HyperparameterOptimizationOptions의 ConstraintType 옵션과 ConstraintBounds 옵션도 지정해야 합니다. 이 구문을 사용하면 교차 검증 손실 대신에 간소 모델 크기에 대해 최적화하고, 옵션은 동일하지만 제약 조건 범위가 다른 여러 최적화 문제 세트를 수행할 수 있습니다.
참고
입력 변수가 tall형 배열인 경우 지원되는 구문의 목록은 tall형 배열 항목을 참조하십시오.
예제
ionosphere 데이터 세트를 사용하여 분류 트리를 성장시킵니다.
load ionosphere
tc = fitctree(X,Y)tc =
ClassificationTree
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
NumObservations: 351
Properties, Methods
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)

view(MdlDefault.Trained{1},'Mode','graph')
평균 분할 수는 약 15입니다.
디폴트 수의 분할을 사용하여 훈련된 분류 트리만큼 복잡하지(깊지) 않은 분류 트리를 원한다고 가정하겠습니다. 또 다른 분류 트리를 훈련시키되, 최대 분할 수를 7로 설정합니다. 이는 디폴트 분류 트리에서 계산한 평균 분할 수의 약 절반에 해당합니다. 10겹 교차 검증을 사용하여 모델을 교차 검증합니다.
Mdl7 = fitctree(X,Y,'MaxNumSplits',7,'CrossVal','on'); view(Mdl7.Trained{1},'Mode','graph')

모델의 교차 검증 분류 오차를 비교합니다.
classErrorDefault = kfoldLoss(MdlDefault)
classErrorDefault = 0.1168
classError7 = kfoldLoss(Mdl7)
classError7 = 0.1311
Mdl7은 MdlDefault보다 훨씬 덜 복잡하지만 성능은 약간 더 떨어질 뿐입니다.
이 예제에서는 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 | 0.90137 | 0.066667 | 0.066667 | 31 |
| 2 | Accept | 0.066667 | 0.36565 | 0.066667 | 0.066667 | 12 |
| 3 | Best | 0.06 | 0.11486 | 0.06 | 0.060001 | 2 |
| 4 | Accept | 0.66667 | 0.11994 | 0.06 | 0.18681 | 73 |
| 5 | Accept | 0.066667 | 0.11893 | 0.06 | 0.060018 | 28 |
| 6 | Accept | 0.06 | 0.12826 | 0.06 | 0.06001 | 4 |
| 7 | Accept | 0.066667 | 0.053003 | 0.06 | 0.055628 | 7 |
| 8 | Accept | 0.06 | 0.13694 | 0.06 | 0.054969 | 1 |
| 9 | Accept | 0.066667 | 0.051395 | 0.06 | 0.060608 | 20 |
| 10 | Accept | 0.06 | 0.08559 | 0.06 | 0.061024 | 3 |
| 11 | Accept | 0.066667 | 0.035782 | 0.06 | 0.06 | 25 |
| 12 | Accept | 0.066667 | 0.03635 | 0.06 | 0.059937 | 5 |
| 13 | Accept | 0.066667 | 0.056575 | 0.06 | 0.059918 | 9 |
| 14 | Accept | 0.06 | 0.038646 | 0.06 | 0.059961 | 3 |
| 15 | Accept | 0.06 | 0.051618 | 0.06 | 0.059963 | 1 |
| 16 | Accept | 0.06 | 0.041493 | 0.06 | 0.059965 | 2 |
| 17 | Accept | 0.066667 | 0.043627 | 0.06 | 0.059959 | 15 |
| 18 | Accept | 0.06 | 0.079431 | 0.06 | 0.05996 | 4 |
| 19 | Accept | 0.06 | 0.072182 | 0.06 | 0.059974 | 3 |
| 20 | Accept | 0.06 | 0.038123 | 0.06 | 0.059976 | 1 |
|======================================================================================|
| Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize |
| | result | | runtime | (observed) | (estim.) | |
|======================================================================================|
| 21 | Accept | 0.06 | 0.059631 | 0.06 | 0.059977 | 2 |
| 22 | Accept | 0.06 | 0.091116 | 0.06 | 0.059977 | 4 |
| 23 | Accept | 0.06 | 0.076521 | 0.06 | 0.059984 | 3 |
| 24 | Accept | 0.06 | 0.065443 | 0.06 | 0.059984 | 1 |
| 25 | Accept | 0.06 | 0.063612 | 0.06 | 0.059985 | 2 |
| 26 | Accept | 0.06 | 0.05674 | 0.06 | 0.059985 | 4 |
| 27 | Accept | 0.33333 | 0.035087 | 0.06 | 0.059995 | 49 |
| 28 | Accept | 0.066667 | 0.10387 | 0.06 | 0.06 | 38 |
| 29 | Accept | 0.066667 | 0.038903 | 0.06 | 0.06 | 35 |
| 30 | Accept | 0.066667 | 0.041221 | 0.06 | 0.06 | 6 |
__________________________________________________________
Optimization completed.
MaxObjectiveEvaluations of 30 reached.
Total function evaluations: 30
Total elapsed time: 21.1928 seconds
Total objective function evaluation time: 3.2019
Best observed feasible point:
MinLeafSize
___________
2
Observed objective function value = 0.06
Estimated objective function value = 0.06
Function evaluation time = 0.11486
Best estimated feasible point (according to models):
MinLeafSize
___________
3
Estimated objective function value = 0.06
Estimated function evaluation time = 0.07282


Mdl =
ClassificationTree
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'setosa' 'versicolor' 'virginica'}
ScoreTransform: 'none'
NumObservations: 150
HyperparameterOptimizationResults: [1×1 BayesianOptimization]
Properties, Methods
census1994 데이터 세트를 불러옵니다. 연령, 노동자 계층, 교육 수준, 결혼 여부, 인종, 성별, 자본금 손익, 주당 근무 시간이 주어진 경우 개인의 급여 범주를 예측하는 모델이 있다고 가정하겠습니다.
load census1994 X = adultdata(:,{'age','workClass','education_num','marital_status','race',... 'sex','capital_gain','capital_loss','hours_per_week','salary'});
summary를 사용하여 범주형 변수로 표현된 범주의 개수를 표시합니다.
summary(X)
X: 32561×10 table
Variables:
age: double
workClass: categorical (8 categories)
education_num: double
marital_status: categorical (7 categories)
race: categorical (5 categories)
sex: categorical (2 categories)
capital_gain: double
capital_loss: double
hours_per_week: double
salary: categorical (2 categories)
Statistics for applicable variables:
NumMissing Min Median Max Mean Std
age 0 17 37 90 38.5816 13.6404
workClass 1836
education_num 0 1 10 16 10.0807 2.5727
marital_status 0
race 0
sex 0
capital_gain 0 0 0 99999 1.0776e+03 7.3853e+03
capital_loss 0 0 0 4356 87.3038 402.9602
hours_per_week 0 1 40 99 40.4375 12.3474
salary 0
연속형 변수의 수준에 비해 범주형 변수로 표현된 범주가 적기 때문에 표준 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';

이 경우, 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 labelsY = M×1 tall logical array 1 0 1 1 0 1 0 0 : :
예측 변수 데이터에 대한 tall형 배열을 생성합니다.
X = tt{:,1:end-1} % Predictor dataX =
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
: : : : : :
: : : : : :
X와 Y에서 누락된 데이터를 포함하는 행을 제거합니다.
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' 획득 함수를 사용하고 rng 및 tallrng를 사용하여 난수 생성기의 시드값을 설정합니다. 결과는 워커의 개수 및 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형 스칼라로 지정해야 합니다. 예를 들어, 응답 변수 Y가 Tbl.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 행의 분류를 나타냅니다.
트리를 피팅할 때 fitctree는 Y의 NaN, ''(빈 문자형 벡터), ""(빈 string형), <missing>, <undefined> 값을 누락값으로 간주합니다. fitctree는 피팅할 때 Y에 대해 누락값이 있는 관측값을 사용하지 않습니다.
숫자형 Y의 경우, 이 대신 fitrtree를 사용하여 회귀 트리를 피팅하는 방안을 고려해 보십시오.
데이터형: single | double | categorical | logical | char | string | cell
예측 변수 데이터로, 숫자형 행렬로 지정됩니다. X의 각 행은 하나의 관측값에 대응되고, 각 열은 하나의 예측 변수에 대응됩니다.
fitctree는 X의 NaN 값을 누락값으로 간주합니다. 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과
|
| 논리형 벡터 | 요소의 값이 |
| 문자형 행렬 | 행렬의 각 행은 예측 변수의 이름입니다. 이름은 PredictorNames의 요소와 일치해야 합니다. 문자형 행렬의 각 행의 길이가 같게 되도록 이름 뒤에 추가로 공백을 채웁니다. |
| string형 배열 또는 문자형 벡터로 구성된 셀형 배열 | 배열의 각 요소는 예측 변수의 이름입니다. 이름은 PredictorNames의 요소와 일치해야 합니다. |
"all" | 모든 예측 변수가 범주형 변수입니다. |
기본적으로 예측 변수 데이터가 테이블(Tbl)인 경우, 변수가 논리형 벡터, 순서가 없는 categorical형 벡터, 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열이면 fitctree은 그 변수를 categorical형이라고 가정합니다. 예측 변수 데이터가 행렬(X)이면 fitctree 함수는 모든 예측 변수를 연속형 변수라고 가정합니다. 다른 모든 예측 변수를 범주형 예측 변수로 식별하려면 이러한 변수를 CategoricalPredictors 이름-값 인수를 사용하여 지정하십시오.
예: 'CategoricalPredictors','all'
데이터형: single | double | logical | char | string | cell
훈련에 사용할 클래스의 이름으로, categorical형 배열, 문자형 배열, string형 배열, 논리형 벡터 또는 숫자형 벡터, 문자형 벡터로 구성된 셀형 배열로 지정됩니다. ClassNames는 Tbl의 응답 변수 또는 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'와 함께 음이 아닌 스칼라가 쉼표로 구분되어 지정됩니다. fitctree는 MaxNumSplits개 이하의 가지 노드를 분할합니다. 분할 동작에 대한 자세한 내용은 알고리즘을 참조하십시오.
예: 'MaxNumSplits',5
데이터형: single | double
리프 병합 플래그로, 'MergeLeaves'와 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.
MergeLeaves가 'on'인 경우 fitctree는 다음을 수행합니다.
동일한 부모 노드에서 발생하고 부모 노드와 연관된 위험보다 크거나 같은 위험 값의 합을 생성하는 리프를 병합합니다.
가지치기된 하위 트리의 최적의 시퀀스를 추정하되, 분류 트리를 가지치기하지는 않습니다.
그렇지 않은 경우, fitctree는 리프를 병합하지 않습니다.
예: 'MergeLeaves','off'
리프 노드 관측값의 최소 개수로, 'MinLeafSize'와 함께 양의 정수 값이 쉼표로 구분되어 지정됩니다. 각 리프는 트리 리프당 최소 MinLeafSize개의 관측값을 가집니다. MinParentSize와 MinLeafSize를 모두 지정하는 경우, fitctree는 더 큰 리프를 생성하는 설정을 사용합니다(MinParentSize = max(MinParentSize,2*MinLeafSize)).
예: 'MinLeafSize',3
데이터형: single | double
가지 노드 관측값의 최소 개수로, 'MinParentSize'와 함께 양의 정수 값이 쉼표로 구분되어 지정됩니다. 트리의 각 가지 노드는 최소 MinParentSize개의 관측값을 가집니다. MinParentSize와 MinLeafSize를 모두 지정하는 경우, fitctree는 더 큰 리프를 생성하는 설정을 사용합니다(MinParentSize = max(MinParentSize,2*MinLeafSize)).
예: 'MinParentSize',8
데이터형: single | double
숫자형 예측 변수의 Bin 개수로, 양의 정수 스칼라로 지정됩니다.
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의 기능은 훈련 데이터를 어떤 방식으로 제공하느냐에 따라 달라집니다.
X와Y를 제공하는 경우,PredictorNames를 사용하여X의 예측 변수에 이름을 할당할 수 있습니다.PredictorNames의 이름의 순서는X의 열 순서와 일치해야 합니다. 즉,PredictorNames{1}은X(:,1)의 이름이고,PredictorNames{2}는X(:,2)의 이름이 되는 식입니다. 또한,size(X,2)와numel(PredictorNames)는 같아야 합니다.기본적으로
PredictorNames는{'x1','x2',...}입니다.
Tbl을 제공하는 경우,PredictorNames를 사용하여 훈련에 사용할 예측 변수를 선택할 수 있습니다. 즉,fitctree함수는PredictorNames의 예측 변수와 이에 대한 응답 변수만을 훈련 중에 사용합니다.PredictorNames는Tbl.Properties.VariableNames의 부분 집합이어야 하므로 응답 변수의 이름은 포함할 수 없습니다.기본적으로,
PredictorNames는 모든 예측 변수의 이름을 포함합니다.PredictorNames와formula중 하나만 사용하여 훈련에 사용할 예측 변수를 지정하는 것이 좋습니다.
예: "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]. 다음 중 하나에 해당되는 경우 곡률 검정이나 상호 작용 검정을 지정해 보십시오.
다른 예측 변수보다 상대적으로 더 적은 수의 고유 값을 갖는 예측 변수가 있는 경우(예를 들어, 예측 변수 데이터 세트가 이종인 경우).
예측 변수 중요도 분석이 목표인 경우. 예측 변수 중요도 추정에 대한 자세한 내용은
predictorImportance및 Introduction to Feature Selection 항목을 참조하십시오.
표준 CART를 사용하여 성장된 트리는 예측 변수 상호 작용에 민감하지 않습니다. 또한, 이러한 트리는 관련 없는 예측 변수가 많이 있을 경우 상호 작용 검정을 적용할 때보다 중요한 변수를 식별할 가능성이 더 적습니다. 따라서 예측 변수 상호 작용을 고려하고, 관련 없는 변수가 많이 있을 경우 중요한 변수를 식별하려면 상호 작용 검정을 지정해야 합니다 [3].
예측 속도는
'PredictorSelection'값의 영향을 받지 않습니다.
fitctree 함수가 분할 예측 변수를 선택하는 방법에 대한 자세한 내용은 노드 분할 규칙 및 Choose Split Predictor Selection Technique 항목을 참조하십시오.
예: 'PredictorSelection','curvature'
각 클래스에 대한 사전 확률로, 다음 중 하나로 지정됩니다.
문자형 벡터 또는 string형 스칼라.
벡터(각 클래스마다 하나의 스칼라 값 구성).
'Prior'의 대응 요소에 대한 클래스 순서를 지정하려면'ClassNames'이름-값 인수를 지정하십시오.다음과 같은 두 개의 필드를 갖는 구조체
S입니다.S.ClassNames는 클래스 이름을 변수로 포함하며Y또는Tbl응답 변수와 동일한 데이터형을 가집니다.S.ClassProbs는 대응되는 확률로 구성된 벡터를 포함합니다.
fitctree 함수는 각 클래스의 가중치('Weights')의 총합이 각 클래스의 사전 확률 값이 되도록 가중치를 정규화합니다.
예: 'Prior','uniform'
데이터형: char | string | single | double | struct
가지치기된 하위 트리에 대한 최적의 시퀀스를 추정하는 플래그로, 'Prune'과 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.
Prune이 'on'인 경우 fitctree 함수는 분류 트리를 가지치기하지 않고 성장시키되, 가지치기된 하위 트리에 대한 최적의 시퀀스를 추정합니다. Prune이 'off'이고 MergeLeaves도 'off'인 경우, 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'
관측값 가중치로, 'Weights'와 함께 스칼라 값으로 구성된 벡터나 Tbl에 포함된 변수의 이름이 쉼표로 구분되어 지정됩니다. 소프트웨어는 X 또는 Tbl의 각 행에 있는 관측값에 이에 대응하는 Weights의 값을 함께 사용하여 가중치를 적용합니다. Weights의 크기는 X 또는 Tbl의 행 개수와 일치해야 합니다.
입력 데이터를 테이블 Tbl로 지정하는 경우, Weights는 Tbl에서 숫자형 벡터를 포함하는 변수의 이름일 수 있습니다. 이 경우, Weights를 문자형 벡터 또는 string형 스칼라로 지정해야 합니다. 예를 들어, 가중 벡터 W가 Tbl.W로 저장된 경우, 이를 'W'로 지정하십시오. 이렇게 하지 않으면 모델을 훈련시킬 때 W를 포함한 Tbl의 모든 열이 예측 변수로 처리됩니다.
fitctree 함수는 각 클래스의 가중치의 총합이 각 클래스의 사전 확률 값이 되도록 가중치를 정규화합니다. Inf 가중치는 지원되지 않습니다.
데이터형: single | double | char | string
교차 검증 옵션
교차 검증된 결정 트리를 성장시키는 플래그로, 'CrossVal'과 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다.
'on'인 경우, fitctree는 10겹 교차 검증된 결정 트리를 성장시킵니다. 'KFold', 'Holdout', 'Leaveout' 또는 'CVPartition' 이름-값 쌍의 인수 중 하나를 사용하여 이 교차 검증 설정을 재정의할 수 있습니다. 교차 검증된 트리를 생성할 때 한 번에 이 네 개 인수 중 하나씩만 사용할 수 있습니다.
또는 crossval 메서드를 사용하여 나중에 Mdl을 교차 검증하십시오.
예: 'CrossVal','on'
교차 검증된 트리에 사용할 분할로, 'CVPartition'과 함께 cvpartition을 사용하여 생성된 객체가 쉼표로 구분되어 지정됩니다.
'CVPartition'을 사용하는 경우 'KFold', 'Holdout' 또는 'Leaveout' 이름-값 쌍의 인수를 사용할 수 없습니다.
홀드아웃 검증에 사용할 데이터의 비율로, 'Holdout'과 함께 범위 (0,1) 내에 있는 스칼라 값이 쉼표로 구분되어 지정됩니다. 홀드아웃 검증은 데이터에서 지정된 비율만큼을 검증하고 나머지 데이터는 훈련에 사용합니다.
'Holdout'을 사용하는 경우 'CVPartition', 'KFold' 또는 'Leaveout' 이름-값 쌍의 인수를 사용할 수 없습니다.
예: 'Holdout',0.1
데이터형: single | double
교차 검증된 분류기에 사용할 겹의 개수로, 'KFold'와 함께 1보다 큰 양의 정수 값이 쉼표로 구분되어 지정됩니다. 지정할 경우(즉, 'KFold',k), 소프트웨어가 다음과 같이 동작합니다.
데이터를 k개 세트로 임의로 분할합니다.
각 세트마다 해당 세트를 검증 데이터로 남겨두고 나머지 k – 1개의 세트를 사용하여 모델을 훈련시킵니다.
교차 검증된 모델의
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에 대한 교차 검증 손실(오차)을 최소화하려고 시도합니다. 교차 검증 유형과 최적화의 기타 측면을 제어하려면 HyperparameterOptimizationOptions 이름-값 인수를 사용하십시오. HyperparameterOptimizationOptions를 사용하는 경우, ConstraintType 옵션과 ConstraintBounds 옵션을 설정하여 교차 검증 손실 대신에 (간소) 모델 크기를 최적화 목적 함수로 사용할 수 있습니다.
참고
OptimizeHyperparameters 값은 다른 이름-값 인수를 사용하여 지정하는 모든 값을 재정의합니다. 예를 들어 OptimizeHyperparameters를 "auto"로 설정하면 fitctree 함수는 "auto" 옵션에 대응되는 하이퍼파라미터를 최적화하고 하이퍼파라미터에 대해 지정된 값을 모두 무시합니다.
fitctree에 대한 적합한 모수는 다음과 같습니다.
MaxNumSplits—fitctree가 기본적으로 범위[1,max(2,NumObservations-1)]에서 로그 스케일링된 정수 중에서 탐색을 수행합니다.MinLeafSize—fitctree가 기본적으로 범위[1,max(2,floor(NumObservations/2))]에서 로그 스케일링된 정수 중에서 탐색을 수행합니다.SplitCriterion— 두 클래스에 대해fitctree가'gdi'및'deviance'중에서 탐색을 수행합니다. 세 개 이상의 클래스에 대해서는fitctree가'twoing'에 대해서도 탐색을 수행합니다.NumVariablesToSample—fitctree는 이 하이퍼파라미터에 대해 최적화를 수행하지 않습니다.NumVariablesToSample을 모수 이름으로 전달하면fitctree는 전체 개수의 예측 변수를 사용합니다. 그러나,fitcensemble은 이 하이퍼파라미터에 대해 최적화를 수행합니다.
디폴트가 아닌 값을 가지는 optimizableVariable 객체로 구성된 벡터를 전달하여 디폴트가 아닌 모수를 설정합니다. 예를 들면 다음과 같습니다.
load fisheriris params = hyperparameters('fitctree',meas,species); params(1).Range = [1,30];
params를 OptimizeHyperparameters의 값으로 전달합니다.
기본적으로, 반복 표시가 명령줄에 표시되고, 최적화에 지정된 하이퍼파라미터 개수에 따라 플롯이 표시됩니다. 최적화와 플롯에 대해 목적 함수는 오분류율입니다. 반복 표시를 제어하려면 HyperparameterOptimizationOptions 이름-값 인수에 대한 Verbose 옵션을 설정하십시오. 플롯을 제어하려면 HyperparameterOptimizationOptions 이름-값 인수에 대한 ShowPlots 필드를 설정하십시오.
예제는 분류 트리 최적화하기 항목을 참조하십시오.
예: 'auto'
최적화에 사용할 옵션으로, HyperparameterOptimizationOptions 객체 또는 구조체로 지정됩니다. 이 인수는 OptimizeHyperparameters 이름-값 인수의 효과를 수정합니다. HyperparameterOptimizationOptions를 지정하는 경우 OptimizeHyperparameters도 지정해야 합니다. 모든 옵션은 선택 사항입니다. 그러나 AggregateOptimizationResults를 반환하려면 ConstraintBounds와 ConstraintType을 설정해야 합니다. 구조체에 설정할 수 있는 옵션은 HyperparameterOptimizationOptions 객체의 옵션과 동일합니다.
| 옵션 | 값 | 디폴트 값 |
|---|---|---|
Optimizer |
| "bayesopt" |
ConstraintBounds | N개의 최적화 문제에 대한 제약 조건 범위로, N×2 숫자형 행렬 또는 | [] |
ConstraintTarget | 최적화 문제에 대한 제약 조건 대상으로, | ConstraintBounds와 ConstraintType을 지정하면 디폴트 값은 "matlab"입니다. 그렇지 않은 경우 디폴트 값은 []입니다. |
ConstraintType | 최적화 문제애 대한 제약 조건 유형으로, | [] |
AcquisitionFunctionName | 획득 함수의 유형은 다음과 같습니다.
최적화는 목적 함수의 런타임에 종속적이기 때문에 이름에 | "expected-improvement-per-second-plus" |
MaxObjectiveEvaluations | 목적 함수 실행의 최대 횟수입니다. ConstraintBounds를 사용하여 여러 최적화 문제를 지정하는 경우 MaxObjectiveEvaluations의 값이 각 최적화 문제에 개별적으로 적용됩니다. | "bayesopt"와 "randomsearch"의 경우 30, "gridsearch"의 경우 전체 그리드 |
MaxTime | 최적화에 대한 시간 제한으로, 음이 아닌 실수형 스칼라로 지정됩니다. 시간 제한은 초 단위이며, | Inf |
NumGridDivisions | Optimizer="gridsearch"의 경우, 각 차원의 값 개수입니다. 이 값은 각 차원에 대한 값의 개수를 제공하는 양의 정수로 구성된 벡터 또는 모든 차원에 적용되는 스칼라일 수 있습니다. 이 옵션은 범주형 변수의 경우 무시됩니다. | 10 |
ShowPlots | 최적화 진행률의 플롯 표시 여부를 나타내는 논리값입니다. 이 옵션이 true이면 반복 횟수에 대해 최선의 관측된 목적 함수 값이 플로팅됩니다. 베이즈 최적화(Optimizer="bayesopt")를 사용하는 경우에는 최선의 추정된 목적 함수 값도 플로팅됩니다. 최선의 관측된 목적 함수 값과 최선의 추정된 목적 함수 값은 각각 반복 표시의 BestSoFar (observed) 열과 BestSoFar (estim.) 열의 값에 대응됩니다. Mdl.HyperparameterOptimizationResults의 속성 ObjectiveMinimumTrace 및 EstimatedObjectiveMinimumTrace에서 이러한 값을 확인할 수 있습니다. 문제에 베이즈 최적화를 위한 하나 또는 두 개의 최적화 모수가 있는 경우, ShowPlots는 이 모수에 대해서도 목적 함수의 모델을 플로팅합니다. | true |
SaveIntermediateResults | 최적화 결과를 저장할지 여부를 나타내는 논리값입니다. 이 옵션이 true이면 각 반복마다 "BayesoptResults"라는 이름의 작업 공간 변수를 덮어쓰게 됩니다. 변수는 BayesianOptimization 객체입니다. ConstraintBounds를 사용하여 여러 최적화 문제를 지정하는 경우, 작업 공간 변수는 "AggregateBayesoptResults"라는 이름의 AggregateBayesianOptimization 객체입니다. | false |
Verbose | 명령줄에서 표시 수준은 다음과 같습니다.
자세한 내용은 | 1 |
UseParallel | 베이즈 최적화를 병렬로 실행할지 여부를 나타내는 논리값으로, Parallel Computing Toolbox™가 필요합니다. 병렬 시간 재현이 불가능하기 때문에, 병렬 베이즈 최적화에서 반드시 재현 가능한 결과를 산출하지는 않습니다. 자세한 내용은 Parallel Bayesian Optimization 항목을 참조하십시오. | false |
Repartition | 매 반복 시 교차 검증을 다시 분할할지 여부를 나타내는 논리값입니다. 이 옵션이 값이 | false |
| 다음 3가지 옵션 중 하나만 지정합니다. | ||
CVPartition | cvpartition으로 생성된 cvpartition 객체 | 교차 검증 옵션을 지정하지 않는 경우 KFold=5 |
Holdout | 홀드아웃 비율을 나타내는 범위 (0,1) 내에 있는 스칼라 | |
KFold | 1보다 큰 정수 | |
예: HyperparameterOptimizationOptions=struct(UseParallel=true)
출력 인수
분류 트리로, 분류 트리 객체로 반환됩니다.
'CrossVal', 'KFold', 'Holdout', 'Leaveout' 또는 'CVPartition' 옵션을 사용하면 ClassificationPartitionedModel 클래스의 트리가 생성됩니다. 예측에는 분할된 트리를 사용할 수 없으므로 이러한 유형의 트리에는 predict 메서드가 없습니다. 대신, kfoldPredict를 사용하여 훈련에 사용되지 않는 관측값에 대한 응답 변수를 예측할 수 있습니다.
그렇지 않은 경우, Mdl은 ClassificationTree 클래스이며, predict 메서드를 사용하여 예측을 수행할 수 있습니다.
OptimizeHyperparameters를 지정하고 HyperparameterOptimizationOptions의 ConstraintType 옵션과 ConstraintBounds 옵션을 설정하면 Mdl은 모델 객체로 구성된 N×1 셀형 배열입니다. 여기서 N은 ConstraintBounds의 행 개수와 동일합니다. 최적화 문제 중 어느 것도 실현가능 모델을 산출하지 못하면 각 셀형 배열 값은 []입니다.
여러 최적화 문제에 대한 최적화 결과 집계로, AggregateBayesianOptimization 객체로 반환됩니다. AggregateOptimizationResults를 반환하려면 OptimizeHyperparameters와 HyperparameterOptimizationOptions를 지정해야 합니다. HyperparameterOptimizationOptions의 ConstraintType 옵션과 ConstraintBounds 옵션도 지정해야 합니다. 이 출력값을 생성하는 방법을 보여주는 예제는 Hyperparameter Optimization with Multiple Constraint Bounds 항목을 참조하십시오.
세부 정보
곡률 검정은 '두 변수 간에 연관성이 없다'는 귀무가설을 평가하는 통계 검정입니다.
예측 변수 x와 y 간의 곡률 검정은 다음 과정을 통해 수행됩니다.
x가 연속형 변수이면 이 변수를 사분위수 단위로 분할합니다. 관측값이 어느 사분위수로 분할되었는지에 따라 관측값을 Bin으로 분류하는 명목형 변수를 생성합니다. 누락값이 있는 경우 누락값에 대한 Bin을 따로 생성합니다.
분할된 예측 변수 j = 1...J의 각 수준과 응답 변수 k = 1,...,K의 클래스에 대해 k 클래스에 포함된 관측값의 가중 비율을 계산합니다.
wi는 관측값 i의 가중치이고(), I는 표시 함수이며, n은 표본 크기입니다. 모든 관측값의 가중치가 동일한 경우 입니다. 여기서 njk는 k 클래스에 속하는 예측 변수의 수준 j에 있는 관측값 개수입니다.
검정 통계량을 계산합니다.
, 이는 수준 j에서 예측 변수가 관측될 주변 확률입니다. , 이는 k 클래스가 관측될 주변 확률입니다. n이 충분히 클 경우 t는 자유도가 (K – 1)(J – 1)인 χ2로 분산됩니다.
검정에 대한 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) — 노드의 지니 지수는 다음과 같습니다.여기서 합계는 노드에 있는 클래스 i에 대한 것이며 p(i)는 클래스 중 노드에 도달하는 클래스 i에 대해 관측된 비율입니다. 클래스를 하나만 갖는 노드(순수 노드)의 지니 지수는
0이고, 그렇지 않은 노드의 경우 지니 지수는 양수입니다. 따라서 지니 지수는 노드 불순도를 측정한 값입니다.이탈도(
"deviance") — p(i)가 지니 지수에서와 동일하게 정의되었을 때 노드의 이탈도는 다음과 같습니다.순수 노드의 이탈도는
0이고, 그렇지 않은 노드의 경우 이탈도는 양수입니다.투잉 규칙(
"twoing") — 투잉은 노드의 순수도를 측정한 값이 아니며 노드 분할 방법 결정에 사용하는 다른 측정값입니다. L(i)는 분할 후 왼쪽 자식 노드에서 클래스 i에 속하는 비율을 나타내고, R(i)는 분할 후 오른쪽 자식 노드에서 클래스 i에 속하는 비율을 나타낸다고 하겠습니다. 다음을 최대화할 분할 기준을 선택합니다.여기서 P(L)과 P(R)은 각각 왼쪽과 오른쪽으로 분할되는 관측값의 비율입니다. 표현식 값이 클 경우 분할로 인해 각 자식 노드가 더 순수해졌다는 의미입니다. 마찬가지로, 표현식 값이 작을 경우 분할로 인해 각 자식 노드가 서로 비슷해졌고, 이는 곧 부모 노드와 비슷해졌다는 것입니다. 분할로 인해 노드의 순수도가 높아지지 않았습니다.
노드 오차 — 노드 오차는 노드에서 오분류된 클래스의 비율입니다. j가 노드에서 최대 개수의 훈련 표본을 갖는 클래스인 경우 노드 오차는 다음과 같습니다.
1 – p(j).
상호 작용 검정은 '예측 변수 쌍과 응답 변수 간에 상호 작용이 없다'는 귀무가설을 평가하는 통계 검정입니다.
y에 대한 예측 변수 x1과 x2 간의 연관성을 평가하는 상호 작용 검정은 다음 과정을 통해 수행됩니다.
x1 또는 x2가 연속형 변수이면 이 변수를 사분위수 단위로 분할합니다. 관측값이 어느 사분위수로 분할되었는지에 따라 관측값을 Bin으로 분류하는 명목형 변수를 생성합니다. 누락값이 있는 경우 누락값에 대한 Bin을 따로 생성합니다.
J = J1J2개 수준을 갖는 명목형 변수 z를 생성합니다. 이 변수는 x1과 x2 중 어떤 수준에 속하느냐에 따라 인덱스를 관측값 i에 할당합니다. 관측값에 대응되지 않는 z의 수준을 제거합니다.
z와 y 간에 곡률 검정을 수행합니다.
결정 트리를 성장시킬 때 예측 변수 쌍 간에 중요한 상호 작용이 있지만 해당 데이터에 덜 중요한 다른 예측 변수도 많은 경우 표준 CART는 중요한 상호 작용을 놓치는 경향이 있습니다. 그러나, 예측 변수 선택에 곡률 검정과 상호 작용 검정을 대신 수행하면 중요한 상호 작용을 더 잘 감지할 수 있으며, 따라서 더 정확한 결정 트리를 생성할 수 있습니다.
결정 트리를 성장시킬 때 상호 작용 검정이 어떻게 적용되는지에 대한 자세한 내용은 곡률 검정, 노드 분할 규칙, [3] 항목을 참조하십시오.
예측 연관성 측도는 관측값을 분할하는 결정 규칙 간 유사성을 나타내는 값입니다. (트리를 성장시켜서 확인할 수 있는) 최적의 분할과 비교되는 모든 가능한 결정 분할 중에 최상의 대리 결정 분할은 최대의 예측 연관성 측도를 생성합니다. 두 번째로 최상인 대리 분할은 두 번째로 큰 예측 연관성 측도를 생성합니다.
xj 및 xk는 각각 예측 변수 j 및 k이고, j ≠ k라고 가정하겠습니다. 노드 t에서 최적의 분할 xj < u와 대리 분할 xk < v 간의 예측 연관성 측도는 다음과 같습니다.
PL은 노드 t에서 xj < u를 충족하는 관측값의 비율입니다. 아래 첨자 L은 노드 t의 왼쪽 자식을 나타냅니다.
PR은 노드 t에서 xj < u를 충족하는 관측값의 비율입니다. 아래 첨자 R은 노드 t의 오른쪽 자식을 나타냅니다.
는 노드 t에서 xj < u 및 xk < v를 충족하는 관측값의 비율입니다.
는 노드 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의 경우:fitctree함수가 노드 t의 가중 불순도(it)를 계산합니다. 지원되는 불순도 측정법은SplitCriterion을 참조하십시오.fitctree함수가 다음을 사용하여 관측값이 노드 t에 있을 확률을 추정합니다.wj는 관측값 j의 가중치이고 T는 노드 t에 있는 모든 관측값 인덱스의 집합입니다.
Prior또는Weights를 지정하지 않을 경우 wj = 1/n입니다. 여기서 n은 표본 크기입니다.fitctree함수가 xi를 오름차순으로 정렬합니다. 정렬된 예측 변수의 각 요소는 분할 후보, 즉 절단점입니다.fitctree함수는 분할되지 않은 집합인 TU의 누락값에 대응되는 인덱스를 저장합니다.fitctree함수가 모든 분할 후보에 대한 불순도 이득(ΔI)을 최대화함으로써 xi를 사용하여 노드 t를 분할하는 최상의 방법을 결정합니다. 즉, xi의 모든 분할 후보에 대해 다음을 수행합니다.fitctree함수가 노드 t에 있는 관측값을 왼쪽 및 오른쪽 자식 노드(각각 tL 및 tR)로 분할합니다.fitctree함수가 ΔI를 계산합니다. 특정 분할 후보에 대해 tL 및 tR이 각각 집합 TL 및 TR의 관측값 인덱스를 포함한다고 가정합니다.xi에 아무런 누락값이 없을 경우 현재 분할 후보의 불순도 이득은 다음과 같습니다.
xi에 누락값이 있는 경우 관측값이 임의로 누락되었다는 가정 하에 불순도 이득은 다음과 같습니다.
T – TU는 노드 t에서 누락값이 아닌 모든 관측값 인덱스의 집합입니다.
대리 결정 분할을 사용하는 경우 다음과 같습니다.
fitctree함수가 결정 분할 xj < u 및 모든 가능한 결정 분할 xk < v, j ≠ k 간의 예측 연관성 측도를 계산합니다.fitctree함수가 최적의 분할에 대한 예측 연관성 측도를 기준으로 가능한 대체 결정 분할을 내림차순으로 정렬합니다. 대리 분할은 최대 측도값을 생성하는 결정 분할입니다.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에 대한 대리 예측 변수입니다.fitctree함수가 적합한 불순도 이득 식을 사용합니다. 즉,fitctree함수가 대리 분할을 사용하여 노드 t에서 누락된 모든 관측값을 자식 노드에 할당하지 못하면 불순도 이득이 ΔIU입니다. 그렇지 않은 경우fitctree함수가 불순도 이득에 ΔI를 사용합니다.
fitctree함수가 최대 불순도 이득을 생성하는 후보를 선택합니다.
fitctree함수가 불순도 이득을 최대화하는 절단점에서 예측 변수를 분할합니다.곡률 검정의 경우(즉,
PredictorSelection이'curvature'인 경우):fitctree함수가 노드 t의 관측값에 대한 각 예측 변수와 응답 변수 간에 곡률 검정을 수행합니다.모든 p-값이 최소 0.05이면
fitctree함수가 노드 t를 분할하지 않습니다.최소 p-값이 있으면
fitctree함수가 이에 대응하는 예측 변수를 선택하여 노드 t를 분할합니다.언더플로로 인해 둘 이상의 p-값이 0인 경우
fitctree함수가 표준 CART를 대응하는 예측 변수에 적용하여 분할 예측 변수를 선택합니다.
fitctree함수가 분할 예측 변수를 선택하면 표준 CART를 사용하여 절단점을 선택합니다(표준 CART 과정의 4단계 참조).
상호 작용 검정의 경우(즉,
PredictorSelection이'interaction-curvature'인 경우):노드 t의 관측값에 대해
fitctree함수가 각 예측 변수와 응답 변수 간에 곡률 검정을 수행하고 각 예측 변수 쌍과 응답 변수 간에 상호 작용 검정을 수행합니다.모든 p-값이 최소 0.05이면
fitctree함수가 노드 t를 분할하지 않습니다.최소 p-값이 있고 이 값이 곡률 검정의 결과이면
fitctree함수가 이에 대응하는 예측 변수를 선택하여 노드 t를 분할합니다.최소 p-값이 있고 이 값이 상호 작용 검정의 결과이면
fitctree함수가 이에 대응하는 예측 변수 쌍에 대해 표준 CART를 사용하여 분할 예측 변수를 선택합니다.언더플로로 인해 둘 이상의 p-값이 0인 경우
fitctree함수가 표준 CART를 대응하는 예측 변수에 적용하여 분할 예측 변수를 선택합니다.
fitctree함수가 분할 예측 변수를 선택하면 표준 CART를 사용하여 절단점을 선택합니다(표준 CART 과정의 4단계 참조).
MergeLeaves가'on'이고PruneCriterion이'error'인 경우(이 이름-값 쌍의 인수에 대한 디폴트 값임), 소프트웨어가 분류 오차를 사용하여 리프에만 가지치기를 적용합니다. 이렇게 지정하면 리프당 가장 많이 사용되는 클래스를 공유하는 리프를 병합하는 것과 같은 결과를 낳습니다.MaxNumSplits를 수용할 수 있도록fitctree함수는 현재 계층의 모든 노드를 분할한 후 가지 노드의 개수를 계산합니다. 계층은 루트 노드에서 등거리에 있는 노드의 집합입니다. 가지 노드의 개수가MaxNumSplits를 초과할 경우fitctree함수는 다음 절차를 따릅니다.가지 노드 개수가 최대
MaxNumSplits개가 되려면 현재 계층에서 분할되지 않아야 하는 가지 노드의 개수가 몇 개인지 판별합니다.불순도 이득을 기준으로 가지 노드를 정렬합니다.
성공도가 낮은 가지의 개수만큼 분할을 취소합니다.
지금까지 성장한 결정 트리를 반환합니다.
이 절차를 통해 최대로 균형 잡힌 트리가 생성됩니다.
다음 중 최소 하나 이상의 일이 생길 때까지 소프트웨어는 각 계층별로 가지 노드를 분할합니다.
MaxNumSplits개의 가지 노드가 있습니다.제안된 분할로 인해 하나 이상의 가지 노드에 있는 관측값 개수가
MinParentSize보다 작아집니다.제안된 분할로 인해 하나 이상의 리프 노드에 있는 관측값 개수가
MinLeafSize보다 작아집니다.알고리즘이 계층 내에서 알맞은 분할을 찾을 수 없습니다(즉, 계층 내 제안된 모든 분할에 대해 가지치기 기준(
PruneCriterion참조)이 개선되지 않음). 모든 노드가 순수한 경우는 특수한 사례입니다(즉, 노드에 포함된 모든 관측값이 동일한 클래스를 가짐).PredictorSelection의 값이'curvature'또는'interaction-curvature'인 경우, 모든 검정에서 0.05보다 큰 p-값이 생성됩니다.
MaxNumSplits및MinLeafSize의 디폴트 값은 분할에 영향을 미치지 않습니다. 따라서,'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, Prior 및 W 속성에 저장합니다. 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.
확장 기능
fitctree 함수는 tall형 배열을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
지원되는 구문은 다음과 같습니다.
Mdl = fitctree(Tbl,Y)Mdl = fitctree(X,Y)Mdl = fitctree(___,Name=Value)[Mdl,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name=Value)—fitctree는'OptimizeHyperparameters'이름-값 인수를 지정하는 경우 추가 출력 인수FitInfo와HyperparameterOptimizationResults를 반환합니다.
FitInfo출력 인수는 향후 사용을 위해 현재 예약되어 있는 빈 구조체형 배열입니다.HyperparameterOptimizationResults출력 인수는 일반적으로BayesianOptimization객체 또는 하이퍼파라미터의 교차 검증 최적화를 설명하는관련 값을 가진 하이퍼파라미터로 구성된 테이블입니다. 그러나HyperparameterOptimizationOptions를 지정하고ConstraintType과ConstraintBounds를 설정하면HyperparameterOptimizationResults는AggregateBayesianOptimization객체입니다.HyperparameterOptimizationOptions를 지정하고ConstraintType,ConstraintBounds또는Optimizer="bayesopt"를 설정하지 않으면HyperparameterOptimizationResults는 사용된 하이퍼파라미터, 관측된 목적 함수 값, 가장 낮은 값(최상)에서 가장 높은 값(최하) 순의 관측값 순위를 포함하고 있는 테이블입니다.모델 생성 시
OptimizeHyperparameters이름-값 인수가 비어 있지 않은 경우HyperparameterOptimizationResults는 비어 있지 않습니다.HyperparameterOptimizationResults의 값은 모델을 생성할 때HyperparameterOptimizationOptions이름-값 인수에 대해 지정하는 값에 따라 달라집니다.지원되는 이름-값 쌍의 인수 및 차이점은 다음과 같습니다.
'AlgorithmForCategorical''CategoricalPredictors''ClassNames''Cost''HyperparameterOptimizationOptions'— 교차 검증의 경우 tall형에 대한 최적화에는'Holdout'검증만 지원됩니다. 기본적으로 소프트웨어는 데이터의 20%를 선택하여 홀드아웃 검증 데이터로 남겨두고 나머지 데이터를 사용하여 모델을 훈련시킵니다. 이 인수를 사용하여 홀드아웃 비율에 다른 값을 지정할 수 있습니다. 예를 들어, 데이터의 30%를 검증 데이터로 남겨두려면'HyperparameterOptimizationOptions',struct('Holdout',0.3)을 지정하십시오.'MaxNumCategories''MaxNumSplits'— tall형에 대한 최적화의 경우,fitctree는 기본적으로[1,max(2,min(10000,NumObservations-1))]범위의 로그 스케일링된 정수 중에서 탐색을 수행합니다.'MergeLeaves''MinLeafSize''MinParentSize''NumVariablesToSample''OptimizeHyperparameters''PredictorNames''Prior''ResponseName''ScoreTransform''SplitCriterion''Weights'
다음의 추가적인 이름-값 쌍의 인수는 tall형 배열에만 사용할 수 있습니다.
'MaxDepth'— 출력 트리의 최대 깊이를 지정하는 양의 정수입니다. 수준의 개수가 더 적고 계산을 위해 tall형 배열을 통과해야 하는 횟수가 더 적은 트리를 반환하려면 이 인수의 값을 지정하십시오. 일반적으로fitctree알고리즘은 데이터 전체에 대해 한 번 통과하고, 각 트리 수준마다 추가적으로 한 번씩 더 통과합니다. 기본적으로 함수는 최대 트리 깊이를 설정하지 않습니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
병렬 하이퍼파라미터 최적화를 수행하려면 fitctree 함수에 대한 호출에 HyperparameterOptimizationOptions 이름-값 인수의 UseParallel=true 옵션을 사용하십시오.
병렬 하이퍼파라미터 최적화에 대한 자세한 내용은 Parallel Bayesian Optimization 항목을 참조하십시오.
병렬 연산에 대한 일반적인 내용은 자동 병렬 연산을 지원하는 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
fitctree함수는 대리 분할을 지원하지 않습니다. 이름-값 인수Surrogate는"off"로만 지정할 수 있습니다.범주형 예측 변수가 있는 데이터의 경우 다음이 적용됩니다.
다중클래스 분류의 경우 최상의 분할을 찾을 때
fitctree함수는OVAbyClass알고리즘만 지원합니다.이름-값 인수
NumVariablesToSample은"all"로만 지정할 수 있습니다.
이름-값 인수
PredictorSelection은"allsplits"로만 지정할 수 있습니다.fitctree함수는 다음 중 하나가 적용되는 경우 GPU에서 모델을 피팅합니다.입력 인수
X가gpuArray객체입니다.입력 인수
Tbl이gpuArray예측 변수를 포함합니다.
fitctree함수는 더 깊은 수준의 결정 트리의 경우 GPU에서 실행하는 것이 CPU보다 더 빠르지 않을 수 있습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2014a에 개발됨fitctree 함수는 HyperparameterOptimizationOptions가 UseParallel=true를 포함하고 소프트웨어가 병렬 풀을 열 수 없으면 순차적 하이퍼파라미터 최적화를 디폴트 값으로 지정합니다.
이전 릴리스에서는 이러한 상황에서 소프트웨어가 오류를 발생시킵니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)