fitctree

Подходящее дерево выбора из двух альтернатив для классификации мультиклассов

Описание

tree = fitctree(Tbl,ResponseVarName) возвращает подходящее бинарное дерево решений классификации на основе входных переменных (также известный как предикторы, функции или атрибуты) содержавшийся в таблице Tbl и выход (ответ или метки) содержавшийся в Tbl.ResponseVarName. Возвращенные разделения двоичного дерева, переходящие узлы на основе значений столбца Tbl.

tree = fitctree(Tbl,formula) возвращает подходящее бинарное дерево решений классификации на основе входных переменных, содержавшихся в таблице Tbl. formula объяснительная модель ответа и подмножество переменных предикторов в Tbl используемый, чтобы соответствовать tree.

tree = fitctree(Tbl,Y) возвращает подходящее бинарное дерево решений классификации на основе входных переменных, содержавшихся в таблице Tbl и выведенный в векторном Y.

пример

tree = fitctree(X,Y) возвращает подходящее бинарное дерево решений классификации на основе входных переменных, содержавшихся в матричном X и выход Y. Возвращенные разделения двоичного дерева, переходящие узлы на основе значений столбца X.

пример

tree = fitctree(___,Name,Value) соответствует дереву дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение", с помощью любого из предыдущих синтаксисов. Например, можно указать, что алгоритм раньше находил лучшее разделение на категориальном предикторе, выращивал перекрестное подтвержденное дерево или протягивал часть входных данных для валидации.

Примеры

свернуть все

Вырастите дерево классификации использование ionosphere набор данных.

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


  Properties, Methods

Можно управлять глубиной деревьев с помощью MaxNumSplits, MinLeafSize, или MinParentSize параметры пары "имя-значение". fitctree выращивает глубокие деревья решений по умолчанию. Можно вырастить более мелкие деревья, чтобы уменьшать сложность модели или время вычисления.

Загрузите ionosphere набор данных.

load ionosphere

Значения по умолчанию древовидных контроллеров глубины для роста деревьев классификации:

  • n - 1 для MaxNumSplitsN размер обучающей выборки.

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

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

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

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 51 objects of type line, text.

Среднее количество разделений - приблизительно 15.

Предположим, что вы хотите дерево классификации, которое не является столь комплексное (глубокий), как те обучили использование количества по умолчанию разделений. Обучите другое дерево классификации, но определите максимальный номер разделений в 7, который является приблизительно половиной среднего количества разделений от дерева классификации по умолчанию. Перекрестный подтвердите модель при помощи 10-кратной перекрестной проверки.

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

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 21 objects of type line, text.

Сравните ошибки классификации перекрестных проверок моделей.

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

Mdl7 является намного менее комплексным и выполняет незначительно хуже, чем MdlDefault.

В этом примере показано, как оптимизировать гиперпараметры автоматически с помощью fitctree. Пример использует ирисовые данные Фишера.

Загрузите ирисовые данные Фишера.

load fisheriris

Оптимизируйте потерю перекрестной проверки классификатора, с помощью данных в meas предсказать ответ в species.

X = meas;
Y = species;
Mdl = fitctree(X,Y,'OptimizeHyperparameters','auto')
|======================================================================================|
| Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize |
|      | result |             | runtime     | (observed)  | (estim.)    |              |
|======================================================================================|
|    1 | Best   |    0.066667 |     0.67228 |    0.066667 |    0.066667 |           31 |
|    2 | Accept |    0.066667 |      0.1846 |    0.066667 |    0.066667 |           12 |
|    3 | Best   |        0.04 |     0.12593 |        0.04 |    0.040003 |            2 |
|    4 | Accept |     0.66667 |     0.11694 |        0.04 |     0.15796 |           73 |
|    5 | Accept |        0.04 |     0.15143 |        0.04 |    0.040009 |            2 |
|    6 | Accept |        0.04 |    0.093603 |        0.04 |    0.040007 |            3 |
|    7 | Accept |     0.66667 |     0.10336 |        0.04 |    0.040007 |           75 |
|    8 | Accept |    0.046667 |     0.11544 |        0.04 |     0.04001 |            5 |
|    9 | Best   |    0.033333 |    0.087598 |    0.033333 |     0.03335 |            1 |
|   10 | Accept |    0.066667 |    0.083954 |    0.033333 |     0.03335 |           19 |
|   11 | Accept |    0.066667 |    0.088671 |    0.033333 |    0.033349 |            8 |
|   12 | Accept |    0.066667 |     0.11436 |    0.033333 |    0.033348 |           25 |
|   13 | Accept |        0.04 |    0.092566 |    0.033333 |    0.033347 |            4 |
|   14 | Accept |    0.033333 |    0.087882 |    0.033333 |     0.03334 |            1 |
|   15 | Accept |    0.066667 |    0.090919 |    0.033333 |    0.033339 |            6 |
|   16 | Accept |    0.033333 |    0.097943 |    0.033333 |    0.033337 |            1 |
|   17 | Accept |    0.033333 |     0.09267 |    0.033333 |    0.033336 |            1 |
|   18 | Accept |        0.34 |    0.088194 |    0.033333 |    0.033336 |           44 |
|   19 | Accept |    0.066667 |    0.096547 |    0.033333 |    0.033336 |           15 |
|   20 | Accept |    0.066667 |    0.088582 |    0.033333 |    0.033336 |           10 |
|======================================================================================|
| Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize |
|      | result |             | runtime     | (observed)  | (estim.)    |              |
|======================================================================================|
|   21 | Accept |    0.066667 |    0.085877 |    0.033333 |    0.033336 |           36 |
|   22 | Accept |    0.066667 |    0.095332 |    0.033333 |    0.033336 |           22 |
|   23 | Accept |    0.066667 |    0.099134 |    0.033333 |    0.033336 |            7 |
|   24 | Accept |     0.33333 |    0.093971 |    0.033333 |     0.03409 |           55 |
|   25 | Accept |        0.04 |    0.089517 |    0.033333 |    0.034069 |            2 |
|   26 | Accept |        0.04 |     0.11739 |    0.033333 |    0.034036 |            3 |
|   27 | Accept |        0.04 |    0.091491 |    0.033333 |     0.03401 |            4 |
|   28 | Accept |    0.066667 |    0.097799 |    0.033333 |    0.033977 |           17 |
|   29 | Accept |    0.066667 |      0.1056 |    0.033333 |    0.033949 |            9 |
|   30 | Accept |    0.066667 |    0.092445 |    0.033333 |    0.033926 |           13 |

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

