Подходящее дерево выбора из двух альтернатив для классификации мультиклассов
возвращает подходящее бинарное дерево решений классификации на основе входных переменных (также известный как предикторы, функции или атрибуты) содержавшийся в таблице tree
= fitctree(Tbl
,ResponseVarName
)Tbl
и выход (ответ или метки) содержавшийся в Tbl.ResponseVarName
. Возвращенные разделения двоичного дерева, переходящие узлы на основе значений столбца Tbl
.
соответствует дереву дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение", с помощью любого из предыдущих синтаксисов. Например, можно указать, что алгоритм раньше находил лучшее разделение на категориальном предикторе, выращивал перекрестное подтвержденное дерево или протягивал часть входных данных для валидации.tree
= fitctree(___,Name,Value
)
Вырастите дерево классификации использование 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
Значения по умолчанию древовидных контроллеров глубины для роста деревьев классификации:
n - 1
для MaxNumSplits
N
учебный объем выборки.
1 для
MinLeafSize
.
10 для
MinParentSize
.
Эти значения по умолчанию имеют тенденцию выращивать глубокие деревья для больших учебных объемов выборки.
Обучите дерево классификации использование значений по умолчанию для древовидного управления глубиной. Перекрестный подтвердите модель при помощи 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.1140
classError7 = kfoldLoss(Mdl7)
classError7 = 0.1254
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.27722 | 0.066667 | 0.066667 | 31 | | 2 | Accept | 0.066667 | 0.16087 | 0.066667 | 0.066667 | 12 | | 3 | Best | 0.04 | 0.12552 | 0.04 | 0.040003 | 2 | | 4 | Accept | 0.66667 | 0.11901 | 0.04 | 0.15796 | 73 | | 5 | Accept | 0.04 | 0.13195 | 0.04 | 0.040009 | 2 | | 6 | Accept | 0.66667 | 0.096687 | 0.04 | 0.040012 | 74 | | 7 | Accept | 0.066667 | 0.10223 | 0.04 | 0.040012 | 20 | | 8 | Accept | 0.04 | 0.10111 | 0.04 | 0.040008 | 4 | | 9 | Best | 0.033333 | 0.10251 | 0.033333 | 0.03335 | 1 | | 10 | Accept | 0.066667 | 0.10818 | 0.033333 | 0.03335 | 7 | | 11 | Accept | 0.04 | 0.096966 | 0.033333 | 0.033348 | 3 | | 12 | Accept | 0.066667 | 0.092036 | 0.033333 | 0.033348 | 26 | | 13 | Accept | 0.046667 | 0.092497 | 0.033333 | 0.033347 | 5 | | 14 | Accept | 0.033333 | 0.10312 | 0.033333 | 0.03334 | 1 | | 15 | Accept | 0.066667 | 0.10155 | 0.033333 | 0.033339 | 15 | | 16 | Accept | 0.033333 | 0.10035 | 0.033333 | 0.033337 | 1 | | 17 | Accept | 0.033333 | 0.10335 | 0.033333 | 0.033336 | 1 | | 18 | Accept | 0.33333 | 0.1042 | 0.033333 | 0.033336 | 43 | | 19 | Accept | 0.066667 | 0.08967 | 0.033333 | 0.033336 | 9 | | 20 | Accept | 0.066667 | 0.091754 | 0.033333 | 0.033336 | 6 | |======================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | | runtime | (observed) | (estim.) | | |======================================================================================| | 21 | Accept | 0.066667 | 0.089721 | 0.033333 | 0.033336 | 17 | | 22 | Accept | 0.066667 | 0.10328 | 0.033333 | 0.033336 | 10 | | 23 | Accept | 0.066667 | 0.098271 | 0.033333 | 0.033336 | 36 | | 24 | Accept | 0.33333 | 0.089334 | 0.033333 | 0.034075 | 54 | | 25 | Accept | 0.04 | 0.091543 | 0.033333 | 0.034054 | 2 | | 26 | Accept | 0.04 | 0.10484 | 0.033333 | 0.034022 | 3 | | 27 | Accept | 0.04 | 0.087566 | 0.033333 | 0.033997 | 4 | | 28 | Accept | 0.066667 | 0.097839 | 0.033333 | 0.033973 | 23 | | 29 | Accept | 0.066667 | 0.087622 | 0.033333 | 0.033946 | 8 | | 30 | Accept | 0.066667 | 0.11354 | 0.033333 | 0.033922 | 13 | __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 31.3971 seconds. Total objective function evaluation time: 3.2643 Best observed feasible point: MinLeafSize ___________ 1 Observed objective function value = 0.033333 Estimated objective function value = 0.033922 Function evaluation time = 0.10251 Best estimated feasible point (according to models): MinLeafSize ___________ 1 Estimated objective function value = 0.033922 Estimated function evaluation time = 0.1055
Mdl = ClassificationTree ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 HyperparameterOptimizationResults: [1x1 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)
Variables: age: 32561x1 double Values: Min 17 Median 37 Max 90 workClass: 32561x1 categorical Values: Federal-gov 960 Local-gov 2093 Never-worked 7 Private 22696 Self-emp-inc 1116 Self-emp-not-inc 2541 State-gov 1298 Without-pay 14 NumMissing 1836 education_num: 32561x1 double Values: Min 1 Median 10 Max 16 marital_status: 32561x1 categorical Values: Divorced 4443 Married-AF-spouse 23 Married-civ-spouse 14976 Married-spouse-absent 418 Never-married 10683 Separated 1025 Widowed 993 race: 32561x1 categorical Values: Amer-Indian-Eskimo 311 Asian-Pac-Islander 1039 Black 3124 Other 271 White 27816 sex: 32561x1 categorical Values: Female 10771 Male 21790 capital_gain: 32561x1 double Values: Min 0 Median 0 Max 99999 capital_loss: 32561x1 double Values: Min 0 Median 0 Max 4356 hours_per_week: 32561x1 double Values: Min 1 Median 40 Max 99 salary: 32561x1 categorical Values: <=50K 24720 >50K 7841
Поскольку существует немного категорий, представленных в категориальных переменных по сравнению с уровнями в непрерывных переменных, стандартном CART, разделяющий предиктор алгоритм предпочитает разделять непрерывный предиктор по категориальным переменным.
Обучите дерево классификации использование целого набора данных. Чтобы вырастить несмещенные деревья, задайте использование теста искривления для разделения предикторов. Поскольку там пропускают наблюдения в данных, задают использование суррогатных разделений.
Mdl = fitctree(X,'salary','PredictorSelection','curvature',... 'Surrogate','on');
Оцените значения важности предиктора путем подведения итогов изменений в риске из-за разделений на каждом предикторе и деления суммы на количество узлов ветви. Сравните оценки с помощью столбчатого графика.
imp = predictorImportance(Mdl); figure; bar(imp); title('Predictor Importance Estimates'); ylabel('Estimates'); xlabel('Predictors'); h = gca; h.XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter = 'none';
В этом случае, capital_gain
самый важный предиктор, сопровождаемый education_num
.
В этом примере показано, как оптимизировать гиперпараметры дерева классификации автоматически с помощью длинного массива. Выборочные данные установили airlinesmall.csv
большой набор данных, который содержит табличный файл данных о полете. Этот пример составляет длинную таблицу, содержащую данные, и использует их, чтобы запустить процедуру оптимизации.
Когда вы выполняете вычисления на длинных массивах, MATLAB® использует любого параллельный пул (значение по умолчанию, если у вас есть Parallel Computing Toolbox™), или локальный сеанс работы с MATLAB. Если вы хотите запустить пример с помощью локального сеанса работы с MATLAB, когда у вас есть Parallel Computing Toolbox, можно изменить глобальную среду выполнения при помощи mapreducer
функция.
Создайте datastore, который ссылается на местоположение папки с данными. Выберите подмножество переменных, чтобы работать с и обработать 'NA'
значения как недостающие данные так, чтобы datastore
заменяет их на NaN
значения. Составьте длинную таблицу, которая содержит данные в datastore.
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 : : : : : : : : : : : : : :
Определите рейсы, которые являются поздними на 10 минут или больше путем определения логической переменной, которая верна для позднего рейса. Эта переменная содержит метки класса. Предварительный просмотр этой переменной включает первые несколько строк.
Y = tt.DepDelay > 10 % Class labels
Y = M×1 tall logical array 1 0 1 1 0 1 0 0 : :
Создайте длинный массив для данных о предикторе.
X = tt{:,1:end-1} % Predictor data
X = M×6 tall double matrix Columns 1 through 5 10 21 3 642 8 10 26 1 1021 8 10 23 5 2055 21 10 23 5 1332 13 10 22 4 629 4 10 28 3 1446 59 10 8 4 928 3 10 10 6 859 11 : : : : : : : : : : Column 6 308 296 480 296 373 308 447 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'
функция приобретения и набор seed генераторов случайных чисел с помощью rng
и tallrng
. Результаты могут варьироваться в зависимости от количества рабочих и среды выполнения для длинных массивов. Для получения дополнительной информации смотрите Управление Где Ваши Запуски Кода (MATLAB).
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 8.2 sec - Pass 2 of 3: Completed in 9.7 sec - Pass 3 of 3: Completed in 6.2 sec Evaluation completed in 24 sec
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.7 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.3 sec Evaluation completed in 2.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 2.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 10 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 8.1 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 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.5 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 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 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 1.8 sec - Pass 3 of 4: Completed in 1.1 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.7 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7.5 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.4 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 8.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.7 sec Evaluation completed in 8.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.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.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.9 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.6 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 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 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 3.6 sec Evaluation completed in 3.6 sec |======================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | | runtime | (observed) | (estim.) | | |======================================================================================| | 1 | Best | 0.1163 | 277.4 | 0.1163 | 0.1163 | 10 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.74 sec Evaluation completed in 0.79 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.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.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec | 2 | Accept | 0.19635 | 17.06 | 0.1163 | 0.12063 | 48298 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.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 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 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.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.5 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.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 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.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 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 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 5.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.9 sec | 3 | Best | 0.1048 | 87.792 | 0.1048 | 0.11151 | 3166 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.67 sec Evaluation completed in 0.73 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.4 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.4 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 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.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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 2 sec - Pass 3 of 4: Completed in 1.9 sec - Pass 4 of 4: Completed in 1.5 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.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 1.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 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.5 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 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.4 sec - Pass 3 of 4: Completed in 0.98 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec | 4 | Best | 0.101 | 153.47 | 0.101 | 0.1056 | 180 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.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.7 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 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 1 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 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1 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.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.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.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 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 2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.1 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7.1 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 1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.5 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 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.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 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.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.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.1 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 1.5 sec - Pass 4 of 4: Completed in 2.1 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 2.1 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 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.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec | 5 | Best | 0.10058 | 156.17 | 0.10058 | 0.1006 | 145 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.73 sec Evaluation completed in 0.79 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 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 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 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.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.5 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.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7.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.7 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 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 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 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 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.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.8 sec - Pass 3 of 4: Completed in 1.6 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 1: Completed in 1.4 sec Evaluation completed in 1.4 sec | 6 | Accept | 0.10155 | 113.72 | 0.10058 | 0.10059 | 1058 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.69 sec Evaluation completed in 0.75 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.2 sec - Pass 3 of 4: Completed in 1.6 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.99 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.4 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.97 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 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 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.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 1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 6.2 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.4 sec - Pass 3 of 4: Completed in 1 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.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 2.6 sec Evaluation completed in 7.2 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.6 sec - Pass 4 of 4: Completed in 2.3 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.4 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 2.2 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.6 sec Evaluation completed in 8.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.3 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.7 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.3 sec - Pass 2 of 4: Completed in 2.6 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.2 sec Evaluation completed in 11 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.6 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.5 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 11 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.2 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.6 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.5 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.7 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec | 7 | Accept | 0.13479 | 312.1 | 0.10058 | 0.10059 | 1 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.62 sec Evaluation completed in 0.67 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 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 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 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 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.2 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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 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 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.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.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.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.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.3 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 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 1.4 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7.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 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 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 1.5 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 8.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.6 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.5 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.6 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 1.6 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec | 8 | Accept | 0.10249 | 190.23 | 0.10058 | 0.10063 | 58 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.67 sec Evaluation completed in 0.73 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.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.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.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 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 5.8 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.4 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 1 sec - Pass 4 of 4: Completed in 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 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 5.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 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 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 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.7 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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.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 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 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 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 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 2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec | 9 | Best | 0.10033 | 164.41 | 0.10033 | 0.1004 | 112 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.98 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 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.98 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.8 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.6 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.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.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.2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 5.6 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.3 sec - Pass 3 of 4: Completed in 0.98 sec - Pass 4 of 4: Completed in 1.7 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.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.8 sec - Pass 3 of 4: Completed in 1.1 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 1: Completed in 1.8 sec Evaluation completed in 1.9 sec | 10 | Accept | 0.10145 | 102.12 | 0.10033 | 0.10042 | 1682 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.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.5 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.2 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.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.1 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 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7.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 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 5.8 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.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.3 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 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.5 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.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 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 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.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 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 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.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.4 sec | 11 | Accept | 0.10047 | 164.08 | 0.10033 | 0.10044 | 114 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.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 1.5 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.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 1.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 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 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 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.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.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.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 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.9 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 8 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 1.6 sec - Pass 4 of 4: Completed in 2.1 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 2.1 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.6 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 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.8 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 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.2 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.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 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.2 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.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.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 1.3 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec | 12 | Accept | 0.10105 | 171.09 | 0.10033 | 0.10061 | 116 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.63 sec Evaluation completed in 0.68 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.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 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7.2 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 1.5 sec - Pass 4 of 4: Completed in 1.3 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.2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.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.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 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 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.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.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 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 1.4 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.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 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.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 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.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 1.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 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 1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.5 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.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 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.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec | 13 | Accept | 0.10105 | 155.32 | 0.10033 | 0.10069 | 122 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.63 sec Evaluation completed in 0.69 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.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.3 sec - Pass 3 of 4: Completed in 0.99 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 5.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 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 1.3 sec - Pass 3 of 4: Completed in 1.6 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 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 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.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.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.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.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.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.6 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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.7 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.9 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.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.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8 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.5 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 8.8 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.6 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 8.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.8 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: 0% complete Evalua...
Mdl = classreg.learning.classif.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.1003 XAtMinObjective: [1×1 table] MinEstimatedObjective: 0.1007 XAtMinEstimatedObjective: [1×1 table] NumObjectiveEvaluations: 30 TotalElapsedTime: 4.7763e+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
содержит переменную отклика, и вы хотите использовать все остающиеся переменные в Tbl
как предикторы, затем задайте переменную отклика при помощи ResponseVarName
.
Если Tbl
содержит переменную отклика, и вы хотите использовать только подмножество остающихся переменных в Tbl
как предикторы, затем задайте формулу при помощи formula
.
Если Tbl
не содержит переменную отклика, затем задает переменную отклика при помощи Y
. Длина переменной отклика и количество строк в Tbl
должно быть равным.
Типы данных: table
ResponseVarName
— Имя переменной откликаTbl
Имя переменной отклика, заданное как имя переменной в Tbl
.
Необходимо задать ResponseVarName
как вектор символов или скаляр строки. Например, если переменная отклика Y
хранится как Tbl.Y
, затем задайте его как 'Y'
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
, включая Y
, как предикторы, когда обучение модель.
Переменная отклика должна быть категориальным, символом, или массивом строк, логическим или числовым вектором или массивом ячеек из символьных векторов. Если Y
символьный массив, затем каждый элемент переменной отклика должен соответствовать одной строке массива.
Это - хорошая практика, чтобы задать порядок классов при помощи ClassNames
аргумент пары "имя-значение".
Типы данных: char |
string
formula
— Объяснительная модель переменной отклика и подмножество переменных предикторовОбъяснительная модель переменной отклика и подмножество переменных предикторов, заданных как вектор символов или скаляр строки в форме 'Y~X1+X2+X3'
. В этой форме, Y
представляет переменную отклика и X1
x2
, и X3
представляйте переменные предикторы.
Задавать подмножество переменных в Tbl
как предикторы для обучения модель, используйте формулу. Если вы задаете формулу, то программное обеспечение не использует переменных в Tbl
это не появляется в formula
.
Имена переменных в формуле должны быть оба именами переменных в Tbl
(Tbl.Properties.VariableNames
) и допустимые идентификаторы MATLAB®.
Можно проверить имена переменных в Tbl
при помощи isvarname
функция. Следующий код возвращает логический 1
TRUE
) для каждой переменной, которая имеет допустимое имя переменной.
cellfun(@isvarname,Tbl.Properties.VariableNames)
Tbl
не допустимы, затем преобразуют их при помощи matlab.lang.makeValidName
функция.Tbl.Properties.VariableNames = matlab.lang.makeValidName(Tbl.Properties.VariableNames);
Типы данных: char |
string
Y
— Метки классаМетки класса, заданные как числовой вектор, категориальный вектор, логический вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Каждая строка Y
представляет классификацию соответствующей строки X
.
При подборе кривой дереву, fitctree
рассматривает NaN
, ''
(пустой символьный вектор), ""
(пустая строка), <missing>
, и <undefined>
значения в Y
быть отсутствующими значениями. fitctree
не использует наблюдения с отсутствующими значениями для Y
в подгонке.
Для числового Y
, считайте подбор кривой дереву регрессии использованием fitrtree
вместо этого.
Типы данных: single
| double
| categorical
| logical
| char
| string
| cell
X
— Данные о предиктореДанные о предикторе, заданные как числовая матрица. Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одному переменному предиктору.
fitctree
рассматривает NaN
значения в X
как отсутствующие значения. fitctree
не использует наблюдения со всеми отсутствующими значениями для X
в подгонке. fitctree
наблюдения использования с некоторыми отсутствующими значениями для X
найти разделения на переменных, для которых эти наблюдения имеют допустимые значения.
Типы данных: single
| double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'CrossVal','on','MinLeafSize',40
задает перекрестное подтвержденное дерево классификации с минимумом 40 наблюдений на лист.Вы не можете использовать аргумент пары "имя-значение" перекрестной проверки наряду с 'OptimizeHyperparameters'
аргумент пары "имя-значение". Можно изменить перекрестную проверку для 'OptimizeHyperparameters'
только при помощи 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение".
'AlgorithmForCategorical'
— Алгоритм для лучшего категориального разделения предиктора'Exact'
| 'PullLeft'
| 'PCA'
| 'OVAbyClass'
Алгоритм, чтобы найти лучшее разделение на категориальном предикторе с категориями C для данных и K ≥ 3 классами, заданными как разделенная запятой пара, состоящая из 'AlgorithmForCategorical'
и одно из следующих значений.
Значение | Описание |
---|---|
'Exact' | Рассмотрите весь 2C–1 – 1 комбинация. |
'PullLeft' | Запустите со всех категорий C на правильной ветви. Рассмотрите перемещение каждой категории к левой ветви, когда это достигает минимальной примеси для классов K среди остающихся категорий. От этой последовательности выберите разделение, которое имеет самую низкую примесь. |
'PCA' | Вычислите счет к каждой категории с помощью скалярного произведения между первым основным компонентом взвешенной ковариационной матрицы (матрицы вероятности класса в центре) и вектором вероятностей класса для той категории. Сортировка баллов в порядке возрастания, и рассматривает весь C – 1 разделение. |
'OVAbyClass' | Запустите со всех категорий C на правильной ветви. Для каждого класса закажите категории на основе их вероятности для того класса. Для первого класса рассмотрите перемещение каждой категории к левой ветви в порядке, записав примесный критерий при каждом перемещении. Повторитесь для остающихся классов. От этой последовательности выберите разделение, которое имеет минимальную примесь. |
fitctree
автоматически выбирает оптимальное подмножество алгоритмов для каждого разделения с помощью известного количества классов и уровней категориального предиктора. Для K = 2 класса, fitctree
всегда выполняет точный поиск. Чтобы задать конкретный алгоритм, используйте 'AlgorithmForCategorical'
аргумент пары "имя-значение".
Для получения дополнительной информации смотрите Разделяющие Категориальные Предикторы в Деревьях Классификации.
Пример: 'AlgorithmForCategorical','PCA'
'CategoricalPredictors'
— Категориальный список предикторов'all'
Категориальный список предикторов, заданный как разделенная запятой пара, состоящая из 'CategoricalPredictors'
и одно из значений в этой таблице.
Значение | Описание |
---|---|
Вектор положительных целых чисел | Каждая запись в векторе является значением индекса, соответствующим столбцу данных о предикторе (X или Tbl ) это содержит категориальную переменную. |
Логический вектор | true запись означает что соответствующий столбец данных о предикторе (X или Tbl ) категориальная переменная. |
Символьная матрица | Каждая строка матрицы является именем переменного предиктора. Имена должны совпадать с записями в PredictorNames . Заполните имена дополнительными пробелами, таким образом, каждая строка символьной матрицы имеет ту же длину. |
Массив строк или массив ячеек из символьных векторов | Каждый элемент в массиве является именем переменного предиктора. Имена должны совпадать с записями в PredictorNames . |
все | Все предикторы являются категориальными. |
По умолчанию, если данные о предикторе находятся в таблице (Tbl
), fitctree
принимает, что переменная является категориальной, если это - логический вектор, неупорядоченный категориальный вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Если данные о предикторе являются матрицей (X
), fitctree
принимает, что все предикторы непрерывны. Чтобы идентифицировать любые другие предикторы как категориальные предикторы, задайте их при помощи 'CategoricalPredictors'
аргумент пары "имя-значение".
Пример: 'CategoricalPredictors','all'
Типы данных: single
| double
| logical
| char
| string
| cell
'ClassNames'
— Имена классов, чтобы использовать в обученииИмена классов, чтобы использовать в обучении, заданном как разделенная запятой пара, состоящая из 'ClassNames'
и категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов. ClassNames
должен иметь совпадающий тип данных как Y
.
Если ClassNames
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
Используйте ClassNames
к:
Закажите классы во время обучения.
Задайте порядок любой размерности аргумента ввода или вывода, которая соответствует порядку класса. Например, используйте ClassNames
задавать порядок размерностей Cost
или порядок следования столбцов баллов классификации, возвращенных predict
.
Выберите подмножество классов для обучения. Например, предположите что набор всех отличных имен классов в Y
{'a','b','c'}
. Обучать модель с помощью наблюдений от классов 'a'
и 'c'
только, задайте 'ClassNames',{'a','c'}
.
Значение по умолчанию для ClassNames
набор всех отличных имен классов в Y
.
Пример: 'ClassNames',{'b','g'}
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
'Cost'
— Стоимость misclassificationСтоимость misclassification точки, заданной как разделенная запятой пара, состоящая из 'Cost'
и одно из следующего:
Квадратная матрица, где Cost(i,j)
стоимость классификации точки в класс j
если его истинным классом является i
(т.е. строки соответствуют истинному классу, и столбцы соответствуют предсказанному классу). Чтобы задать класс заказывают для соответствующих строк и столбцов Cost
, также задайте ClassNames
аргумент пары "имя-значение".
Структуры
наличие двух полей: S.ClassNames
содержа названия группы как переменную совпадающего типа данных как Y
, и S.ClassificationCosts
содержа матрицу стоимости.
Значением по умолчанию является Cost(i,j)=1
если i~=j
, и Cost(i,j)=0
если i=j
.
Типы данных: single
| double
| struct
'MaxDepth'
— Максимальная древовидная глубинаМаксимальная древовидная глубина, заданная как разделенная запятой пара, состоящая из 'MaxDepth'
и положительное целое число. Задайте значение для этого аргумента, чтобы возвратить дерево, которое имеет меньше уровней и требует, чтобы меньше прошли через длинный массив, чтобы вычислить. Обычно алгоритм fitctree
берет один проход через данные и дополнительную передачу для каждого древовидного уровня. Функция не устанавливает максимальную древовидную глубину по умолчанию.
Эта опция применяется только, когда вы используете fitctree
на длинных массивах. Смотрите Длинные массивы для получения дополнительной информации.
'MaxNumCategories'
— Максимальные уровни категории
(значение по умолчанию) | неотрицательное скалярное значениеМаксимальные уровни категории, заданные как разделенная запятой пара, состоящая из 'MaxNumCategories'
и неотрицательное скалярное значение. fitctree
разделяет категориальный предиктор с помощью точного алгоритма поиска, если предиктор имеет в большей части MaxNumCategories
уровни в узле разделения. В противном случае, fitctree
находит лучшее категориальное разделение с помощью одного из неточных алгоритмов.
Передача маленького значения может привести к потере точности, и передача большого значения может увеличить перегрузка памяти и время вычисления.
Пример: 'MaxNumCategories',8
'MaxNumSplits'
— Максимальное количество разделений решенияsize(X,1) - 1
(значение по умолчанию) | положительное целое числоМаксимальное количество разделений решения (или узлы ветви), заданный как разделенная запятой пара, состоящая из 'MaxNumSplits'
и положительное целое число. fitctree
разделения MaxNumSplits
или меньше узлов ветви. Для получения дополнительной информации о разделяющем поведении см. Алгоритмы.
Пример: 'MaxNumSplits',5
Типы данных: single
| double
'MergeLeaves'
— Листовой флаг слияния'on'
(значение по умолчанию) | 'off'
Листовой флаг слияния, заданный как разделенная запятой пара, состоящая из 'MergeLeaves'
и 'on'
или 'off'
.
Если MergeLeaves
'on'
, затем fitctree
:
Листы слияний, которые происходят из того же родительского узла, и это дает к сумме значений риска, больше или равных риску, сопоставленному с родительским узлом
Оценивает оптимальную последовательность сокращенных поддеревьев, но не сокращает дерево классификации
В противном случае, fitctree
не объединяет листы.
Пример: 'MergeLeaves','off'
'MinLeafSize'
— Минимальное количество наблюдений вершины
(значение по умолчанию) | положительное целочисленное значениеМинимальное количество наблюдений вершины, заданных как разделенная запятой пара, состоящая из 'MinLeafSize'
и положительное целочисленное значение. Каждый лист имеет, по крайней мере, MinLeafSize
наблюдения на древовидный лист. Если вы предоставляете оба MinParentSize
и MinLeafSize
, fitctree
использует установку, которая дает большие листы: MinParentSize = max(MinParentSize,2*MinLeafSize)
.
Пример: 'MinLeafSize',3
Типы данных: single
| double
'MinParentSize'
— Минимальное количество наблюдений узла ветви
(значение по умолчанию) | положительное целочисленное значениеМинимальное количество наблюдений узла ветви, заданных как разделенная запятой пара, состоящая из 'MinParentSize'
и положительное целочисленное значение. Каждый узел ветви в дереве имеет, по крайней мере, MinParentSize
наблюдения. Если вы предоставляете оба MinParentSize
и MinLeafSize
, fitctree
использует установку, которая дает большие листы: MinParentSize = max(MinParentSize,2*MinLeafSize)
.
Пример: 'MinParentSize',8
Типы данных: single
| double
'NumBins'
— Количество интервалов для числовых предикторов[]
(пустое) (значение по умолчанию) | положительный целочисленный скалярКоличество интервалов для числовых предикторов, заданных как разделенная запятой пара, состоящая из 'NumBins'
и положительный целочисленный скаляр.
Если 'NumBins'
значение пусто (значение по умолчанию), затем программное обеспечение не делает интервала никакие предикторы.
Если вы задаете 'NumBins'
значение как положительный целочисленный скаляр, затем интервалы программного обеспечения каждый числовой предиктор в конкретное количество равновероятных интервалов, и затем выращивает деревья на индексах интервала вместо исходных данных.
Если 'NumBins'
значение превышает номер (u) уникальных значений для предиктора, затем fitctree
интервалы предиктор в интервалы u.
fitctree
не делает интервала категориальные предикторы.
Когда вы используете большой обучающий набор данных, эта опция раскладывания ускоряет обучение, но вызывает потенциальное уменьшение в точности. Можно попробовать 'NumBins',50
во-первых, и затем измените 'NumBins'
значение в зависимости от точности и учебной скорости.
Обученная модель хранит ребра интервала в BinEdges
свойство.
Пример: 'NumBins',50
Типы данных: single
| double
'NumVariablesToSample'
— Количество предикторов, чтобы выбрать наугад для каждого разделения'all'
(значение по умолчанию) | положительное целочисленное значениеКоличество предикторов, чтобы выбрать наугад для каждого разделения, заданного как разделенная запятой пара, состоящая из 'NumVariablesToSample'
и положительное целочисленное значение. В качестве альтернативы можно задать 'all'
использовать все доступные предикторы.
Если обучающие данные включают много предикторов, и вы хотите анализировать важность предиктора, затем задать 'NumVariablesToSample'
как 'all'
. В противном случае программное обеспечение не может выбрать некоторые предикторы, недооценив их важность.
Чтобы воспроизвести случайные выборы, необходимо установить seed генератора случайных чисел при помощи rng
и задайте 'Reproducible',true
.
Пример: 'NumVariablesToSample',3
Типы данных: char |
string
| single
| double
'PredictorNames'
— Имена переменного предиктораИмена переменного предиктора, заданные как разделенная запятой пара, состоящая из 'PredictorNames'
и массив строк уникальных имен или массив ячеек уникальных векторов символов. Функциональность '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'
(значение по умолчанию) | 'curvature'
| 'interaction-curvature'
Алгоритм раньше выбирал лучший предиктор разделения в каждом узле, заданном как разделенная запятой пара, состоящая из 'PredictorSelection'
и значение в этой таблице.
Значение | Описание |
---|---|
'allsplits' | Стандартный CART — Выбирает предиктор разделения, который максимизирует усиление критерия разделения по всем возможным разделениям всех предикторов [1]. |
'curvature' | Тест искривления — Выбирает предиктор разделения, который минимизирует p - значение тестов хи-квадрата независимости между каждым предиктором и ответом [4]. Учебная скорость похожа на стандартный CART. |
'interaction-curvature' | Тест взаимодействия — Выбирает предиктор разделения, который минимизирует p - значение тестов хи-квадрата независимости между каждым предиктором и ответом, и это минимизирует p - значение теста хи-квадрата независимости между каждой парой предикторов и ответом [3]. Учебная скорость может быть медленнее, чем стандартный CART. |
Для 'curvature'
и 'interaction-curvature'
, если все тесты дают к p - значения, больше, чем 0,05, то fitctree
остановки, разделяющие узлы.
Стандартный CART имеет тенденцию выбирать предикторы разделения, содержащие много отличных значений, например, непрерывные переменные, по тем, которые содержат немного отличных значений, например, категориальные переменные [4]. Рассмотрите определение искривления или теста взаимодействия, если какое-либо следующее верно:
Если существуют предикторы, которые имеют относительно меньше отличных значений, чем другие предикторы, например, если набор данных предиктора неоднороден.
Если анализ важности предиктора является вашей целью. Для больше на оценке важности предиктора, смотрите predictorImportance
и введение в выбор признаков.
Деревья, выращенные с помощью стандартного CART, не чувствительны к взаимодействиям переменного предиктора. Кроме того, такие деревья, менее вероятно, идентифицируют важные переменные в присутствии многих несоответствующих предикторов, чем приложение теста взаимодействия. Поэтому, чтобы составлять взаимодействия предиктора и идентифицировать переменные важности в присутствии многих несоответствующих переменных, задайте тест взаимодействия [3].
Скорость прогноза незатронута значением 'PredictorSelection'
.
Для получения дополнительной информации, на как fitctree
выбирает предикторы разделения, см. Правила Расщепления узлов и Выберите Split Predictor Selection Technique.
Пример: 'PredictorSelection','curvature'
'Prior'
— Априорные вероятности'empirical'
(значение по умолчанию) | 'uniform'
| вектор скалярных значений | структураАприорные вероятности для каждого класса, заданного как разделенная запятой пара, состоящая из 'Prior'
и одно из следующего:
Вектор символов или скаляр строки.
Вектор (одно скалярное значение для каждого класса). Чтобы задать класс заказывают для соответствующих элементов 'Prior'
, также задайте ClassNames
аргумент пары "имя-значение".
Структуры
с двумя полями.
S.ClassNames
содержит имена классов как переменную того же типа как переменная отклика в Y
или Tbl
.
S.ClassProbs
содержит вектор соответствующих вероятностей.
Если вы устанавливаете значения для обоих 'Weights'
и 'Prior'
, fitctree
нормирует веса в каждом классе, чтобы составить в целом значение априорной вероятности соответствующего класса.
Пример: 'Prior','uniform'
Типы данных: char |
string
| single
| double
| struct
'Prune'
— Отметьте, чтобы оценить оптимальную последовательность сокращенных поддеревьев'on'
(значение по умолчанию) | 'off'
Отметьте, чтобы оценить оптимальную последовательность сокращенных поддеревьев, заданных как разделенная запятой пара, состоящая из 'Prune'
и 'on'
или 'off'
.
Если Prune
'on'
, затем fitctree
выращивает дерево классификации, не сокращая его, но оценивает оптимальную последовательность сокращенных поддеревьев. В противном случае, fitctree
выращивает дерево классификации, не оценивая оптимальную последовательность сокращенных поддеревьев.
Сократить обученный ClassificationTree
модель, передайте его prune
.
Пример: 'Prune','off'
'PruneCriterion'
— Сокращение критерия'error'
(значение по умолчанию) | 'impurity'
Сокращение критерия, заданного как разделенная запятой пара, состоящая из 'PruneCriterion'
и 'error'
или 'impurity'
.
Если вы задаете 'impurity'
, затем fitctree
использует примесную меру, заданную 'SplitCriterion'
аргумент пары "имя-значение".
Для получения дополнительной информации смотрите Ошибку Примеси и Узла.
Пример: 'PruneCriterion','impurity'
'Reproducible'
— Отметьте, чтобы осуществить воспроизводимостьfalse
(логический 0
) (значение по умолчанию) | true
(логический 1
)Отметьте, чтобы осуществить воспроизводимость по повторным запускам обучения модель, заданная как разделенная запятой пара, состоящая из 'Reproducible'
и любой false
или true
.
Если 'NumVariablesToSample'
не 'all'
, затем программное обеспечение выбирает предикторы наугад для каждого разделения. Чтобы воспроизвести случайные выборы, необходимо задать 'Reproducible',true
и набор seed генератора случайных чисел при помощи rng
. Обратите внимание на то, что установка 'Reproducible'
к true
может замедлить обучение.
Пример: 'Reproducible',true
Типы данных: логический
'ResponseName'
— Имя переменной отклика'Y'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя переменной отклика, заданное как разделенная запятой пара, состоящая из 'ResponseName'
и вектор символов или скаляр строки представление имени переменной отклика.
Эта пара "имя-значение" не допустима при использовании ResponseVarName
или formula
входные параметры.
Пример: 'ResponseName','IrisType'
Типы данных: char |
string
'ScoreTransform'
— Выиграйте преобразование'none'
(значение по умолчанию) | 'doublelogit'
| 'invlogit'
| 'ismax'
| 'logit'
| указатель на функцию |...Выиграйте преобразование, заданное как разделенная запятой пара, состоящая из 'ScoreTransform'
и вектор символов, представьте в виде строки скаляр или указатель на функцию.
Эта таблица суммирует доступные векторы символов и скаляры строки.
Значение | Описание |
---|---|
'doublelogit' | 1/(1 + e –2x) |
'invlogit' | журнал (x / (1 – x)) |
'ismax' | Устанавливает счет к классу с самым большим счетом к 1 , и устанавливает музыку ко всем другим классам к 0 |
'logit' | 1/(1 + e –x) |
'none' или 'identity' | x (никакое преобразование) |
'sign' | – 1 для x <0 0 для x = 0 1 для x> 0 |
'symmetric' | 2x – 1 |
'symmetricismax' | Устанавливает счет к классу с самым большим счетом к 1 , и устанавливает музыку ко всем другим классам к –1 |
'symmetriclogit' | 2/(1 + e –x) – 1 |
Для функции MATLAB или функции вы задаете, используете ее указатель на функцию в счете, преобразовывают. Указатель на функцию должен принять матрицу (исходные баллы) и возвратить матрицу, одного размера (преобразованные баллы).
Пример: 'ScoreTransform','logit'
Типы данных: char |
string
| function_handle
'SplitCriterion'
— Разделите критерий'gdi'
(значение по умолчанию) | 'twoing'
| 'deviance'
Разделите критерий, заданный как разделенная запятой пара, состоящая из 'SplitCriterion'
и 'gdi'
(Индекс разнообразия Джини), 'twoing'
для правила twoing или 'deviance'
для максимального сокращения отклонения (также известный как перекрестную энтропию).
Для получения дополнительной информации смотрите Ошибку Примеси и Узла.
Пример: 'SplitCriterion','deviance'
'Surrogate'
— Суррогатное решение разделяет флаг'off'
(значение по умолчанию) | 'on'
| 'all'
| положительное целочисленное значениеСуррогатное решение разделяет флаг, заданный как разделенная запятой пара, состоящая из 'Surrogate'
и 'on'
'off'
все
, или положительное целочисленное значение.
Когда установлено в 'on'
, fitctree
находит самое большее 10 суррогатных разделений в каждом узле ветви.
Когда установлено в 'all'
, fitctree
находит все суррогатные разделения в каждом узле ветви. 'all'
установка может использовать продолжительное время и память.
Когда установлено в положительное целочисленное значение, fitctree
находит самое большее конкретное количество суррогатных разделений в каждом узле ветви.
Используйте суррогатные разделения, чтобы улучшить точность прогнозов для данных с отсутствующими значениями. Установка также позволяет вам вычислить меры прогнозирующей ассоциации между предикторами. Для получения дополнительной информации см. Правила Расщепления узлов.
Пример: 'Surrogate','on'
Типы данных: single
| double
| char
| string
'Weights'
— Веса наблюденияones(size(X,1),1)
(значение по умолчанию) | вектор скалярных значений | имя переменной в Tbl
Веса наблюдения, заданные как разделенная запятой пара, состоящая из 'Weights'
и вектор скалярных значений или имя переменной в Tbl
. Программное обеспечение взвешивает наблюдения в каждой строке X
или Tbl
с соответствующим значением в Weights
. Размер Weights
должен равняться количеству строк в X
или Tbl
.
Если вы задаете входные данные как таблицу Tbl
, затем Weights
может быть имя переменной в Tbl
это содержит числовой вектор. В этом случае необходимо задать Weights
как вектор символов или скаляр строки. Например, если вектор весов W
хранится как Tbl.W
, затем задайте его как 'W'
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
, включая W
, как предикторы, когда обучение модель.
fitctree
нормирует веса в каждом классе, чтобы составить в целом значение априорной вероятности соответствующего класса.
Типы данных: single
| double
| char
| string
'CrossVal'
— Отметьте, чтобы вырастить перекрестное подтвержденное дерево решений'off'
(значение по умолчанию) | 'on'
Отметьте, чтобы вырастить перекрестное подтвержденное дерево решений, заданное как разделенная запятой пара, состоящая из 'CrossVal'
и 'on'
или 'off'
.
Если 'on'
, fitctree
выращивает перекрестное подтвержденное дерево решений с 10 сгибами. Можно заменить эту установку перекрестной проверки с помощью одного из 'KFold'
, 'Holdout'
, 'Leaveout'
, или 'CVPartition'
аргументы в виде пар имя-значение. Можно только использовать один из этих четырех аргументов при создании перекрестного подтвержденного дерева.
В качестве альтернативы перекрестный подтвердите tree
позже использование crossval
метод.
Пример: 'CrossVal','on'
'CVPartition'
— Раздел для перекрестного подтвержденного дереваcvpartition
объектРаздел, чтобы использовать в перекрестном подтвержденном дереве, заданном как разделенная запятой пара, состоящая из 'CVPartition'
и объект, созданный с помощью cvpartition
.
Если вы используете 'CVPartition'
, вы не можете использовать ни один 'KFold'
, 'Holdout'
, или 'Leaveout'
аргументы в виде пар имя-значение.
'Holdout'
— Часть данных для валидации затяжки
(значение по умолчанию) | скалярное значение в области значений [0,1]
Часть данных используется в валидации затяжки, заданной как разделенная запятой пара, состоящая из 'Holdout'
и скалярное значение в области значений [0,1]
. Валидация затяжки тестирует заданную часть данных и использует остальную часть данных в обучении.
Если вы используете 'Holdout'
, вы не можете использовать ни один 'CVPartition'
, 'KFold'
, или 'Leaveout'
аргументы в виде пар имя-значение.
Пример: 'Holdout',0.1
Типы данных: single
| double
'KFold'
— Количество сгибов
(значение по умолчанию) | положительное целочисленное значение, больше, чем 1Количество сгибов, чтобы использовать в перекрестном подтвержденном классификаторе, заданном как разделенная запятой пара, состоящая из 'KFold'
и положительное целочисленное значение, больше, чем 1. Если вы задаете, например, 'KFold',k
, затем программное обеспечение:
Случайным образом делит данные в наборы k
Для каждого набора, резервирует набор как данные о валидации и обучает модель с помощью другого k – 1 набор
Хранит k
компактные, обученные модели в ячейках k
- 1 вектор ячейки в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать одну из этих четырех опций только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'KFold',8
Типы данных: single
| double
'Leaveout'
— Флаг перекрестной проверки "Пропускает один"'off'
(значение по умолчанию) | 'on'
Флаг перекрестной проверки "Пропускает один", заданный как разделенная запятой пара, состоящая из 'Leaveout'
и 'on'
или 'off'
. Задайте 'on'
чтобы использовать перекрестную проверку "пропускают один".
Если вы используете 'Leaveout'
, вы не можете использовать ни один 'CVPartition'
, 'Holdout'
, или 'KFold'
аргументы в виде пар имя-значение.
Пример: 'Leaveout','on'
'OptimizeHyperparameters'
— Параметры, чтобы оптимизировать'none'
(значение по умолчанию) | 'auto'
| 'all'
| массив строк или массив ячеек имеющих право названий параметра | вектор optimizableVariable
объектыПараметры, чтобы оптимизировать, заданный как разделенная запятой пара, состоящая из 'OptimizeHyperparameters'
и одно из следующего:
'none'
— Не оптимизировать.
'auto'
— Используйте {'MinLeafSize'}
'all'
— Оптимизируйте все имеющие право параметры.
Массив строк или массив ячеек имеющих право названий параметра
Вектор optimizableVariable
объекты, обычно выход hyperparameters
Оптимизация пытается минимизировать потерю перекрестной проверки (ошибка) для fitctree
путем варьирования параметров. Для получения информации о потере перекрестной проверки (хотя в различном контексте), смотрите Потерю Классификации. Чтобы управлять типом перекрестной проверки и другими аспектами оптимизации, используйте HyperparameterOptimizationOptions
пара "имя-значение".
'OptimizeHyperparameters'
значения заменяют любые значения, вы устанавливаете использование других аргументов пары "имя-значение". Например, установка 'OptimizeHyperparameters'
к 'auto'
вызывает '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
.
По умолчанию итеративное отображение появляется в командной строке, и графики появляются согласно количеству гиперпараметров в оптимизации. Для оптимизации и графиков, целевая функция является журналом (1 + потеря перекрестной проверки) для регрессии и misclassification уровня для классификации. Чтобы управлять итеративным отображением, установите Verbose
поле 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение". Чтобы управлять графиками, установите ShowPlots
поле 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение".
Для примера смотрите, Оптимизируют Дерево Классификации.
Пример: 'auto'
'HyperparameterOptimizationOptions'
— Опции для оптимизацииОпции для оптимизации, заданной как разделенная запятой пара, состоящая из 'HyperparameterOptimizationOptions'
и структура. Этот аргумент изменяет эффект OptimizeHyperparameters
аргумент пары "имя-значение". Все поля в структуре являются дополнительными.
Имя поля | Значения | Значение по умолчанию |
---|---|---|
Optimizer |
| 'bayesopt' |
AcquisitionFunctionName |
Приобретение функционирует, чьи имена включают | 'expected-improvement-per-second-plus' |
MaxObjectiveEvaluations | Максимальное количество оценок целевой функции. | 30 для 'bayesopt' или 'randomsearch' , и целая сетка для 'gridsearch' |
MaxTime | Ограничение по времени, заданное как положительное действительное. Ограничение по времени находится в секундах, как измерено | Inf |
NumGridDivisions | Для 'gridsearch' , количество значений в каждой размерности. Значение может быть вектором положительных целых чисел, дающих количество значений для каждой размерности или скаляр, который применяется ко всем размерностям. Это поле проигнорировано для категориальных переменных. | 10
|
ShowPlots | Логическое значение, указывающее, показать ли графики. Если true , это поле строит лучшее значение целевой функции против номера итерации. Если существуют один или два параметра оптимизации, и если Optimizer 'bayesopt' , затем ShowPlots также строит модель целевой функции против параметров. | true |
SaveIntermediateResults | Логическое значение, указывающее, сохранить ли результаты когда Optimizer 'bayesopt' . Если true , это поле перезаписывает переменную рабочей области под названием 'BayesoptResults' в каждой итерации. Переменной является BayesianOptimization объект. | false |
Verbose | Отобразитесь к командной строке.
Для получения дополнительной информации смотрите | 1
|
UseParallel | Логическое значение, указывающее, запустить ли Байесовую оптимизацию параллельно, которая требует Parallel Computing Toolbox™. Из-за невоспроизводимости синхронизации параллели, параллельная Байесова оптимизация не обязательно дает к восстанавливаемым результатам. Для получения дополнительной информации смотрите Параллельную Байесовую Оптимизацию. | false |
Repartition | Логическое значение, указывающее, повторно разделить ли перекрестную проверку в каждой итерации. Если
| false |
Используйте не больше, чем одни из следующих трех имен полей. | ||
CVPartition | cvpartition объект, как создано cvpartition . | 'Kfold',5 если вы не задаете поля перекрестной проверки |
Holdout | Скаляр в области значений (0,1) представление части затяжки. | |
Kfold | Целое число, больше, чем 1. |
Пример: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)
Типы данных: struct
tree
— Дерево классификацииДерево классификации, возвращенное как объект дерева классификации.
Используя 'CrossVal'
, 'KFold'
, 'Holdout'
, 'Leaveout'
, или 'CVPartition'
опции приводят к дереву класса ClassificationPartitionedModel
. Вы не можете использовать разделенное дерево в прогнозе, таким образом, этот вид дерева не имеет predict
метод. Вместо этого используйте kfoldPredict
предсказать ответы для наблюдений, не используемых в обучении.
В противном случае, tree
имеет класс ClassificationTree
, и можно использовать predict
метод, чтобы сделать прогнозы.
curvature test является статистическим тестом, оценивающим нулевую гипотезу, что две переменные являются несвязанными.
Тест искривления между переменным предиктором x и y проводится с помощью этого процесса.
Если x непрерывен, то раздел это в его квартили. Создайте номинальную переменную, что наблюдения интервалов, согласно которому разделу раздела они занимают. Если существуют отсутствующие значения, то создают дополнительный интервал для них.
Для каждого уровня в разделенном предикторе j = 1... J и класс в ответе k = 1..., K, вычисляют взвешенную пропорцию наблюдений в классе k
wi является весом наблюдения i, , I является функцией индикатора, и n является объемом выборки. Если все наблюдения имеют тот же вес, то , где njk является количеством наблюдений на уровне j предиктора, которые находятся в классе k.
Вычислите тестовую статистическую величину
, то есть, безусловная вероятность наблюдения предиктора на уровне j. , это - безусловная вероятность наблюдения класса k. Если n является достаточно большим, то t распределяется как χ 2 с (K – 1) (J – 1) степени свободы.
Если p - значение для теста меньше 0.05, то отклоните нулевую гипотезу, что нет никакой ассоциации между x и y.
При определении лучшего предиктора разделения в каждом узле стандартный алгоритм CART предпочитает выбирать непрерывные предикторы, которые имеют много уровней. Иногда, такой выбор может быть побочным и может также замаскировать более важные предикторы, которые имеют меньше уровней, таких как категориальные предикторы.
Тест искривления может быть применен вместо стандартного CART, чтобы определить лучший предиктор разделения в каждом узле. В этом случае лучший переменный предиктор разделения является тем, который минимизирует значительный p - значения (те меньше чем 0,05) тестов искривления между каждым предиктором и переменной отклика. Такой выбор устойчив к количеству уровней в отдельных предикторах.
Если уровни предиктора чисты для конкретного класса, то fitctree
слияния те уровни. Поэтому на шаге 3 алгоритма, J может быть меньше фактического количества уровней в предикторе. Например, если x имеет 4 уровня, и все наблюдения в интервалах 1 и 2 принадлежат классу 1, то те уровни чисты для класса 1. Следовательно, fitctree
объединяет наблюдения в интервалах 1 и 2, и J уменьшает до 3.
Для получения дополнительной информации о том, как тест искривления применяется к растущим деревьям классификации, см. Правила Расщепления узлов и [4].
ClassificationTree
узлы разделений или на основе impurity или на основе node error.
Примесь означает одну из нескольких вещей, в зависимости от вашего выбора SplitCriterion
аргумент пары "имя-значение":
Индекс разнообразия Джини (gdi
) — Индекс Gini узла
где суммой является по классам i в узле, и p (i) является наблюдаемой частью классов с классом i, которые достигают узла. Узел со всего одним классом (узел pure) сделал, чтобы Gini индексировал 0
; в противном случае индекс Gini положителен. Таким образом, индекс Gini является мерой примеси узла.
Отклонение ('deviance'
) — С p (i) задал то же самое что касается индекса Gini, отклонение узла
Чистый узел имеет отклонение 0
; в противном случае отклонение положительно.
Правило Twoing ('twoing'
) — Twoing не является мерой по чистоте узла, но является различной мерой для решения, как разделить узел. Позволенный L (i) обозначает часть членов класса i в левом дочернем узле после разделения, и R (i) обозначает часть членов класса i в правильном дочернем узле после разделения. Выберите критерий разделения, чтобы максимизировать
где P (L) и P (R) является частями наблюдений, которые разделяют налево и право соответственно. Если выражение является большим, разделение сделало каждый дочерний узел более чистым. Точно так же, если выражение мало, разделение сделало каждый дочерний узел похожим друг на друга, и поэтому похожим на родительский узел. Разделение не увеличило чистоту узла.
Ошибка узла — ошибка узла является частью неправильно классифицированных классов в узле. Если j является классом с наибольшим числом учебных выборок в узле, ошибка узла
1 – p (j).
interaction test является статистическим тестом, который оценивает нулевую гипотезу, что нет никакого взаимодействия между парой переменных предикторов и переменной отклика.
Тест взаимодействия, оценивающий ассоциацию между переменными предикторами x 1 и x 2 относительно y, проводится с помощью этого процесса.
Если x 1 или x 2 непрерывен, то раздел что переменная в ее квартили. Создайте номинальную переменную, что наблюдения интервалов, согласно которому разделу раздела они занимают. Если существуют отсутствующие значения, то создают дополнительный интервал для них.
Создайте номинальную переменную z с J = J 1J2 уровни, который присваивает индекс наблюдению i, согласно которым уровням x 1 и x 2 это принадлежит. Удалите любые уровни z, которые не соответствуют никаким наблюдениям.
Проведите тест искривления между z и y.
При росте деревьев решений, если в данных существуют важные взаимодействия между парами предикторов, но существует также много других менее важных предикторов, то стандартный CART имеет тенденцию пропускать важные взаимодействия. Однако проведение искривления и тестов взаимодействия для выбора предиктора вместо этого может улучшить обнаружение важных взаимодействий, которые могут дать к более точным деревьям решений.
Для получения дополнительной информации о том, как тест взаимодействия применяется к росту деревьев решений, смотрите Тест Искривления, Правила Расщепления узлов и [3].
predictive measure of association является значением, которое указывает, что подобие между решением управляет что наблюдения разделения. Среди всех возможных разделений решения, которые сравниваются с оптимальным разделением (найденный путем роста дерева), лучшее суррогатное разделение решения дает к максимальной прогнозирующей мере ассоциации. Второсортное суррогатное разделение имеет вторую по величине прогнозирующую меру ассоциации.
Предположим, что 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.
surrogate decision split является альтернативой оптимальному разделению решения в данном узле в дереве решений. Оптимальное разделение найдено путем роста дерева; суррогатное разделение использует подобный или коррелированый переменный предиктор и критерий разделения.
Когда значение оптимального предиктора разделения для наблюдения отсутствует, наблюдение отправляется в левый или правый дочерний узел с помощью лучшего суррогатного предиктора. Когда значение лучшего суррогатного предиктора разделения для наблюдения также отсутствует, наблюдение отправляется в левый или правый дочерний узел с помощью второсортного суррогатного предиктора и так далее. Разделения кандидата сортируются в порядке убывания их прогнозирующей мерой ассоциации.
По умолчанию, Prune
'on'
. Однако эта спецификация не сокращает дерево классификации. Чтобы сократить обученное дерево классификации, передайте дерево классификации prune
.
После обучения модель можно сгенерировать код C/C++, который предсказывает метки для новых данных. Генерация кода C/C++ требует MATLAB Coder™. Для получения дополнительной информации смотрите Введение в Генерацию кода.
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
определяет лучший способ разделить узел t с помощью xi путем максимизации примесного усиления (ΔI) по всем кандидатам разделения. Таким образом, для всех кандидатов разделения в 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 с помощью двух различных суррогатных разделений. Например, предположите предикторы, x 1 и x 2 является лучшими и почти лучшими суррогатами, соответственно, для предиктора xi, i ∉ {1,2}, в узле t. Если наблюдение m предиктора, который пропускает xi (т.е. xmi отсутствует), но x m 1 не отсутствует, то x 1 является суррогатным предиктором для наблюдения xmi. Если наблюдения x (m + 1), i и x (m + 1), 1 отсутствует, но x (m + 1), 2 не отсутствует, то x 2 является суррогатным предиктором для наблюдения m + 1.
fitctree
использует соответствующую примесную формулу усиления. Таким образом, если fitctree
сбои, чтобы присвоить все недостающие наблюдения в узле t к дочерним узлам с помощью суррогатных разделений, затем примесное усиление являются ΔIU. В противном случае, fitctree
использование ΔI для примесного усиления.
fitctree
выбирает кандидата, который дает к самому большому примесному усилению.
fitctree
разделяет переменный предиктор в точке разделения, которая максимизирует примесное усиление.
Для теста искривления (то есть, если PredictorSelection
'curvature'
):
fitctree
проводит тесты искривления между каждым предиктором и ответом для наблюдений в узле t.
Если весь p - значения - по крайней мере 0,05, то fitctree
не разделяет узел t.
Если существует минимальный p - значение, то fitctree
выбирает соответствующий предиктор, чтобы разделить узел t.
Если больше чем один p - значение является нулем, должным потерять значимость, то fitctree
применяет стандартный CART к соответствующим предикторам, чтобы выбрать предиктор разделения.
Если fitctree
выбирает предиктор разделения, затем он использует стандартный CART, чтобы выбрать точку разделения (см. шаг 4 в стандартном процессе CART).
Для теста взаимодействия (то есть, если PredictorSelection
'interaction-curvature'
):
Для наблюдений в узле t, fitctree
проводит тесты искривления между каждым предиктором и ответом и тесты взаимодействия между каждой парой предикторов и ответом.
Если весь p - значения - по крайней мере 0,05, то fitctree
не разделяет узел t.
Если существует минимальный p - значение, и это - результат теста искривления, то fitctree
выбирает соответствующий предиктор, чтобы разделить узел t.
Если существует минимальный p - значение, и это - результат теста взаимодействия, то fitctree
выбирает предиктор разделения с помощью стандартного CART на соответствующей паре предикторов.
Если больше чем один p - значение является нулем, должным потерять значимость, то fitctree
применяет стандартный CART к соответствующим предикторам, чтобы выбрать предиктор разделения.
Если fitctree
выбирает предиктор разделения, затем он использует стандартный CART, чтобы выбрать точку разделения (см. шаг 4 в стандартном процессе CART).
Если MergeLeaves
'on'
и PruneCriterion
'error'
(которые являются значениями по умолчанию для этих аргументов пары "имя-значение"), затем программное обеспечение применяет сокращение только к листам и при помощи ошибки классификации. Эта спецификация составляет слияние листов, которые совместно используют самый популярный класс на лист.
Размещать MaxNumSplits
, fitctree
разделения все узлы в текущем layer, и затем считают количество узлов ветви. Слой является набором узлов, которые являются равноотстоящими от корневого узла. Если количество узлов ветви превышает MaxNumSplits
, fitctree
выполняет эту процедуру:
Определите, сколько узлов ветви в текущем слое должно быть не разделено так, чтобы было в большей части MaxNumSplits
узлы ветви.
Сортировка узлов ветви их примесными усилениями.
Неразделенный количество наименее успешных ветвей.
Возвратите дерево решений, выращенное до сих пор.
Эта процедура производит максимально сбалансированные деревья.
Слой узлов ветви разделений программного обеспечения слоем до по крайней мере одного из этих событий происходит:
Существует MaxNumSplits
узлы ветви.
Предложенное разделение заставляет количество наблюдений по крайней мере в одном узле ветви быть меньше, чем MinParentSize
.
Предложенное разделение заставляет количество наблюдений по крайней мере в одной вершине быть меньше, чем MinLeafSize
.
Алгоритм не может найти хорошее разделение на слое (т.е. критерий сокращения (см. PruneCriterion
), не улучшается для всех предложенных разделений в слое). Особый случай - когда все узлы чисты (т.е. все наблюдения в узле имеют тот же класс).
Для значений 'curvature'
или 'interaction-curvature'
из PredictorSelection
, все тесты дают к p - значения, больше, чем 0,05.
MaxNumSplits
и MinLeafSize
не влияйте на разделение в их значениях по умолчанию. Поэтому, если вы устанавливаете 'MaxNumSplits'
, разделение может остановиться из-за значения MinParentSize
, перед MaxNumSplits
разделения происходят.
Для двухъядерных систем и выше, fitctree
параллелизирует учебные деревья решений с помощью Intel® Threading Building Blocks (TBB). Для получения дополнительной информации на Intel TBB, см. https://software.intel.com/en-us/intel-tbb.
[1] Бреимен, L., Дж. Фридман, Р. Олшен и К. Стоун. Классификация и деревья регрессии. Бока-Ратон, FL: нажатие CRC, 1984.
[2] Котельщик, Д., С. Цз. Хун и Дж. Р. М. Хоскинг. “Деля Номинальные Атрибуты в Деревьях решений”. Анализ данных и Открытие Знаний, Издание 3, 1999, стр 197–217.
[3] Loh, W.Y. “Деревья регрессии с Несмещенным Обнаружением Выбора переменной и Взаимодействия”. Statistica Sinica, Издание 12, 2002, стр 361–386.
[4] Loh, В.И. и И.С. Ши. “Разделите Методы выбора для Деревьев Классификации”. Statistica Sinica, Издание 7, 1997, стр 815–840.
Указания и ограничения по применению:
Поддерживаемые синтаксисы:
tree = fitctree(Tbl,Y)
tree = fitctree(X,Y)
tree = fitctree(___,Name,Value)
[tree,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name,Value)
— fitctree
возвращает дополнительные выходные аргументы FitInfo
и HyperparameterOptimizationResults
когда вы задаете 'OptimizeHyperparameters'
аргумент пары "имя-значение".
FitInfo
выходным аргументом является пустой массив структур, в настоящее время зарезервированный для возможного будущего использования.
HyperparameterOptimizationResults
выходным аргументом является BayesianOptimization
возразите или таблица гиперпараметров с присваиваемыми значениями, которые описывают оптимизацию перекрестной проверки гиперпараметров.
'HyperparameterOptimizationResults'
непусто когда 'OptimizeHyperparameters'
аргумент пары "имя-значение" непуст в то время, когда вы создаете модель. Значения в 'HyperparameterOptimizationResults'
зависьте от значения, которое вы задаете для 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение", когда вы создаете модель.
Если вы задаете 'bayesopt'
(значение по умолчанию), затем HyperparameterOptimizationResults
объект класса BayesianOptimization
.
Если вы задаете 'gridsearch'
или 'randomsearch'
, затем HyperparameterOptimizationResults
таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому.
Поддерживаемые аргументы пары "имя-значение" и любые различия:
'AlgorithmForCategorical'
'CategoricalPredictors'
'ClassNames'
'Cost'
'HyperparameterOptimizationOptions'
— Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout'
валидация. Например, можно задать fitctree(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))
.
'MaxNumCategories'
'MaxNumSplits'
— для высокой оптимизации, fitctree
поисковые запросы среди целых чисел, по умолчанию масштабируемых журналом в области значений [1,max(2,min(10000,NumObservations-1))]
.
'MergeLeaves'
'MinLeafSize'
'MinParentSize'
'NumVariablesToSample'
'OptimizeHyperparameters'
'PredictorNames'
'Prior'
'ResponseName'
'ScoreTransform'
'SplitCriterion'
'Weights'
Этот дополнительный аргумент пары "имя-значение" характерен для длинных массивов:
'MaxDepth'
— Положительное целое число, задающее максимальную глубину выходного дерева. Задайте значение для этого аргумента, чтобы возвратить дерево, которое имеет меньше уровней и требует, чтобы меньше прошли через длинный массив, чтобы вычислить. Обычно алгоритм fitctree
берет один проход через данные и дополнительную передачу для каждого древовидного уровня. Функция не устанавливает максимальную древовидную глубину по умолчанию.
Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
Чтобы запуститься параллельно, установите 'UseParallel'
опция к true
.
Чтобы выполнить параллельную гипероптимизацию параметров управления, используйте 'HyperparameterOptions', struct('UseParallel',true)
аргумент пары "имя-значение" в вызове этой функции.
Для получения дополнительной информации о параллельной гипероптимизации параметров управления смотрите Параллельную Байесовую Оптимизацию.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Запуска с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
ClassificationPartitionedModel
| ClassificationTree
| kfoldPredict
| predict
| prune
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.