Figure contains an axes object. The axes object with title Objective function model contains 8 objects of type line. These objects represent Observed points, Model mean, Model error bars, Noise error bars, Next point, Model minimum feasible.

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

Best observed feasible point:
    MinLeafSize
    ___________

         1     

Observed objective function value = 0.033333
Estimated objective function value = 0.033926
Function evaluation time = 0.087598

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

         1     

Estimated objective function value = 0.033926
Estimated function evaluation time = 0.10725
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';

Figure contains an axes object. The axes object with title Predictor Importance Estimates contains an object of type bar.

В этом случае, 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

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

Удалите строки в X и Y это содержит недостающие данные.

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

Стандартизируйте переменные предикторы.

Z = zscore(X);

Оптимизируйте гиперпараметры автоматически с помощью 'OptimizeHyperparameters' аргумент пары "имя-значение". Найдите оптимальный 'MinLeafSize' значение, которое минимизирует потерю перекрестной проверки затяжки. (Определение 'auto' использование 'MinLeafSize'.) Для воспроизводимости используют 'expected-improvement-plus' функция захвата и набор seed генераторов случайных чисел с помощью rng и tallrng. Результаты могут варьироваться в зависимости от количества рабочих и среды выполнения для длинных массивов. Для получения дополнительной информации смотрите Управление Где Ваши Запуски Кода.

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


  Properties, Methods

FitInfo = struct with no fields.


HyperparameterOptimizationResults = 
  BayesianOptimization with properties:

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

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

свернуть все

Выборочные данные раньше обучали модель в виде таблицы. Каждая строка Tbl соответствует одному наблюдению, и каждый столбец соответствует одному переменному предиктору. Опционально, Tbl может содержать один дополнительный столбец для переменной отклика. Многостолбцовые переменные и массивы ячеек кроме массивов ячеек из символьных векторов не позволены.

  • Если Tbl содержит переменную отклика, и вы хотите использовать все остающиеся переменные в Tbl как предикторы, затем задайте переменную отклика при помощи ResponseVarName.

  • Если Tbl содержит переменную отклика, и вы хотите использовать только подмножество остающихся переменных в Tbl как предикторы, затем задайте формулу при помощи formula.

  • Если Tbl не содержит переменную отклика, затем задает переменную отклика при помощи Y. Длина переменной отклика и количество строк в Tbl должно быть равным.

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

Имя переменной отклика в виде имени переменной в Tbl.

Необходимо задать ResponseVarName как вектор символов или строковый скаляр. Например, если переменная отклика Y хранится как Tbl.Y, затем задайте его как "Y". В противном случае программное обеспечение обрабатывает все столбцы Tbl, включая Y, как предикторы, когда обучение модель.

Переменная отклика должна быть категориальным, символом или массивом строк; логический или числовой вектор; или массив ячеек из символьных векторов. Если Y символьный массив, затем каждый элемент переменной отклика должен соответствовать одной строке массива.

Хорошая практика должна задать порядок классов при помощи ClassNames аргумент значения имени.

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

Объяснительная модель переменной отклика и подмножество переменных предикторов в виде вектора символов или строкового скаляра в форме "Y~x1+x2+x3". В этой форме, Y представляет переменную отклика и x1x2 , и x3 представляйте переменные предикторы.

Задавать подмножество переменных в Tbl как предикторы для обучения модель, используйте формулу. Если вы задаете формулу, то программное обеспечение не использует переменных в Tbl это не появляется в formula.

Имена переменных в формуле должны быть оба именами переменных в Tbl (Tbl.Properties.VariableNames) и допустимый MATLAB® идентификаторы. Можно проверить имена переменных в Tbl при помощи isvarname функция. Если имена переменных не допустимы, то можно преобразовать их при помощи matlab.lang.makeValidName функция.

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

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

При подборе кривой дереву, fitctree рассматривает NaN, '' (пустой символьный вектор), "" (пустая строка), <missing>, и <undefined> значения в Y быть отсутствующими значениями. fitctree не использует наблюдения с отсутствующими значениями для Y в подгонке.

Для числового Y, рассмотрите подбор кривой использованию дерева регрессии fitrtree вместо этого.

Типы данных: single | double | categorical | logical | char | string | cell

Данные о предикторе в виде числовой матрицы. Каждая строка X соответствует одному наблюдению, и каждый столбец соответствует одному переменному предиктору.

fitctree рассматривает NaN значения в X как отсутствующие значения. fitctree не использует наблюдения со всеми отсутствующими значениями для X в подгонке. fitctree наблюдения использования с некоторыми отсутствующими значениями для X найти разделения на переменных, для которых эти наблюдения имеют допустимые значения.

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

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

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

Пример: 'CrossVal','on','MinLeafSize',40 задает перекрестное подтвержденное дерево классификации с минимумом 40 наблюдений на лист.

Примечание

Вы не можете использовать аргумент значения имени перекрестной проверки вместе с 'OptimizeHyperparameters' аргумент значения имени. Можно изменить перекрестную проверку для 'OptimizeHyperparameters' только при помощи 'HyperparameterOptimizationOptions' аргумент значения имени.

Параметры модели

свернуть все

Алгоритм, чтобы найти лучшее разделение на категориальном предикторе с категориями C для данных и K ≥ 3 классами в виде разделенной запятой пары, состоящей из 'AlgorithmForCategorical' и одно из следующих значений.

ЗначениеОписание
'Exact'Рассмотрите все 2C–1 – 1 комбинация.
'PullLeft'Начните со всех категорий C на правильной ветви. Рассмотрите перемещение каждой категории к левой ветви, когда это достигает минимальной примеси для классов K среди остающихся категорий. От этой последовательности выберите разделение, которое имеет самую низкую примесь.
'PCA'Вычислите счет к каждой категории с помощью скалярного произведения между первым основным компонентом взвешенной ковариационной матрицы (матрицы вероятности класса в центре) и вектором из вероятностей класса для той категории. Сортировка баллов в порядке возрастания, и рассматривает весь C – 1 разделение.
'OVAbyClass'Начните со всех категорий C на правильной ветви. Для каждого класса закажите категории на основе их вероятности для того класса. Для первого класса рассмотрите перемещение каждой категории к левой ветви в порядке, записав примесный критерий при каждом перемещении. Повторитесь для остающихся классов. От этой последовательности выберите разделение, которое имеет минимальную примесь.

fitctree автоматически выбирает оптимальное подмножество алгоритмов для каждого разделения с помощью известного количества классов и уровней категориального предиктора. Для K = 2 класса, fitctree всегда выполняет точный поиск. Чтобы задать конкретный алгоритм, используйте 'AlgorithmForCategorical' аргумент пары "имя-значение".

Для получения дополнительной информации смотрите Разделяющие Категориальные Предикторы в Деревьях Классификации.

Пример: 'AlgorithmForCategorical','PCA'

Категориальные предикторы перечисляют в виде одного из значений в этой таблице.

ЗначениеОписание
Вектор из положительных целых чисел

Каждая запись в векторе является значением индекса, указывающим, что соответствующий предиктор является категориальным. Значения индекса между 1 и p, где p количество предикторов, используемых, чтобы обучить модель.

Если fitctree использует подмножество входных переменных как предикторы, затем функция индексирует предикторы с помощью только подмножество. CategoricalPredictors значения не считают переменную отклика, переменную веса наблюдения или любые другие переменные, которые не использует функция.

Логический вектор

true запись означает, что соответствующий предиктор является категориальным. Длиной вектора является p.

Символьная матрицаКаждая строка матрицы является именем переменного предиктора. Имена должны совпадать с записями в PredictorNames. Заполните имена дополнительными пробелами, таким образом, каждая строка символьной матрицы имеет ту же длину.
Массив строк или массив ячеек из символьных векторовКаждым элементом в массиве является имя переменного предиктора. Имена должны совпадать с записями в PredictorNames.
"all"Все предикторы являются категориальными.

По умолчанию, если данные о предикторе находятся в таблице (Tbl), fitctree принимает, что переменная является категориальной, если это - логический вектор, неупорядоченный категориальный вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Если данные о предикторе являются матрицей (X), fitctree принимает, что все предикторы непрерывны. Чтобы идентифицировать любые другие предикторы как категориальные предикторы, задайте их при помощи 'CategoricalPredictors' аргумент значения имени.

Пример: 'CategoricalPredictors','all'

Типы данных: single | double | logical | char | string | cell

Имена классов, чтобы использовать для обучения в виде категориального, символа или массива строк; логический или числовой вектор; или массив ячеек из символьных векторов. ClassNames должен иметь совпадающий тип данных как переменную отклика в Tbl или Y.

Если ClassNames символьный массив, затем каждый элемент должен соответствовать одной строке массива.

Используйте ClassNames к:

  • Задайте порядок классов во время обучения.

  • Задайте порядок любой размерности аргумента ввода или вывода, которая соответствует порядку класса. Например, используйте ClassNames задавать порядок размерностей Cost или порядок следования столбцов классификационных оценок, возвращенных predict.

  • Выберите подмножество классов для обучения. Например, предположите что набор всех отличных имен классов в Y ["a","b","c"]. Обучать модель с помощью наблюдений от классов "a" и "c" только, задайте "ClassNames",["a","c"].

Значение по умолчанию для ClassNames набор всех отличных имен классов в переменной отклика в Tbl или Y.

Пример: "ClassNames",["b","g"]

Типы данных: categorical | char | string | logical | single | double | cell

Стоимость 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' и положительное целое число. Задайте значение для этого аргумента, чтобы возвратить дерево, которое имеет меньше уровней и требует, чтобы меньше прошли через длинный массив, чтобы вычислить. Обычно алгоритм fitctree берет один проход через данные и дополнительную передачу для каждого древовидного уровня. Функция не устанавливает максимальную древовидную глубину по умолчанию.

Примечание

Эта опция применяется только, когда вы используете fitctree на длинных массивах. Смотрите Длинные массивы для получения дополнительной информации.

Максимальные уровни категории в виде разделенной запятой пары, состоящей из 'MaxNumCategories' и неотрицательное скалярное значение. fitctree разделяет категориальный предиктор с помощью точного алгоритма поиска, если предиктор имеет в большей части MaxNumCategories уровни в узле разделения. В противном случае, fitctree находит лучшее категориальное разделение с помощью одного из неточных алгоритмов.

Передача маленького значения может привести к потере точности, и передача большого значения может увеличить перегрузка памяти и время вычисления.

Пример: 'MaxNumCategories',8

Максимальное количество разделений решения (или узлы ветви) в виде разделенной запятой пары, состоящей из 'MaxNumSplits' и положительное целое число. fitctree разделения MaxNumSplits или меньше узлов ветви. Для получения дополнительной информации о разделяющем поведении см. Алгоритмы.

Пример: 'MaxNumSplits',5

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

Листовое слияние отмечает в виде разделенной запятой пары, состоящей из 'MergeLeaves' и 'on' или 'off'.

Если MergeLeaves 'on'то fitctree:

  • Листы слияний, которые происходят из того же родительского узла, и это дает к сумме значений риска, больше или равных риску, сопоставленному с родительским узлом

  • Оценивает оптимальную последовательность сокращенных поддеревьев, но не сокращает дерево классификации

В противном случае, fitctree не объединяет листы.

Пример: 'MergeLeaves','off'

Минимальное количество наблюдений вершины в виде разделенной запятой пары, состоящей из 'MinLeafSize' и положительное целочисленное значение. Каждый лист имеет, по крайней мере, MinLeafSize наблюдения на древовидный лист. Если вы предоставляете оба MinParentSize и MinLeafSize, fitctree использует установку, которая дает большие листы: MinParentSize = max(MinParentSize,2*MinLeafSize).

Пример: 'MinLeafSize',3

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

Минимальное количество наблюдений узла ветви в виде разделенной запятой пары, состоящей из 'MinParentSize' и положительное целочисленное значение. Каждый узел ветви в дереве имеет, по крайней мере, MinParentSize наблюдения. Если вы предоставляете оба MinParentSize и MinLeafSize, fitctree использует установку, которая дает большие листы: MinParentSize = max(MinParentSize,2*MinLeafSize).

Пример: 'MinParentSize',8

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

Количество интервалов для числовых предикторов в виде разделенной запятой пары, состоящей из 'NumBins' и положительный целочисленный скаляр.

  • Если 'NumBins' значение пусто (значение по умолчанию), затем fitctree не делает интервала никакие предикторы.

  • Если вы задаете 'NumBins' значение как положительный целочисленный скаляр (numBinsто fitctree интервалы каждый числовой предиктор в в большей части numBins равновероятные интервалы, и затем выращивают деревья на индексах интервала вместо исходных данных.

    • Количество интервалов может быть меньше numBins если предиктор имеет меньше, чем numBins уникальные значения.

    • fitctree не делает интервала категориальные предикторы.

Когда вы используете большой обучающий набор данных, эта опция раскладывания ускоряет обучение, но может вызвать потенциальное уменьшение в точности. Можно попробовать 'NumBins',50 во-первых, и затем измените значение в зависимости от точности и учебной скорости.

Обученная модель хранит границы интервала в BinEdges свойство.

Пример: 'NumBins',50

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

Количество предикторов, чтобы выбрать наугад для каждого разделения в виде разделенной запятой пары, состоящей из 'NumVariablesToSample' и положительное целочисленное значение. В качестве альтернативы можно задать 'all' использовать все доступные предикторы.

Если обучающие данные включают много предикторов, и вы хотите анализировать важность предиктора, затем задать 'NumVariablesToSample' как 'all'. В противном случае программное обеспечение не может выбрать некоторые предикторы, недооценив их важность.

Чтобы воспроизвести случайные выборы, необходимо установить seed генератора случайных чисел при помощи rng и задайте 'Reproducible',true.

Пример: 'NumVariablesToSample',3

Типы данных: char | string | single | double

Переменный предиктор называет в виде массива строк уникальных имен или массива ячеек уникальных векторов символов. Функциональность PredictorNames зависит от способа, которым вы снабжаете обучающими данными.

  • Если вы предоставляете X и Y, затем можно использовать PredictorNames присваивать имена к переменным предикторам в X.

    • Порядок имен в PredictorNames должен соответствовать порядку следования столбцов X. Таким образом, PredictorNames{1} имя X(:,1), PredictorNames{2} имя X(:,2), и так далее. Кроме того, size(X,2) и numel(PredictorNames) должно быть равным.

    • По умолчанию, PredictorNames {'x1','x2',...}.

  • Если вы предоставляете Tbl, затем можно использовать PredictorNames выбрать который переменные предикторы использовать в обучении. Таким образом, fitctree использование только переменные предикторы в PredictorNames и переменная отклика во время обучения.

    • PredictorNames должно быть подмножество Tbl.Properties.VariableNames и не может включать имя переменной отклика.

    • По умолчанию, PredictorNames содержит имена всех переменных предикторов.

    • Хорошая практика должна задать предикторы для обучения с помощью любого PredictorNames или formula, но не то и другое одновременно.

Пример: "PredictorNames",["SepalLength","SepalWidth","PetalLength","PetalWidth"]

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

Алгоритм раньше выбирал лучший предиктор разделения в каждом узле в виде разделенной запятой пары, состоящей из 'PredictorSelection' и значение в этой таблице.

ЗначениеОписание
'allsplits'

Стандартный CART — Выбирает предиктор разделения, который максимизирует усиление критерия разделения по всем возможным разделениям всех предикторов [1].

'curvature'Тест искривления — Выбирает предиктор разделения, который минимизирует p - значение тестов хи-квадрата независимости между каждым предиктором и ответом [4]. Учебная скорость похожа на стандартный CART.
'interaction-curvature'Тест взаимодействия — Выбирает предиктор разделения, который минимизирует p - значение тестов хи-квадрата независимости между каждым предиктором и ответом, и это минимизирует p - значение теста хи-квадрата независимости между каждой парой предикторов и ответом [3]. Учебная скорость может быть медленнее, чем стандартный CART.

Для 'curvature' и 'interaction-curvature', если все тесты дают к p - значения, больше, чем 0,05, то fitctree остановки, разделяющие узлы.

Совет

  • Стандартный CART имеет тенденцию выбирать предикторы разделения, содержащие много отличных значений, e.g., непрерывные переменные, по тем, которые содержат немного отличных значений, e.g., категориальные переменные [4]. Рассмотрите определение искривления или теста взаимодействия, если какое-либо следующее верно:

    • Если существуют предикторы, которые имеют относительно меньше отличных значений, чем другие предикторы, например, если набор данных предиктора неоднороден.

    • Если анализ важности предиктора является вашей целью. Для больше на оценке важности предиктора, смотрите predictorImportance и введение в выбор признаков.

  • Деревья, выращенные с помощью стандартного CART, не чувствительны к взаимодействиям переменного предиктора. Кроме того, такие деревья, менее вероятно, идентифицируют важные переменные в присутствии многих несоответствующих предикторов, чем приложение теста взаимодействия. Поэтому с учетом взаимодействий предиктора и идентифицируют переменные важности в присутствии многих несоответствующих переменных, задают тест взаимодействия [3].

  • Скорость предсказания незатронута значением 'PredictorSelection'.

Для получения дополнительной информации, на как fitctree выбирает предикторы разделения, см. Правила Расщепления узлов и Выберите Split Predictor Selection Technique.

Пример: 'PredictorSelection','curvature'

Априорные вероятности для каждого класса в виде одного из следующего:

  • Вектор символов или строковый скаляр.

    • 'empirical' определяет вероятности класса из частот класса в переменной отклика в Y или Tbl. Если вы передаете веса наблюдения, fitctree использует веса, чтобы вычислить вероятности класса.

    • 'uniform' наборы все вероятности класса, чтобы быть равным.

  • Вектор (одно скалярное значение для каждого класса). Чтобы задать класс заказывают для соответствующих элементов 'Prior', установите 'ClassNames' аргумент значения имени.

  • Структуры с двумя полями.

    • S.ClassNames содержит имена классов как переменную того же типа как переменная отклика в Y или Tbl.

    • S.ClassProbs содержит вектор из соответствующих вероятностей.

fitctree нормирует веса в каждом классе ('Weights') составить в целом значение априорной вероятности соответствующего класса.

Пример: 'Prior','uniform'

Типы данных: char | string | single | double | struct

Отметьте, чтобы оценить оптимальную последовательность сокращенных поддеревьев в виде разделенной запятой пары, состоящей из 'Prune' и 'on' или 'off'.

Если Prune 'on'то fitctree выращивает дерево классификации, не сокращая его, но оценивает оптимальную последовательность сокращенных поддеревьев. В противном случае, fitctree выращивает дерево классификации, не оценивая оптимальную последовательность сокращенных поддеревьев.

Сократить обученный ClassificationTree модель, передайте его prune.

Пример: 'Prune','off'

Сокращение критерия в виде разделенной запятой пары, состоящей из 'PruneCriterion' и 'error' или 'impurity'.

Если вы задаете 'impurity'то fitctree использует примесную меру, заданную 'SplitCriterion' аргумент пары "имя-значение".

Для получения дополнительной информации смотрите Ошибку Примеси и Узла.

Пример: 'PruneCriterion','impurity'

Отметьте, чтобы осуществить воспроизводимость по повторным запускам обучения модель в виде разделенной запятой пары, состоящей из 'Reproducible' и любой false или true.

Если 'NumVariablesToSample' не 'all', затем программное обеспечение выбирает предикторы наугад для каждого разделения. Чтобы воспроизвести случайные выборы, необходимо задать 'Reproducible',true и набор seed генератора случайных чисел при помощи rng. Обратите внимание на то, что установка 'Reproducible' к true может замедлить обучение.

Пример: 'Reproducible',true

Типы данных: логический

Имя переменной отклика в виде разделенной запятой пары, состоящей из 'ResponseName' и вектор символов или строковый скаляр, представляющий имя переменной отклика.

Эта пара "имя-значение" не допустима при использовании ResponseVarName или formula входные параметры.

Пример: 'ResponseName','IrisType'

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

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

Эта таблица суммирует доступные векторы символов и строковые скаляры.

ЗначениеОписание
"doublelogit"1/(1 + e–2x)
"invlogit"журнал (x / (1 – x))
"ismax"Устанавливает счет к классу с самым большим счетом к 1 и устанавливает музыку ко всем другим классам к 0
"logit"1/(1 + ex)
"none" или "identity"x (никакое преобразование)
"sign"– 1 для x <0
0 для x = 0
1 для x> 0
"symmetric"2x – 1
"symmetricismax"Устанавливает счет к классу с самым большим счетом к 1 и устанавливает музыку ко всем другим классам к –1
"symmetriclogit"2/(1 + ex) – 1

Для функции MATLAB или функции вы задаете, используете ее указатель на функцию для счета, преобразовывают. Указатель на функцию должен принять матрицу (исходные баллы) и возвратить матрицу, одного размера (преобразованные баллы).

Пример: "ScoreTransform","logit"

Типы данных: char | string | function_handle

Разделите критерий в виде разделенной запятой пары, состоящей из 'SplitCriterion' и 'gdi' (Индекс разнообразия Джини), 'twoing' для правила twoing или 'deviance' для максимального сокращения отклонения (также известный как перекрестную энтропию).

Для получения дополнительной информации смотрите Ошибку Примеси и Узла.

Пример: 'SplitCriterion','deviance'

Суррогатное решение разделяет флаг в виде разделенной запятой пары, состоящей из 'Surrogate' и 'on'offвсе, или положительное целочисленное значение.

  • Когда установлено в 'on', fitctree находит самое большее 10 суррогатных разделений в каждом узле ветви.

  • Когда установлено в 'all', fitctree находит все суррогатные разделения в каждом узле ветви. 'all' установка может использовать продолжительное время и память.

  • Когда установлено в положительное целочисленное значение, fitctree находит самое большее конкретное количество суррогатных разделений в каждом узле ветви.

Используйте суррогатные разделения, чтобы улучшить точность предсказаний для данных с отсутствующими значениями. Установка также позволяет вам вычислить меры прогнозирующей ассоциации между предикторами. Для получения дополнительной информации см. Правила Расщепления узлов.

Пример: 'Surrogate','on'

Типы данных: single | double | char | string

Веса наблюдения в виде разделенной запятой пары, состоящей из 'Weights' и вектор из скалярных значений или имя переменной в Tbl. Программное обеспечение взвешивает наблюдения в каждой строке X или Tbl с соответствующим значением в Weights. Размер Weights должен равняться количеству строк в X или Tbl.

Если вы задаете входные данные как таблицу Tbl, затем Weights может быть имя переменной в Tbl это содержит числовой вектор. В этом случае необходимо задать Weights как вектор символов или строковый скаляр. Например, если вектор весов W хранится как Tbl.W, затем задайте его как 'W'. В противном случае программное обеспечение обрабатывает все столбцы Tbl, включая W, как предикторы, когда обучение модель.

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

Типы данных: single | double | char | string

Опции перекрестной проверки

свернуть все

Отметьте, чтобы вырастить перекрестное подтвержденное дерево решений в виде разделенной запятой пары, состоящей из 'CrossVal' и 'on' или 'off'.

Если 'on', fitctree выращивает перекрестное подтвержденное дерево решений с 10 сгибами. Можно заменить эту установку перекрестной проверки с помощью одного из 'KFold', 'Holdout', 'Leaveout', или 'CVPartition' аргументы в виде пар имя-значение. Можно только использовать один из этих четырех аргументов при создании перекрестного подтвержденного дерева.

В качестве альтернативы перекрестный подтвердите tree позже использование crossval метод.

Пример: 'CrossVal','on'

Раздел, чтобы использовать в перекрестном подтвержденном дереве в виде разделенной запятой пары, состоящей из 'CVPartition' и объект создал использование cvpartition.

Если вы используете 'CVPartition', вы не можете использовать ни один 'KFold', 'Holdout', или 'Leaveout' аргументы в виде пар имя-значение.

Часть данных, используемых для валидации затяжки в виде разделенной запятой пары, состоящей из 'Holdout' и скалярное значение в области значений [0,1]. Валидация затяжки тестирует заданную часть данных и использует остальную часть данных для обучения.

Если вы используете 'Holdout', вы не можете использовать ни один 'CVPartition', 'KFold', или 'Leaveout' аргументы в виде пар имя-значение.

Пример: 'Holdout',0.1

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

Количество сгибов, чтобы использовать в перекрестном подтвержденном классификаторе в виде разделенной запятой пары, состоящей из 'KFold' и положительное целочисленное значение, больше, чем 1. Если вы задаете, например, 'KFold',k, затем программное обеспечение:

  1. Случайным образом делит данные в наборы k

  2. Для каждого набора, резервирует набор как данные о валидации и обучает модель с помощью другого k – 1 набор

  3. Хранит k компактные, обученные модели в ячейках k- 1 вектор ячейки в Trained свойство перекрестной подтвержденной модели.

Чтобы создать перекрестную подтвержденную модель, можно использовать одну из этих четырех опций только: CVPartition, Holdout, KFold, или Leaveout.

Пример: 'KFold',8

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

Флаг перекрестной проверки "Пропускает один" в виде разделенной запятой пары, состоящей из 'Leaveout' и 'on' или 'off'. Задайте 'on' чтобы использовать перекрестную проверку "пропускают один".

Если вы используете 'Leaveout', вы не можете использовать ни один 'CVPartition', 'Holdout', или 'KFold' аргументы в виде пар имя-значение.

Пример: 'Leaveout','on'

Опции гипероптимизации параметров управления

свернуть все

Параметры, чтобы оптимизировать в виде разделенной запятой пары, состоящей из 'OptimizeHyperparameters' и одно из следующего:

  • 'none' — Не оптимизировать.

  • 'auto' — Используйте {'MinLeafSize'}

  • 'all' — Оптимизируйте все имеющие право параметры.

  • Массив строк или массив ячеек имеющих право названий параметра

  • Вектор из optimizableVariable объекты, обычно выход hyperparameters

Оптимизация пытается минимизировать потерю перекрестной проверки (ошибка) для fitctree путем варьирования параметров. Для получения информации о потере перекрестной проверки (хотя в различном контексте), смотрите Потерю Классификации. Чтобы управлять типом перекрестной проверки и другими аспектами оптимизации, используйте HyperparameterOptimizationOptions пара "имя-значение".

Примечание

Значения 'OptimizeHyperparameters' замените любые значения, вы задаете использование других аргументов name-value. Например, установка 'OptimizeHyperparameters' к 'auto' причины fitctree оптимизировать гиперпараметры, соответствующие 'auto' опция и проигнорировать любые заданные значения для гиперпараметров.

Имеющие право параметры для fitctree :

  • MaxNumSplitsfitctree поисковые запросы среди целых чисел, по умолчанию масштабируемых журналом в области значений [1,max(2,NumObservations-1)].

  • MinLeafSizefitctree поисковые запросы среди целых чисел, по умолчанию масштабируемых журналом в области значений [1,max(2,floor(NumObservations/2))].

  • SplitCriterion — Для двух классов, fitctree поисковые запросы среди 'gdi' и 'deviance'. Для трех или больше классов, fitctree также поисковые запросы среди 'twoing'.

  • NumVariablesToSamplefitctree не оптимизирует по этому гиперпараметру. Если вы передаете NumVariablesToSample как название параметра, fitctree просто использует полное количество предикторов. Однако fitcensemble действительно оптимизирует по этому гиперпараметру.

Установите параметры не по умолчанию путем передачи вектора из optimizableVariable объекты, которые имеют значения не по умолчанию. Например,

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

Передайте params как значение OptimizeHyperparameters.

По умолчанию итеративное отображение появляется в командной строке, и графики появляются согласно количеству гиперпараметров в оптимизации. Для оптимизации и графиков, целевая функция является misclassification уровнем. Чтобы управлять итеративным отображением, установите Verbose поле 'HyperparameterOptimizationOptions' аргумент значения имени. Чтобы управлять графиками, установите ShowPlots поле 'HyperparameterOptimizationOptions' аргумент значения имени.

Для примера смотрите, Оптимизируют Дерево Классификации.

Пример: 'auto'

Опции для оптимизации в виде структуры. Этот аргумент изменяет эффект OptimizeHyperparameters аргумент значения имени. Все поля в структуре являются дополнительными.

Имя поляЗначенияЗначение по умолчанию
Optimizer
  • 'bayesopt' — Используйте Байесовую оптимизацию. Внутренне, эта установка вызовы bayesopt.

  • 'gridsearch' — Используйте поиск сетки с NumGridDivisions значения на размерность.

  • 'randomsearch' — Поиск наугад среди MaxObjectiveEvaluations 'points'.

'gridsearch' поисковые запросы в произвольном порядке, с помощью универсальной выборки без замены от сетки. После оптимизации можно получить таблицу в порядке сетки при помощи команды sortrows(Mdl.HyperparameterOptimizationResults).

'bayesopt'
AcquisitionFunctionName

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

  • 'expected-improvement'

  • 'expected-improvement-plus'

  • 'expected-improvement-per-second'

  • 'lower-confidence-bound'

  • 'probability-of-improvement'

Захват функционирует, чьи имена включают per-second не приводите к восстанавливаемым результатам, потому что оптимизация зависит от времени выполнения целевой функции. Захват функционирует, чьи имена включают plus измените их поведение, когда они сверхиспользуют область. Для получения дополнительной информации смотрите Типы Функции Захвата.

'expected-improvement-per-second-plus'
MaxObjectiveEvaluationsМаксимальное количество оценок целевой функции.30 для 'bayesopt' и 'randomsearch', и целая сетка для 'gridsearch'
MaxTime

Ограничение по времени в виде положительного действительного скаляра. Ограничение по времени находится в секундах, как измерено tic и toc. Время выполнения может превысить MaxTime потому что MaxTime не делает оценок функции обработки прерываний.

Inf
NumGridDivisionsДля 'gridsearch', количество значений в каждой размерности. Значение может быть вектором из положительных целых чисел, дающих количество значений для каждой размерности или скаляр, который применяется ко всем размерностям. Это поле проигнорировано для категориальных переменных.10
ShowPlotsЛогическое значение, указывающее, показать ли графики. Если true, это поле строит лучшее наблюдаемое значение целевой функции против номера итерации. Если вы используете Байесовую оптимизацию (Optimizer 'bayesopt'), затем это поле также строит лучшее предполагаемое значение целевой функции. Лучшие наблюдаемые значения целевой функции и лучше всего оцененные значения целевой функции соответствуют значениям в BestSoFar (observed) и BestSoFar (estim.) столбцы итеративного отображения, соответственно. Можно найти эти значения в свойствах ObjectiveMinimumTrace и EstimatedObjectiveMinimumTrace из Mdl.HyperparameterOptimizationResults. Если проблема включает один или два параметра оптимизации для Байесовой оптимизации, то ShowPlots также строит модель целевой функции против параметров.true
SaveIntermediateResultsЛогическое значение, указывающее, сохранить ли результаты когда Optimizer 'bayesopt'. Если true, это поле перезаписывает переменную рабочей области под названием 'BayesoptResults' в каждой итерации. Переменной является BayesianOptimization объект.false
Verbose

Отображение в командной строке:

  • 0 — Никакое итеративное отображение

  • 1 Итеративное отображение

  • 2 — Итеративное отображение с дополнительной информацией

Для получения дополнительной информации смотрите bayesopt Verbose аргумент значения имени и пример Оптимизируют Подгонку Классификатора Используя Байесовую Оптимизацию.

1
UseParallelЛогическое значение, указывающее, запустить ли Байесовую оптимизацию параллельно, которая требует Parallel Computing Toolbox™. Из-за невоспроизводимости синхронизации параллели, параллельная Байесова оптимизация не обязательно приводит к восстанавливаемым результатам. Для получения дополнительной информации смотрите Параллельную Байесовую Оптимизацию.false
Repartition

Логическое значение, указывающее, повторно разделить ли перекрестную проверку в каждой итерации. Если этим полем является false, оптимизатор использует один раздел для оптимизации.

Установка true обычно дает большинство устойчивых результатов, потому что это принимает шум разделения во внимание. Однако для хороших результатов, true требует, по крайней мере, вдвое большего количества вычислений функции.

false
Используйте не больше, чем одну из следующих трех опций.
CVPartitioncvpartition объект, как создано cvpartition'Kfold',5 если вы не задаете поле перекрестной проверки
HoldoutСкаляр в области значений (0,1) представление части затяжки
KfoldЦелое число, больше, чем 1

Пример: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)

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

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

свернуть все

Дерево классификации, возвращенное как объект дерева классификации.

Используя 'CrossVal', 'KFold', 'Holdout', 'Leaveout', или 'CVPartition' опции приводят к дереву класса ClassificationPartitionedModel. Вы не можете использовать разделенное дерево для предсказания, таким образом, этот вид дерева не имеет predict метод. Вместо этого используйте kfoldPredict предсказать ответы для наблюдений, не используемых для обучения.

В противном случае, tree имеет класс ClassificationTree, и можно использовать predict метод, чтобы сделать предсказания.

Больше о

свернуть все

Тест искривления

curvature test является статистическим тестом, оценивающим нулевую гипотезу, что две переменные являются несвязанными.

Тест искривления между переменным предиктором x и y проводится с помощью этого процесса.

  1. Если x непрерывен, то раздел это в его квартили. Создайте номинальную переменную, что наблюдения интервалов, согласно которому разделу раздела они занимают. Если существуют отсутствующие значения, то создают дополнительный интервал для них.

  2. Для каждого уровня в разделенном предикторе j = 1... J и класс в ответе k = 1..., K, вычисляют взвешенную пропорцию наблюдений в классе k

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

    wi является весом наблюдения i, wi=1, I является функцией индикатора, и n является объемом выборки. Если все наблюдения имеют тот же вес, то π^jk=njkn, где njk является количеством наблюдений на уровне j предиктора, которые находятся в классе k.

  3. Вычислите тестовую статистическую величину

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

    π^j+=kπ^jk, то есть, безусловная вероятность наблюдения предиктора на уровне j. π^+k=jπ^jk, это - безусловная вероятность наблюдения класса k. Если n является достаточно большим, то t распределяется как χ2 с (K – 1) (J – 1) степени свободы.

  4. Если 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].

Примесь и ошибка узла

Дерево решений разделяет узлы или на основе impurity или на основе node error.

Примесь означает одну из нескольких вещей, в зависимости от вашего выбора SplitCriterion аргумент пары "имя-значение":

  • Индекс разнообразия Джини (gdi) — Индекс Gini узла

    1ip2(i),

    где суммой является по классам i в узле, и p (i) является наблюдаемой частью классов с классом i, которые достигают узла. Узел со всего одним классом (узел pure) сделал, чтобы Gini индексировал 0; в противном случае индекс Gini положителен. Таким образом, индекс Gini является мерой примеси узла.

  • Отклонение ('deviance') — С p (i) задал то же самое что касается индекса Gini, отклонение узла

    ip(i)log2p(i).

    Чистый узел имеет отклонение 0; в противном случае отклонение положительно.

  • Правило Twoing ('twoing') — Twoing не является мерой по чистоте узла, но является различной мерой для решения, как разделить узел. Позволенный L (i) обозначает часть членов класса i в левом дочернем узле после разделения, и R (i) обозначает часть членов класса i в правильном дочернем узле после разделения. Выберите критерий разделения, чтобы максимизировать

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

    где P (L) и P (R) является частями наблюдений, которые разделяют налево и право соответственно. Если выражение является большим, разделение сделало каждый дочерний узел более чистым. Точно так же, если выражение мало, разделение сделало каждый дочерний узел похожим друг на друга, и поэтому похожим на родительский узел. Разделение не увеличило чистоту узла.

  • Ошибка узла — ошибка узла является частью неправильно классифицированных классов в узле. Если j является классом с наибольшим числом обучающих выборок в узле, ошибка узла

    1 – p (j).

Тест взаимодействия

interaction test является статистическим тестом, который оценивает нулевую гипотезу, что нет никакого взаимодействия между парой переменных предикторов и переменной отклика.

Тест взаимодействия, оценивающий ассоциацию между переменными предикторами x 1 и x 2 относительно y, проводится с помощью этого процесса.

  1. Если x 1 или x 2 непрерывен, то раздел что переменная в ее квартили. Создайте номинальную переменную, что наблюдения интервалов, согласно которому разделу раздела они занимают. Если существуют отсутствующие значения, то создают дополнительный интервал для них.

  2. Создайте номинальную переменную z с J = J 1J2 уровни, который присваивает индекс наблюдению i, согласно которым уровням x 1 и x 2 это принадлежит. Удалите любые уровни z, которые не соответствуют никаким наблюдениям.

  3. Проведите тест искривления между z и y.

При росте деревьев решений, если в данных существуют важные взаимодействия между парами предикторов, но существует также много других менее важных предикторов, то стандартный CART имеет тенденцию пропускать важные взаимодействия. Однако проведение искривления и тестов взаимодействия для выбора предиктора вместо этого может улучшить обнаружение важных взаимодействий, которые могут дать к более точным деревьям решений.

Для получения дополнительной информации о том, как тест взаимодействия применяется к росту деревьев решений, смотрите Тест Искривления, Правила Расщепления узлов и [3].

Прогнозирующая мера ассоциации

predictive measure of association является значением, которое указывает, что подобие между решением управляет что наблюдения разделения. Среди всех возможных разделений решения, которые сравниваются с оптимальным разделением (найденный путем роста дерева), лучшее суррогатное разделение решения дает к максимальной прогнозирующей мере ассоциации. Второсортное суррогатное разделение имеет вторую по величине прогнозирующую меру ассоциации.

Предположим, что xj и xk являются переменными предикторами j и k, соответственно, и jk. В узле t прогнозирующая мера ассоциации между оптимальным разделением xj <u и суррогат разделяют xk <v

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

  • PL является пропорцией наблюдений в узле t, такой что xj <u. Индекс L выдерживает за покинутый дочерний элемент узла t.

  • PR является пропорцией наблюдений в узле t, такой что xju. Индекс R выдерживает за правильный дочерний элемент узла t.

  • PLjLk пропорция наблюдений в узле t, такой что xj <u и xk <v.

  • PRjRk пропорция наблюдений в узле t, такой что xju и xkv.

  • Наблюдения с отсутствующими значениями для 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:

    1. fitctree вычисляет взвешенную примесь узла t, it. Для поддерживаемых примесных мер смотрите SplitCriterion.

    2. fitctree оценивает вероятность, что наблюдение находится в узле использование t

      P(T)=jTwj.

      wj является весом наблюдения j, и T является набором всех индексов наблюдения в узле t. Если вы не задаете Prior или Weights, затем wj = 1/n, где n является объемом выборки.

    3. fitctree виды xi в порядке возрастания. Каждым элементом отсортированного предиктора является разделяющий кандидат или точка разделения. fitctree хранилища любые индексы, соответствующие отсутствующим значениям в наборе TU, который является неразделенным набором.

    4. fitctree определяет лучший способ разделить узел t с помощью xi путем максимизации примесного усиления (ΔI) по всем кандидатам разделения. Таким образом, для всех кандидатов разделения в xi:

      1. fitctree разделяет наблюдения в узле t в левые и правые дочерние узлы (tL и tR, соответственно).

      2. fitctree вычисляет ΔI. Предположим, что для конкретного кандидата разделения, tL и tR содержат индексы наблюдения в наборах TL и TR, соответственно.

        • Если xi не содержит отсутствующих значений, то примесное усиление для текущего кандидата разделения

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

        • Если xi содержит отсутствующие значения затем, принимая, что наблюдения отсутствуют наугад, примесное усиление

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

          T TU является набором всех индексов наблюдения в узле t, которые не отсутствуют.

        • Если вы используете суррогатные разделения решения, то:

          1. fitctree вычисляет прогнозирующие меры ассоциации между разделением решения xj <u и все возможное решение разделяют xk <v, jk.

          2. fitctree сортирует возможные альтернативные разделения решения в порядке убывания по их прогнозирующей мере связи с оптимальным разделением. Суррогатное разделение является разделением решения, дающим к самой большой мере.

          3. 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.

          4. fitctree использует соответствующую примесную формулу усиления. Таким образом, если fitctree сбои, чтобы присвоить все недостающие наблюдения в узле t к дочерним узлам с помощью суррогатных разделений, затем примесное усиление являются ΔIU. В противном случае, fitctree использование ΔI для примесного усиления.

      3. fitctree выбирает кандидата, который дает к самому большому примесному усилению.

    fitctree разделяет переменный предиктор в точке разделения, которая максимизирует примесное усиление.

  • Для теста искривления (то есть, если PredictorSelection 'curvature'):

    1. fitctree проводит тесты искривления между каждым предиктором и ответом для наблюдений в узле t.

      • Если весь p - значения - по крайней мере 0,05, то fitctree не разделяет узел t.

      • Если существует минимальный p - значение, то fitctree выбирает соответствующий предиктор, чтобы разделить узел t.

      • Если больше чем один p - значение является нулем, должным потерять значимость, то fitctree применяет стандартный CART к соответствующим предикторам, чтобы выбрать предиктор разделения.

    2. Если fitctree выбирает предиктор разделения, затем он использует стандартный CART, чтобы выбрать точку разделения (см. шаг 4 в стандартном процессе CART).

  • Для теста взаимодействия (то есть, если PredictorSelection 'interaction-curvature' ):

    1. Для наблюдений в узле t, fitctree проводит тесты искривления между каждым предиктором и ответом и тесты взаимодействия между каждой парой предикторов и ответом.

      • Если весь p - значения - по крайней мере 0,05, то fitctree не разделяет узел t.

      • Если существует минимальный p - значение, и это - результат теста искривления, то fitctree выбирает соответствующий предиктор, чтобы разделить узел t.

      • Если существует минимальный p - значение, и это - результат теста взаимодействия, то fitctree выбирает предиктор разделения с помощью стандартного CART на соответствующей паре предикторов.

      • Если больше чем один p - значение является нулем, должным потерять значимость, то fitctree применяет стандартный CART к соответствующим предикторам, чтобы выбрать предиктор разделения.

    2. Если fitctree выбирает предиктор разделения, затем он использует стандартный CART, чтобы выбрать точку разделения (см. шаг 4 в стандартном процессе CART).

Древовидное управление глубиной

  • Если MergeLeaves 'on' и PruneCriterion 'error' (которые являются значениями по умолчанию для этих аргументов пары "имя-значение"), затем программное обеспечение применяет сокращение только к листам и при помощи ошибки классификации. Эта спецификация составляет слияние листов, которые совместно используют самый популярный класс на лист.

  • Вмещать MaxNumSplits, fitctree разделения все узлы в текущем layer, и затем считают количество узлов ветви. Слой является набором узлов, которые являются равноотстоящими от корневого узла. Если количество узлов ветви превышает MaxNumSplits, fitctree выполняет эту процедуру:

    1. Определите, сколько узлов ветви в текущем слое должно быть не разделено так, чтобы было в большей части MaxNumSplits узлы ветви.

    2. Сортировка узлов ветви их примесными усилениями.

    3. Неразделенный количество наименее успешных ветвей.

    4. Возвратите дерево решений, выращенное до сих пор.

    Эта процедура производит максимально сбалансированные деревья.

  • Слой узлов ветви разделений программного обеспечения слоем до по крайней мере одного из этих событий происходит:

    • Существует MaxNumSplits узлы ветви.

    • Предложенное разделение заставляет количество наблюдений по крайней мере в одном узле ветви быть меньше, чем MinParentSize.

    • Предложенное разделение заставляет количество наблюдений по крайней мере в одной вершине быть меньше, чем MinLeafSize.

    • Алгоритм не может найти хорошее разделение на слое (т.е. критерий сокращения (см. PruneCriterion), не улучшается для всех предложенных разделений в слое). Особый случай - когда все узлы чисты (i.e., все наблюдения в узле имеют тот же класс).

    • Для значений 'curvature' или 'interaction-curvature' из PredictorSelection, все тесты дают к p - значения, больше, чем 0,05.

    MaxNumSplits и MinLeafSize не влияйте на разделение в их значениях по умолчанию. Поэтому, если вы устанавливаете 'MaxNumSplits', разделение может остановиться из-за значения MinParentSize, перед MaxNumSplits разделения происходят.

Распараллеливание

Для двухъядерных систем и выше, fitctree параллелизирует учебное использование деревьев решений Intel® Поточная обработка базовых блоков (TBB). Для получения дополнительной информации на Intel TBB, см. https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html.

Ссылки

[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.

Расширенные возможности

Введенный в R2014a