Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fitctree

Ajustar árbol de decisión binaria para la clasificación multiclase

Descripción

tree = fitctree(Tbl,ResponseVarName) Devuelve un árbol de decisión de clasificación binaria ajustada basado en las variables de entrada (también conocidas como predictores, características o atributos) contenidas en la tabla y la salida (respuesta o etiquetas) contenidas en.TblResponseVarName El árbol binario devuelto divide los nodos de bifurcación en función de los valores de una columna de.Tbl

tree = fitctree(Tbl,formula) Devuelve un árbol de decisión de clasificación binaria ajustada basado en las variables de entrada contenidas en la tabla. es un modelo explicativo de la respuesta y un subconjunto de variables predictoras en uso para ajustarse.TblFórmulaTbltree

tree = fitctree(Tbl,Y) Devuelve un árbol de decisión de clasificación binaria ajustada basado en las variables de entrada contenidas en la tabla y la salida en Vector.TblY

ejemplo

tree = fitctree(X,Y) Devuelve un árbol de decisión de clasificación binaria ajustada basado en las variables de entrada contenidas en la matriz y la salida.XY El árbol binario devuelto divide los nodos de bifurcación en función de los valores de una columna de.X

ejemplo

tree = fitctree(___,Name,Value) se ajusta a un árbol con opciones adicionales especificadas por uno o más argumentos de par nombre-valor, utilizando cualquiera de las sintaxis anteriores. Por ejemplo, puede especificar el algoritmo utilizado para encontrar la mejor división en un predictor categórico, hacer crecer un árbol validado de forma cruzada o mantener una fracción de los datos de entrada para la validación.

Ejemplos

contraer todo

Cultivar un árbol de clasificación utilizando el conjunto de datos.ionosphere

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

Puede controlar la profundidad de los árboles utilizando los parámetros de par nombre-valor. cultiva árboles de decisión de forma predeterminada.MaxNumSplitsMinLeafSizeMinParentSizefitctree Puede cultivar árboles menos profundos para reducir la complejidad del modelo o el tiempo de cálculo.

Cargue el conjunto de datos.ionosphere

load ionosphere

Los valores predeterminados de los controladores de profundidad de árbol para los árboles de clasificación crecientes son:

  • Para. es el tamaño de la muestra de entrenamiento.n - 1MaxNumSplitsn

  • Para.1MinLeafSize

  • Para.10MinParentSize

Estos valores predeterminados tienden a cultivar árboles profundos para tamaños de muestra de entrenamiento grandes.

Entrenar un árbol de clasificación utilizando los valores predeterminados para el control de profundidad de árbol. Valide el modelo mediante la validación cruzada de 10 veces.

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

Dibuje un histograma del número de divisiones impuestas en los árboles. También, ver uno de los árboles.

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

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

El número promedio de divisiones es de alrededor de 15.

Supongamos que desea un árbol de clasificación que no sea tan complejo (profundo) como los entrenados utilizando el número predeterminado de divisiones. Entrenar otro árbol de clasificación, pero establecer el número máximo de divisiones en 7, que es aproximadamente la mitad del número medio de divisiones del árbol de clasificación por defecto. Valide el modelo mediante la validación cruzada de 10 veces.

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

Compare los errores de clasificación de validación cruzada de los modelos.

classErrorDefault = kfoldLoss(MdlDefault)
classErrorDefault = 0.1140 
classError7 = kfoldLoss(Mdl7)
classError7 = 0.1254 

es mucho menos complejo y funciona sólo un poco peor que.Mdl7MdlDefault

En este ejemplo se muestra cómo optimizar los hiperparámetros automáticamente mediante.fitctree El ejemplo utiliza los datos de iris de Fisher.

Cargue los datos de iris de Fisher.

load fisheriris

Optimice la pérdida de validación cruzada del clasificador, utilizando los datos para predecir la respuesta.measspecies

X = meas; Y = species; Mdl = fitctree(X,Y,'OptimizeHyperparameters','auto')

|======================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize | |      | result |             | runtime     | (observed)  | (estim.)    |              | |======================================================================================| |    1 | Best   |    0.066667 |      1.3189 |    0.066667 |    0.066667 |           31 | |    2 | Accept |    0.066667 |     0.28182 |    0.066667 |    0.066667 |           12 | |    3 | Best   |        0.04 |     0.18161 |        0.04 |    0.040003 |            2 | |    4 | Accept |     0.66667 |      0.1616 |        0.04 |     0.15796 |           73 | |    5 | Accept |        0.04 |     0.25432 |        0.04 |    0.040009 |            2 | |    6 | Accept |        0.04 |      0.1321 |        0.04 |    0.040007 |            3 | |    7 | Accept |     0.66667 |    0.089845 |        0.04 |    0.040007 |           75 | |    8 | Accept |    0.066667 |    0.090124 |        0.04 |    0.040008 |           20 | |    9 | Accept |    0.066667 |     0.13334 |        0.04 |    0.040008 |            6 | |   10 | Best   |    0.033333 |     0.12763 |    0.033333 |    0.033351 |            1 | |   11 | Accept |        0.04 |     0.20327 |    0.033333 |    0.033348 |            4 | |   12 | Accept |    0.066667 |     0.12326 |    0.033333 |    0.033348 |           26 | |   13 | Accept |    0.066667 |     0.13703 |    0.033333 |    0.033489 |            9 | |   14 | Accept |    0.033333 |     0.33771 |    0.033333 |    0.033339 |            1 | |   15 | Accept |    0.066667 |     0.14407 |    0.033333 |    0.033339 |           16 | |   16 | Accept |    0.033333 |     0.16354 |    0.033333 |    0.033337 |            1 | |   17 | Accept |    0.033333 |     0.18299 |    0.033333 |    0.033336 |            1 | |   18 | Accept |     0.33333 |     0.12321 |    0.033333 |    0.033336 |           43 | |   19 | Accept |    0.046667 |     0.35991 |    0.033333 |    0.033336 |            5 | |   20 | Accept |    0.066667 |     0.11482 |    0.033333 |    0.033336 |            7 | |======================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize | |      | result |             | runtime     | (observed)  | (estim.)    |              | |======================================================================================| |   21 | Accept |    0.066667 |     0.11428 |    0.033333 |    0.033336 |           14 | |   22 | Accept |    0.066667 |     0.16467 |    0.033333 |    0.033336 |           10 | |   23 | Accept |    0.066667 |     0.18485 |    0.033333 |    0.033336 |           36 | |   24 | Accept |     0.33333 |     0.20996 |    0.033333 |    0.034143 |           55 | |   25 | Accept |        0.04 |     0.24161 |    0.033333 |    0.034123 |            2 | |   26 | Accept |        0.04 |     0.12809 |    0.033333 |    0.034089 |            3 | |   27 | Accept |        0.04 |      0.1168 |    0.033333 |    0.034065 |            4 | |   28 | Accept |    0.066667 |     0.12518 |    0.033333 |    0.034038 |           23 | |   29 | Accept |    0.066667 |     0.19786 |    0.033333 |    0.034008 |            8 | |   30 | Accept |    0.066667 |     0.20007 |    0.033333 |    0.033977 |           18 |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 58.9988 seconds. Total objective function evaluation time: 6.3444  Best observed feasible point:     MinLeafSize     ___________           1       Observed objective function value = 0.033333 Estimated objective function value = 0.033977 Function evaluation time = 0.12763  Best estimated feasible point (according to models):     MinLeafSize     ___________           1       Estimated objective function value = 0.033977 Estimated function evaluation time = 0.17412 
Mdl =    ClassificationTree                          ResponseName: 'Y'                 CategoricalPredictors: []                            ClassNames: {'setosa'  'versicolor'  'virginica'}                        ScoreTransform: 'none'                       NumObservations: 150     HyperparameterOptimizationResults: [1x1 BayesianOptimization]     Properties, Methods  

Cargue el conjunto de datos.census1994 Considere un modelo que predice la categoría salarial de una persona dada su edad, clase obrera, nivel educativo, estado marcial, raza, sexo, ganancia y pérdida de capital, y número de horas de trabajo por semana.

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

Mostrar el número de categorías representadas en las variables categóricas utilizando.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   

Debido a que hay pocas categorías representadas en las variables categóricas en comparación con los niveles en las variables continuas, el algoritmo de división de predictor estándar de CART prefiere dividir un predictor continuo sobre las variables categóricas.

Entrenar un árbol de clasificación utilizando todo el conjunto de datos. Para cultivar árboles no sesgados, especifique el uso de la prueba de curvatura para dividir los predictores. Dado que faltan observaciones en los datos, especifique el uso de divisiones sustitutas.

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

Calcule los valores de importancia del predictor sumando los cambios en el riesgo debido a las divisiones en cada predictor y dividiendo la suma por el número de nodos de bifurcación. Compare las estimaciones utilizando un gráfico de barras.

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

En este caso, es el predictor más importante, seguido de.capital_gaineducation_num

Este ejemplo muestra cómo optimizar los hiperparámetros de un árbol de clasificación automáticamente mediante una matriz alta. El conjunto de datos de ejemplo es un conjunto de datos de gran tamaño que contiene un archivo tabular de datos de vuelo de la aerolínea.airlinesmall.csv En este ejemplo se crea una tabla alta que contiene los datos y se utiliza para ejecutar el procedimiento de optimización.

Cree un almacén de datos que hace referencia a la ubicación de la carpeta con los datos. Seleccione un subconjunto de las variables con las que trabajar y trate los valores como datos faltantes para que los reemplace por valores.'NA'datastoreNaN Cree una tabla alta que contenga los datos en el almacén.

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          :          :             :           :          :           :           :       :          :             :           :          :           :           : 

Al ejecutar cálculos en matrices altas, el entorno de ejecución predeterminado utiliza la sesión de MATLAB local o un grupo paralelo local (si tiene Parallel Computing Toolbox™). Puede utilizar la función para cambiar el entorno de ejecución.mapreducer

Determine los vuelos que se retrasan 10 minutos o más definiendo una variable lógica que es verdadera para un vuelo tardío. Esta variable contiene las etiquetas de clase. Una vista previa de esta variable incluye las primeras filas.

Y = tt.DepDelay > 10 % Class labels
Y =    M×1 tall logical array     1    0    1    1    0    1    0    0    :    : 

Cree una matriz alta para los Datos predictores.

X = tt{:,1:end-1} % Predictor data
X =    M×6 tall double matrix    Columns 1 through 5            10          21           3         642           8           10          26           1        1021           8           10          23           5        2055          21           10          23           5        1332          13           10          22           4         629           4           10          28           3        1446          59           10           8           4         928           3           10          10           6         859          11           :           :            :          :           :           :           :            :          :           :    Column 6           308          296          480          296          373          308          447          954           :           : 

Eliminar filas y que contengan datos faltantes.XY

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

Estandarizar las variables predictoras.

Z = zscore(X);

Optimice los hiperparámetros automáticamente mediante el argumento de par nombre-valor.'OptimizeHyperparameters' Busque el valor óptimo que minimiza la pérdida de validación cruzada de exclusión.'MinLeafSize' (Especificación de usos.)'auto''MinLeafSize' Para reproducibilidad, utilice la función de adquisición y establezca las semillas de los generadores de números aleatorios utilizando y.'expected-improvement-plus'rngtallrng Los resultados pueden variar en función del número de trabajadores y del entorno de ejecución de los arrays altos. Para obtener más información, consulte.Controle dónde se ejecuta el código (MATLAB)

rng('default')  tallrng('default') [Mdl,FitInfo,HyperparameterOptimizationResults] = fitctree(Z,Y,...     'OptimizeHyperparameters','auto',...     'HyperparameterOptimizationOptions',struct('Holdout',0.3,...     'AcquisitionFunctionName','expected-improvement-plus'))
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 3: Completed in 8.2 sec - Pass 2 of 3: Completed in 9.7 sec - Pass 3 of 3: Completed in 6.2 sec Evaluation completed in 24 sec 

Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.7 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.3 sec Evaluation completed in 2.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 2.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 8.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 8.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.7 sec Evaluation completed in 8.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 9.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.9 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.6 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 3.6 sec Evaluation completed in 3.6 sec |======================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  MinLeafSize | |      | result |             | runtime     | (observed)  | (estim.)    |              | |======================================================================================| |    1 | Best   |      0.1163 |       277.4 |      0.1163 |      0.1163 |           10 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.74 sec Evaluation completed in 0.79 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    2 | Accept |     0.19635 |       17.06 |      0.1163 |     0.12063 |        48298 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 5.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.9 sec |    3 | Best   |      0.1048 |      87.792 |      0.1048 |     0.11151 |         3166 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.67 sec Evaluation completed in 0.73 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.9 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 0.98 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |    4 | Best   |       0.101 |      153.47 |       0.101 |      0.1056 |          180 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 5.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |    5 | Best   |     0.10058 |      156.17 |     0.10058 |      0.1006 |          145 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.73 sec Evaluation completed in 0.79 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.4 sec |    6 | Accept |     0.10155 |      113.72 |     0.10058 |     0.10059 |         1058 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.69 sec Evaluation completed in 0.75 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.3 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 0.97 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 6.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.6 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.3 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.4 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 2.2 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.6 sec Evaluation completed in 8.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.3 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2.4 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.7 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.3 sec - Pass 2 of 4: Completed in 2.6 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.2 sec Evaluation completed in 11 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.6 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.5 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 11 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.2 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.9 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.4 sec Evaluation completed in 9.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.6 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.7 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.3 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.5 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.1 sec - Pass 2 of 4: Completed in 2.3 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 9.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2.7 sec - Pass 2 of 4: Completed in 2.8 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 10 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    7 | Accept |     0.13479 |       312.1 |     0.10058 |     0.10059 |            1 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.62 sec Evaluation completed in 0.67 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.3 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 2 sec - Pass 2 of 4: Completed in 2.5 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2.2 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 8.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.6 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.7 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 1.6 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |    8 | Accept |     0.10249 |      190.23 |     0.10058 |     0.10063 |           58 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.67 sec Evaluation completed in 0.73 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 5.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |    9 | Best   |     0.10033 |      164.41 |     0.10033 |      0.1004 |          112 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.98 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.98 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 5.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 0.98 sec - Pass 4 of 4: Completed in 1.7 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.7 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.9 sec |   10 | Accept |     0.10145 |      102.12 |     0.10033 |     0.10042 |         1682 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 5.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.4 sec |   11 | Accept |     0.10047 |      164.08 |     0.10033 |     0.10044 |          114 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.8 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.7 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 5.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.8 sec Evaluation completed in 1.8 sec |   12 | Accept |     0.10105 |      171.09 |     0.10033 |     0.10061 |          116 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.63 sec Evaluation completed in 0.68 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 7.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.2 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2 sec Evaluation completed in 7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.1 sec Evaluation completed in 6.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 6.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.9 sec Evaluation completed in 7.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   13 | Accept |     0.10105 |      155.32 |     0.10033 |     0.10069 |          122 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 0.63 sec Evaluation completed in 0.69 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 0.99 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 5.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 0.99 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.4 sec Evaluation completed in 6.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.1 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.3 sec Evaluation completed in 6.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.3 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.5 sec Evaluation completed in 5.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.6 sec - Pass 2 of 4: Completed in 1.4 sec - Pass 3 of 4: Completed in 1.5 sec - Pass 4 of 4: Completed in 1.6 sec Evaluation completed in 6.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 1.7 sec Evaluation completed in 7.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.1 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 1.8 sec Evaluation completed in 6.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 1.9 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 2.5 sec Evaluation completed in 8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.3 sec - Pass 2 of 4: Completed in 1.5 sec - Pass 3 of 4: Completed in 1 sec - Pass 4 of 4: Completed in 2.8 sec Evaluation completed in 7.4 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.8 sec - Pass 2 of 4: Completed in 2.1 sec - Pass 3 of 4: Completed in 1.1 sec - Pass 4 of 4: Completed in 3 sec Evaluation completed in 8.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.7 sec - Pass 3 of 4: Completed in 1.6 sec - Pass 4 of 4: Completed in 3.1 sec Evaluation completed in 8.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 4: Completed in 1.5 sec - Pass 2 of 4: Completed in 1.8 sec - Pass 3 of 4: Completed in 1.2 sec - Pass 4 of 4: 0% complete Evalua... 
Mdl =    classreg.learning.classif.CompactClassificationTree              ResponseName: 'Y'     CategoricalPredictors: []                ClassNames: [0 1]            ScoreTransform: 'none'     Properties, Methods  
FitInfo = struct with no fields.
HyperparameterOptimizationResults =    BayesianOptimization with properties:                        ObjectiveFcn: @createObjFcn/tallObjFcn               VariableDescriptions: [4×1 optimizableVariable]                            Options: [1×1 struct]                       MinObjective: 0.1003                    XAtMinObjective: [1×1 table]              MinEstimatedObjective: 0.1007           XAtMinEstimatedObjective: [1×1 table]            NumObjectiveEvaluations: 30                   TotalElapsedTime: 4.7763e+03                          NextPoint: [1×1 table]                             XTrace: [30×1 table]                     ObjectiveTrace: [30×1 double]                   ConstraintsTrace: []                      UserDataTrace: {30×1 cell}       ObjectiveEvaluationTimeTrace: [30×1 double]                 IterationTimeTrace: [30×1 double]                         ErrorTrace: [30×1 double]                   FeasibilityTrace: [30×1 logical]        FeasibilityProbabilityTrace: [30×1 double]                IndexOfMinimumTrace: [30×1 double]              ObjectiveMinimumTrace: [30×1 double]     EstimatedObjectiveMinimumTrace: [30×1 double]  

Argumentos de entrada

contraer todo

Datos de ejemplo utilizados para entrenar el modelo, especificado como una tabla. Cada fila de corresponde a una observación, y cada columna corresponde a una variable predictora.Tbl Opcionalmente, puede contener una columna adicional para la variable de respuesta.Tbl No se permiten las variables de varias columnas ni matrices de celdas que no sean matrices de celdas de vectores de caracteres.

Si contiene la variable de respuesta y desea utilizar todas las variables restantes como predictores, especifique la variable de respuesta mediante.TblTblResponseVarName

Si contiene la variable de respuesta y desea usar solo un subconjunto de las variables restantes como predictores, especifique una fórmula mediante.TblTblFórmula

Si no contiene la variable de respuesta, especifique una variable de respuesta mediante.TblY La longitud de la variable de respuesta y el número de filas en debe ser igual.Tbl

Tipos de datos: table

Nombre de variable de respuesta, especificado como el nombre de una variable en.Tbl

Debe especificar como un vector de caracteres o un escalar de cadena.ResponseVarName Por ejemplo, si la variable de respuesta se almacena como, a continuación, especifíquese como.YTbl.Y'Y' De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.TblY

La variable de respuesta debe ser una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. Si es una matriz de caracteres, cada elemento de la variable de respuesta debe corresponder a una fila de la matriz.Y

Es una buena práctica para especificar el orden de las clases mediante el argumento de par nombre-valor.ClassNames

Tipos de datos: char | string

Modelo explicativo de la respuesta y un subconjunto de las variables predictoras, especificadas como un vector de caracteres o un escalar de cadena en el formulario.'Y~X1+X2+X3' En este formulario, representa la variable de respuesta y, y representa las variables predictoras.YX1X2X3 Las variables deben ser nombres de variable en ().TblTbl.Properties.VariableNames

Para especificar un subconjunto de variables como predictores para entrenar el modelo, utilice una fórmula.Tbl Si especifica una fórmula, el software no utiliza ninguna variable en la que no aparezcan.TblFórmula

Tipos de datos: char | string

Etiquetas de clase, especificadas como vector numérico, Vector categórico, Vector lógico, matriz de caracteres, matriz de cadenas o matriz de celdas de vectores de caracteres. Cada fila de representa la clasificación de la fila correspondiente de.YX

Al ajustar el árbol, considera, (vector de carácter vacío), (cadena vacía), y los valores en que faltan valores. no utiliza observaciones con valores faltantes para el ajuste.fitctreeNaN''""<missing><undefined>YfitctreeY

Para numérico, considere la posibilidad de ajustar un árbol de regresión utilizando en su lugar.Yfitrtree

Tipos de datos: single | double | categorical | logical | char | string | cell

Datos de predictor, especificados como una matriz numérica. Cada fila de corresponde a una observación, y cada columna corresponde a una variable predictora.X

considera los valores como valores faltantes. no utiliza observaciones con todos los valores faltantes para el ajuste. utiliza observaciones con algunos valores faltantes para encontrar divisiones en variables para las que estas observaciones tienen valores válidos.fitctreeNaNXfitctreeXfitctreeX

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: especifica un árbol de clasificación con validación cruzada con un mínimo de 40 observaciones por hoja.'CrossVal','on','MinLeafSize',40

Nota

No puede usar ningún argumento de par nombre-valor de validación cruzada junto con el argumento de par nombre-valor.'OptimizeHyperparameters' Solo puede modificar la validación cruzada mediante el argumento de par nombre-valor.'OptimizeHyperparameters''HyperparameterOptimizationOptions'

Parámetros del modelo

contraer todo

Algoritmo para encontrar la mejor división en un predictor categórico con categorías de datos y ≥ 3 clases, especificadas como el par separado por comas que consta de y uno de los siguientes valores.CK'AlgorithmForCategorical'

ValorDescripción
'Exact'Considere los 2C–1 – 1 combinaciones.
'PullLeft'Empiece con todas las categorías de la rama derecha.C Considere mover cada categoría a la rama izquierda, ya que logra la impureza mínima para las clases entre las categorías restantes.K A partir de esta secuencia, elija la división que tiene la impureza más baja.
'PCA'Calcule una puntuación para cada categoría utilizando el producto interno entre el primer componente principal de una matriz de covarianza ponderada (de la matriz de probabilidad de clase centrada) y el vector de probabilidades de clase para esa categoría. Ordene las puntuaciones en orden ascendente y considere todas – 1 divisiones.C
'OVAbyClass'Empiece con todas las categorías de la rama derecha.C Para cada clase, ordene las categorías en función de su probabilidad para esa clase. Para la primera clase, considere mover cada categoría a la rama izquierda en orden, registrando el criterio de impureza en cada movimiento. Repita para las clases restantes. A partir de esta secuencia, elija la división que tiene la impureza mínima.

selecciona automáticamente el subconjunto óptimo de algoritmos para cada división utilizando el número conocido de clases y niveles de un predictor categórico.fitctree Para = 2 clases, siempre realiza la búsqueda exacta.Kfitctree Para especificar un algoritmo determinado, utilice el argumento de par nombre-valor.'AlgorithmForCategorical'

Para obtener más información, consulte.División de predictores categóricos en árboles de clasificación

Ejemplo: 'AlgorithmForCategorical','PCA'

Lista de predictores categóricos, especificada como el par separado por comas que consta de y uno de los valores de esta tabla.'CategoricalPredictors'

ValorDescripción
Vector de enteros positivosUna entrada en el vector es el valor de índice correspondiente a la columna de los Datos predictores (o) que contiene una variable categórica.XTbl
Vector lógicoUna entrada significa que la columna correspondiente de Datos predictores (o) es una variable categórica.trueXTbl
Matriz de caracteresCada fila de la matriz es el nombre de una variable predictora. Los nombres deben coincidir con las entradas.PredictorNames Pad los nombres con espacios en blanco adicionales por lo que cada fila de la matriz de caracteres tiene la misma longitud.
Matriz de cadenas o matriz de vectores de caracteresCada elemento de la matriz es el nombre de una variable predictora. Los nombres deben coincidir con las entradas.PredictorNames
todosTodos los predictores son categóricos.

De forma predeterminada, si los Datos predictores están en una tabla (),Tbl fitctree asume que una variable es categórica si contiene valores lógicos, valores categóricos, una matriz de cadenas o una matriz de vectores de caracteres. Si los Datos predictores son una matriz (),X fitctree asume que todos los predictores son continuos. Para identificar los predictores categóricos cuando los datos son una matriz, utilice el argumento de par nombre-valor.'CategoricalPredictors'

Ejemplo: 'CategoricalPredictors','all'

Tipos de datos: single | double | logical | char | string | cell

Nombres de las clases que se usarán para el entrenamiento, especificadas como el par separado por comas que consta de una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. debe tener el mismo tipo de datos que.'ClassNames'ClassNamesY

Si es una matriz de caracteres, cada elemento debe corresponder a uno de la matriz.ClassNamesrow

Utilizar para:ClassNames

  • Ordene las clases durante el entrenamiento.

  • Especifique el orden de cualquier dimensión de argumento de entrada o de salida que corresponda al orden de la clase. Por ejemplo, se utiliza para especificar el orden de las dimensiones o el orden de columnas de las puntuaciones de clasificación devueltas por.ClassNamesCostoPredecir

  • Seleccione un subconjunto de clases para el entrenamiento. Por ejemplo, supongamos que el conjunto de todos los nombres de clase distintos en es.Y{'a','b','c'} Para entrenar el modelo utilizando observaciones de clases y sólo, especifique.'a''c''ClassNames',{'a','c'}

El valor predeterminado para es el conjunto de todos los nombres de clase distintos en.ClassNamesY

Ejemplo: 'ClassNames',{'b','g'}

Tipos de datos: categorical | char | string | logical | single | double | cell

Coste de clasificación errónea de un punto, especificado como el par separado por comas que consta de uno de los siguientes:'Cost'

  • Matriz cuadrada, donde es el costo de clasificar un punto en la clase si su clase verdadera es (es decir, las filas corresponden a la clase verdadera y las columnas corresponden a la clase pronosticada).Cost(i,j)ji Para especificar el orden de la clase para las filas y columnas correspondientes, especifique también el argumento de par nombre-valor.CostoClassNames

  • Estructura que tiene dos campos: que contiene los nombres de grupo como una variable del mismo tipo de datos que, y que contiene la matriz de costes.SS.ClassNamesYS.ClassificationCosts

El valor predeterminado es if y if.Cost(i,j)=1i~=jCost(i,j)=0i=j

Tipos de datos: single | double | struct

Profundidad de árbol máxima, especificada como el par separado por comas que consta de un entero positivo.'MaxDepth' Especifique un valor para este argumento para devolver un árbol que tiene menos niveles y requiere menos pases a través de la matriz de alto para calcular. Por lo general, el algoritmo de toma un paso a través de los datos y una pasada adicional para cada nivel de árbol.fitctree De forma predeterminada, la función no establece una profundidad de árbol máxima.

Nota

Esta opción solo se aplica cuando se utiliza en matrices altas.fitctree Consulte para obtener más información.Tall arrays

Niveles de categoría máximos, especificados como el par separado por comas que consta de un valor escalar no negativo. divide un predictor categórico utilizando el algoritmo de búsqueda exacto si el predictor tiene en la mayoría de los niveles en el nodo dividido.'MaxNumCategories'fitctreeMaxNumCategories De lo contrario, encuentra la mejor división categórica usando uno de los algoritmos inexactos.fitctree

Pasar un valor pequeño puede conducir a la pérdida de precisión y pasar un valor grande puede aumentar el tiempo de cálculo y la sobrecarga de memoria.

Ejemplo: 'MaxNumCategories',8

Marca de combinación de hojas, especificada como el par separado por comas que consta de y o.'MergeLeaves''on''off'

Si es así,MergeLeaves'on' fitctree:

  • Fusiona las hojas que se originan desde el mismo nodo primario y que produce una suma de valores de riesgo mayor o igual al riesgo asociado con el nodo primario

  • Estima la secuencia óptima de los subárboles podados, pero no poda el árbol de clasificación

Lo contrario fitctree no fusiona hojas.

Ejemplo: 'MergeLeaves','off'

Número mínimo de observaciones de nodo de bifurcación, especificadas como el par separado por comas y que consta de un valor entero positivo.'MinParentSize' Cada nodo de ramificación del árbol tiene al menos observaciones.MinParentSize Si usted suministra ambos y, utiliza el ajuste que da hojas más grandes:.MinParentSizeMinLeafSizefitctreeMinParentSize = max(MinParentSize,2*MinLeafSize)

Ejemplo: 'MinParentSize',8

Tipos de datos: single | double

Número de bins para predictores numéricos, especificados como el par separado por comas que consta de un escalar entero positivo.'NumBins'

  • Si el valor está vacío (predeterminado), el software no bin ningún predictores.'NumBins'

  • Si especifica el valor como un escalar entero positivo, las ubicaciones de software cada predictor numérico en un número especificado de bins equiprobables y, a continuación, crece árboles en los índices de ubicación en lugar de los datos originales.'NumBins'

    • Si el valor excede el número () de valores únicos para un predictor,'NumBins'u fitctree bins el predictor en bins.u

    • fitctree no bin predictores categóricos.

Cuando se utiliza un conjunto de datos de entrenamiento de gran tamaño, esta opción de discretización acelera el entrenamiento, pero provoca una posible disminución de la precisión. Usted puede probar primero, y luego cambiar el valor dependiendo de la precisión y la velocidad de entrenamiento.'NumBins',50'NumBins'

Un modelo entrenado almacena los bordes de la ubicación en la propiedad.BinEdges

Ejemplo: 'NumBins',50

Tipos de datos: single | double

Los nombres de variables predictoras, especificados como el par separado por comas que consta de y una matriz de cadenas de nombres únicos o matriz de celdas de vectores de caracteres únicos.'PredictorNames' La funcionalidad de depende de la forma en que proporcione los datos de entrenamiento.'PredictorNames'

  • Si se suministra y, a continuación, se puede utilizar para dar las variables predictoras en los nombres.XY'PredictorNames'X

    • El orden de los nombres en debe corresponder al orden de las columnas de.PredictorNamesX Es decir, es el nombre de, es el nombre de, y así sucesivamente.PredictorNames{1}X(:,1)PredictorNames{2}X(:,2) También, y debe ser igual.size(X,2)numel(PredictorNames)

    • De forma predeterminada, es.PredictorNames{'x1','x2',...}

  • Si usted suministra, entonces usted puede utilizar para elegir qué variables predictoras a utilizar en el entrenamiento.Tbl'PredictorNames' Es decir fitctree utiliza únicamente las variables predictoras y la variable de respuesta en el entrenamiento.PredictorNames

    • debe ser un subconjunto de y no puede incluir el nombre de la variable de respuesta.PredictorNamesTbl.Properties.VariableNames

    • De forma predeterminada, contiene los nombres de todas las variables predictoras.PredictorNames

    • Es una buena práctica para especificar los predictores para el entrenamiento utilizando cualquiera o sólo.'PredictorNames'Fórmula

Ejemplo: 'PredictorNames',{'SepalLength','SepalWidth','PetalLength','PetalWidth'}

Tipos de datos: string | cell

Algoritmo utilizado para seleccionar el mejor predictor dividido en cada nodo, especificado como el par separado por comas que consta de y un valor en esta tabla.'PredictorSelection'

ValorDescripción
'allsplits'

CARRITO estándar: selecciona el predictor dividido que maximiza la ganancia de criterio dividido sobre todas las posibles divisiones de todos los predictores.[1]

'curvature': Selecciona el predictor dividido que minimiza el valor de las pruebas de Chi-cuadrado de independencia entre cada predictor y la respuesta.Prueba de curvaturap[4] La velocidad de entrenamiento es similar al carrito estándar.
'interaction-curvature': Elige el predictor dividido que minimiza el valor de las pruebas de independencia de Chi-cuadrado entre cada predictor y la respuesta, y que minimiza el-valor de una prueba de Chi-cuadrado de independencia entre cada par de predictores y la respuesta.Prueba de interacciónpp[3] La velocidad de entrenamiento puede ser más lenta que la CART estándar.

Para y, si todas las pruebas de rendimiento-valores mayores que 0,05, a continuación,'curvature''interaction-curvature'p fitctree detiene la división de nodos.

Sugerencia

  • El carrito estándar tiende a seleccionar predictores divididos que contienen muchos valores distintos, por ejemplo, variables continuas, sobre aquellos que contienen pocos valores distintos, por ejemplo, variables categóricas.[4] Considere la posibilidad de especificar la curvatura o la prueba de interacción si se cumple alguna de las siguientes acciones:

    • Si hay predictores que tienen relativamente menos valores distintos que otros predictores, por ejemplo, si el conjunto de datos del predictor es heterogéneo.

    • Si un análisis de la importancia del predictor es su objetivo. Para obtener más información sobre la estimación de importancia predictora, consulte predictorImportance.

  • Los árboles cultivados con CART estándar no son sensibles a las interacciones variables predictoras. Además, estos árboles tienen menos probabilidades de identificar variables importantes en presencia de muchos predictores irrelevantes que la aplicación de la prueba de interacción. Por lo tanto, para tener en cuenta las interacciones predictoras e identificar las variables de importancia en presencia de muchas variables irrelevantes, especifique la prueba de interacción.[3]

  • La velocidad de predicción no se ve afectada por el valor de.'PredictorSelection'

Para obtener más información sobre cómo fitctree selecciona los predictores divididos, vea y.Reglas de división de nodosElija la técnica dividir predictor selección

Ejemplo: 'PredictorSelection','curvature'

Probabilidades previas para cada clase, especificadas como el par separado por comas que consta de y uno de los siguientes.'Prior'

  • Un vector de caracteres o un escalar de cadena:

    • determina las probabilidades de clase de las frecuencias de clase.'empirical'Y Si pasa ponderaciones de observación, utiliza las ponderaciones para calcular las probabilidades de clase.fitctree

    • establece todas las probabilidades de clase iguales.'uniform'

  • Un vector (un valor escalar para cada clase). Para especificar el orden de la clase para los elementos correspondientes, especifique también el argumento de par nombre-valor.PriorClassNames

  • Una estructura con dos campos:S

    • que contiene los nombres de clase como una variable del mismo tipo queS.ClassNamesY

    • que contiene un vector de las probabilidades correspondientesS.ClassProbs

Si establece valores para ambos y, las ponderaciones se renormalizan para sumar el valor de la probabilidad anterior en la clase respectiva.weightsprior

Ejemplo: 'Prior','uniform'

Tipos de datos: char | string | single | double | struct

Marque para estimar la secuencia óptima de los subárboles podados, especificados como el par separado por comas que consiste en y o.'Prune''on''off'

Si es así,Prune'on' fitctree crece el árbol de clasificación sin podar, pero estima la secuencia óptima de los subárboles podados. Lo contrario fitctree crece el árbol de clasificación sin estimar la secuencia óptima de los subárboles podados.

Para podar un modelo entrenado, pasarlo aClassificationTree prune.

Ejemplo: 'Prune','off'

Criterio de poda, especificado como el par separado por comas que consta de y o.'PruneCriterion''error''impurity'

Si especifica,'impurity' fitctree utiliza la medida de impureza especificada por el argumento de par nombre-valor.'SplitCriterion'

Para obtener más información, consulte.Impureza y error de nodo

Ejemplo: 'PruneCriterion','impurity'

Marcar para exigir la reproducibilidad en ejecuciones repetidas de entrenamiento de un modelo, especificado como el par separado por comas que consta de y cualquiera o.'Reproducible'falsetrue

Si no es así, entonces el software selecciona predictores aleatoriamente para cada división.'NumVariablesToSample''all' Para reproducir las selecciones aleatorias, debe especificar y establecer la inicialización del generador de números aleatorios mediante.'Reproducible',truerng Tenga en cuenta que la configuración puede ralentizar el entrenamiento.'Reproducible'true

Ejemplo: 'Reproducible',true

Tipos de datos: logical

Nombre de variable de respuesta, especificado como el par separado por comas que consta de un vector de caracteres o un escalar de cadena que representa el nombre de la variable de respuesta.'ResponseName'

Este par de nombre-valor no es válido cuando se utilizan los argumentos de entrada o.ResponseVarNameFórmula

Ejemplo: 'ResponseName','IrisType'

Tipos de datos: char | string

Transformación de puntuación, especificada como el par separado por comas que consta de un vector de caracteres, un escalar de cadena o un identificador de función.'ScoreTransform'

Esta tabla resume los vectores de caracteres disponibles y los escalares de cadena.

ValorDescripción
'doublelogit'1/(1 +e–2x)
'invlogit'log (/(1 –))xx
'ismax'Establece la puntuación de la clase con la puntuación más grande y establece las puntuaciones de todas las demás clases para10
'logit'1/(1 +ex)
O'none''identity'(sin transformación)x
'sign'– 1 para < 0 0 para = 0 1 para > 0x
x
x
'symmetric'2 – 1x
'symmetricismax'Establece la puntuación de la clase con la puntuación más grande y establece las puntuaciones de todas las demás clases para1–1
'symmetriclogit'2/(1 +ex) – 1

Para una función o una función que defina, utilice su identificador de función para la transformación de puntuación.MATLAB® El identificador de función debe aceptar una matriz (las puntuaciones originales) y devolver una matriz del mismo tamaño (las puntuaciones transformadas).

Ejemplo: 'ScoreTransform','logit'

Tipos de datos: char | string | function_handle

marca, especificada como el par separado por comas que consta de y,,, o un valor entero positivo.La decisión de suplente se divide'Surrogate''on''off''all'

  • Cuando se establece en, encuentra como máximo 10 divisiones sustitutas en cada nodo de bifurcación.'on'fitctree

  • Cuando se establece en, busca todas las divisiones sustitutas en cada nodo de bifurcación.'all'fitctree El ajuste puede utilizar un tiempo y una memoria considerables.'all'

  • Cuando se establece en un valor entero positivo, encuentra como máximo el número especificado de divisiones sustitutas en cada nodo de bifurcación.fitctree

Use divisiones sustitutas para mejorar la precisión de las predicciones para los datos con valores faltantes. La configuración también le permite calcular medidas de asociación predictiva entre predictores. Para obtener más información, consulte.Reglas de división de nodos

Ejemplo: 'Surrogate','on'

Tipos de datos: single | double | char | string

Ponderaciones de observación, especificadas como el par separado por comas que consta de un vector de valores escalares o el nombre de una variable.'Weights'Tbl El software pondera las observaciones en cada fila o con el valor correspondiente en.XTblWeights El tamaño de debe ser igual al número de filas en o.WeightsXTbl

Si especifica los datos de entrada como una tabla, puede ser el nombre de una variable que contenga un vector numérico.TblWeightsTbl En este caso, debe especificar como un vector de caracteres o un escalar de cadena.Weights Por ejemplo, si el vector de ponderaciones se almacena como, a continuación, especifíquese como.WTbl.W'W' De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.TblW

Normaliza las ponderaciones de cada clase para sumar el valor de la probabilidad anterior de la clase.fitctree

Tipos de datos: single | double | char | string

Validación cruzada

contraer todo

Marque para cultivar un árbol de decisión validado por Cruz, especificado como el par separado por comas que consta de y o.'CrossVal''on''off'

Si, crece un árbol de decisión con validación cruzada con 10 pliegues.'on'fitctree Puede invalidar esta configuración de validación cruzada mediante uno de los argumentos de par nombre-valor, o Name.'KFold''Holdout''Leaveout''CVPartition' Solo puede utilizar uno de estos cuatro argumentos a la vez al crear un árbol validado de forma cruzada.

Alternativamente, valide de forma cruzada más adelante usando eltree crossval Método.

Ejemplo: 'CrossVal','on'

Partición que se usará en un árbol con validación cruzada, especificado como el par separado por comas que consta de un objeto creado mediante.'CVPartition'cvpartition

Si lo usa, no puede usar ninguno de los argumentos de par nombre-valor.'CVPartition''KFold''Holdout''Leaveout'

Fracción de datos utilizada para la validación de exclusión, especificada como el par separado por comas que consta de y un valor escalar en el intervalo.'Holdout'[0,1] La validación de exclusión prueba la fracción especificada de los datos y usa el resto de los datos para el entrenamiento.

Si lo usa, no puede usar ninguno de los argumentos de par nombre-valor.'Holdout''CVPartition''KFold''Leaveout'

Ejemplo: 'Holdout',0.1

Tipos de datos: single | double

Número de pliegues que se utilizarán en un clasificador con validación cruzada, especificado como el par separado por comas y que consta de un valor entero positivo mayor que 1.'KFold' Si especifica, p. ej., 'KFold',k, a continuación, el software:

  1. Divide aleatoriamente los datos en conjuntosk

  2. Para cada conjunto, reserva el conjunto como datos de validación y entrena el modelo utilizando el otro k – 1 Establece

  3. Almacena el k modelos compactos y entrenados en las celdas de un k-por-1 vector de celda en la propiedad del modelo validado por la Cruz.Trained

Para crear un modelo con validación cruzada, puede utilizar una de estas cuatro opciones solamente:,,, o.CVPartitionHoldoutKFoldLeaveout

Ejemplo: 'KFold',8

Tipos de datos: single | double

Marca de validación cruzada de Leave-One-out, especificada como el par separado por comas que consta de y o.'Leaveout''on''off' Especifique para usar la validación cruzada de Leave-One-out.'on'

Si lo usa, no puede usar ninguno de los argumentos de par nombre-valor.'Leaveout''CVPartition''Holdout''KFold'

Ejemplo: 'Leaveout','on'

Hiperparámetros

contraer todo

Número máximo de divisiones de decisión (o nodos de bifurcación), especificadas como el par separado por comas y que consta de un entero positivo.'MaxNumSplits' fitctree divide o menos nodos de bifurcación.MaxNumSplits Para obtener más información sobre el comportamiento de división, consulte.Algoritmos

Ejemplo: 'MaxNumSplits',5

Tipos de datos: single | double

Número mínimo de observaciones de nodo de hoja, especificadas como el par separado por comas que consta de un valor entero positivo y un.'MinLeafSize' Cada hoja tiene al menos observaciones por hoja de árbol.MinLeafSize Si usted suministra ambos y, utiliza el ajuste que da hojas más grandes:.MinParentSizeMinLeafSizefitctreeMinParentSize = max(MinParentSize,2*MinLeafSize)

Ejemplo: 'MinLeafSize',3

Tipos de datos: single | double

Número de predictores para seleccionar aleatoriamente para cada división, especificado como el par separado por comas que consta de un valor entero positivo.'NumVariablesToSample' Como alternativa, puede especificar que se utilicen todos los predictores disponibles.'all'

Si los datos de entrenamiento incluyen muchos predictores y desea analizar la importancia del predictor, especifique as.'NumVariablesToSample''all' De lo contrario, el software podría no seleccionar algunos predictores, subestimar su importancia.

Para reproducir las selecciones aleatorias, debe establecer la inicialización del generador de números aleatorios utilizando y especificando.rng'Reproducible',true

Ejemplo: 'NumVariablesToSample',3

Tipos de datos: char | string | single | double

Criterio de división, especificado como el par separado por comas que consiste en y (índice de diversidad de Gini), para la regla de twoing, o para la reducción de desviación máxima (también conocida como entropía cruzada).'SplitCriterion''gdi''twoing''deviance'

Para obtener más información, consulte.Impureza y error de nodo

Ejemplo: 'SplitCriterion','deviance'

La optimización de hiperparámetros

contraer todo

Parámetros para optimizar, especificados como el par separado por comas que consta de uno de los siguientes:'OptimizeHyperparameters'

  • — No optimice.'none'

  • : Utilice'auto'{'MinLeafSize'}

  • : Optimice todos los parámetros elegibles.'all'

  • Matriz de cadenas o matriz de celdas de nombres de parámetro elegibles

  • Vector de objetos, normalmente la salida deoptimizableVariablehiperparámetros

La optimización intenta minimizar la pérdida de validación cruzada (error) para variando los parámetros.fitctree Para obtener información sobre la pérdida de validación cruzada (aunque en un contexto diferente), consulte.Pérdida de clasificación Para controlar el tipo de validación cruzada y otros aspectos de la optimización, utilice el par nombre-valor.HyperparameterOptimizationOptions

Nota

valores reemplazan los valores que se establecen con otros argumentos de par nombre-valor.'OptimizeHyperparameters' Por ejemplo, si se establece en hace que los valores se apliquen.'OptimizeHyperparameters''auto''auto'

Los parámetros elegibles para son:fitctree

  • : realiza búsquedas entre enteros, de forma predeterminada con escala de registro en el rango.MaxNumSplitsfitctree[1,max(2,NumObservations-1)]

  • : realiza búsquedas entre enteros, de forma predeterminada con escala de registro en el rango.MinLeafSizefitctree[1,max(2,floor(NumObservations/2))]

  • — Para dos clases, búsquedas entre y.SplitCriterionfitctree'gdi''deviance' Para tres o más clases, también busca entre.fitctree'twoing'

  • : no optimiza este hiperparámetro.NumVariablesToSamplefitctree Si pasa como un nombre de parámetro, simplemente utiliza el número completo de predictores.NumVariablesToSamplefitctree Sin embargo, optimiza este hiperparámetro.fitcensemble

Establezca parámetros no predeterminados pasando un vector de objetos que tienen valores no predeterminados.optimizableVariable Por ejemplo,

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

Pase como el valor de.paramsOptimizeHyperparameters

De forma predeterminada, la visualización iterativa aparece en la línea de comandos y los trazados aparecen según el número de hiperparámetros de la optimización. Para la optimización y los trazados, la función objetivo es log(1 + cross-validation loss) para la regresión y la tasa de clasificación errónea para la clasificación. Para controlar la visualización iterativa, establezca el campo del argumento de par nombre-valor.Verbose'HyperparameterOptimizationOptions' Para controlar los trazados, establezca el campo del argumento de par nombre-valor.ShowPlots'HyperparameterOptimizationOptions'

Para ver un ejemplo, vea.Optimizar árbol de clasificación

Ejemplo: 'auto'

Opciones de optimización, especificadas como el par separado por comas que consta de una estructura.'HyperparameterOptimizationOptions' Este argumento modifica el efecto del argumento de par nombre-valor.OptimizeHyperparameters Todos los campos de la estructura son opcionales.

Nombre de campoValoresPredeterminado
Optimizer
  • — Utilice la optimización bayesiana.'bayesopt' Internamente, esta configuración llama.bayesopt

  • : Utilice la búsqueda de cuadrícula con valores por dimensión.'gridsearch'NumGridDivisions

  • — Búsqueda aleatoria entre puntos.'randomsearch'MaxObjectiveEvaluations

búsquedas en orden aleatorio, utilizando muestreo uniforme sin sustitución de la rejilla.'gridsearch' Después de la optimización, puede obtener una tabla en orden de cuadrícula mediante el comando.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'

Las funciones de adquisición cuyos nombres incluyen no producen resultados reproducibles porque la optimización depende del tiempo de ejecución de la función objetiva.per-second Las funciones de adquisición cuyos nombres incluyen modificar su comportamiento cuando están sobreexplotando un área.plus Para obtener más información, consulte.Tipos de función de adquisición

'expected-improvement-per-second-plus'
MaxObjectiveEvaluationsNúmero máximo de evaluaciones de funciones objetivas.para o, y toda la rejilla para30'bayesopt''randomsearch''gridsearch'
MaxTime

Límite de tiempo, especificado como real positivo. El límite de tiempo es en segundos, medido por y.tictoc El tiempo de ejecución puede exceder porque no interrumpe las evaluaciones de funciones.MaxTimeMaxTime

Inf
NumGridDivisionsPara el número de valores de cada dimensión.'gridsearch' El valor puede ser un vector de enteros positivos que da el número de valores para cada dimensión, o un escalar que se aplica a todas las dimensiones. Este campo se omite para las variables categóricas.10
ShowPlotsValor lógico que indica si se mostrarán los trazados. Si, este campo traza el mejor valor de la función objetiva con respecto al número de iteración.true Si hay uno o dos parámetros de optimización, y si es así, también traza un modelo de la función objetiva contra los parámetros.Optimizer'bayesopt'ShowPlotstrue
SaveIntermediateResultsValor lógico que indica si se guardan los resultados cuando es.Optimizer'bayesopt' Si, este campo sobrescribe una variable de espacio de trabajo denominada en cada iteración.true'BayesoptResults' La variable es un objeto.BayesianOptimizationfalse
Verbose

Mostrar en la línea de comandos.

  • — Sin visualización iterativa0

  • — Visualización iterativa1

  • — Visualización iterativa con información adicional2

Para obtener información detallada, vea el argumento de par nombre-valor.bayesoptVerbose

1
UseParallelValor lógico que indica si se debe ejecutar la optimización bayesiana en paralelo, lo que requiere.Parallel Computing Toolbox™ Para obtener más información, consulte.Optimización bayesiana paralelafalse
Repartition

Valor lógico que indica si se vuelve a particionar la validación cruzada en cada iteración. Si, el optimizador utiliza una sola partición para la optimización.false

normalmente proporciona los resultados más sólidos, ya que esta configuración tiene en cuenta el ruido de partición.true Sin embargo, para obtener buenos resultados, requiere al menos el doble de evaluaciones de función.true

false
No utilice más de uno de los tres nombres de campo siguientes.
CVPartitionUn objeto, creado por.cvpartitioncvpartitionSi no especifica ningún campo de validación cruzada'Kfold',5
HoldoutUn escalar en el rango que representa la fracción de exclusión.(0,1)
KfoldUn entero mayor que 1.

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

Tipos de datos: struct

Argumentos de salida

contraer todo

Árbol de clasificación, devuelto como un objeto de árbol de clasificación.

El uso de los resultados de las opciones,,, o en un árbol de clase.'CrossVal''KFold''Holdout''Leaveout''CVPartition'ClassificationPartitionedModel No se puede utilizar un árbol particionado para la predicción, por lo que este tipo de árbol no tiene un método.Predecir En su lugar, use para predecir respuestas para observaciones no utilizadas para el entrenamiento.kfoldPredict

De lo contrario, es de clase, y se puede utilizar eltreeClassificationTree predict método para realizar predicciones.

Más acerca de

contraer todo

Prueba de curvatura

Es una prueba estadística que evalúa la hipótesis nula de que dos variables no están asociadas.prueba de curvatura

La prueba de curvatura entre la variable predictora y se lleva a cabo utilizando este proceso.xy

  1. Si es continuo, entonces particionarlo en sus cuarles.x Cree una variable nominal que bins las observaciones según la sección de la partición que ocupan. Si faltan valores, cree una ubicación adicional para ellos.

  2. Para cada nivel en el predictor particionado = 1... y la clase en la respuesta = 1,...,, calcular la proporción ponderada de las observaciones en la clasejJkKk

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

    Wi es el peso de la observación,i wi=1, es la función indicadora, y es el tamaño de la muestra.In Si todas las observaciones tienen el mismo peso, entonces π^jk=njknDónde Njk es el número de observaciones en el nivel del predictor que están en la clase.jk

  3. Calcule la estadística de prueba

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

    π^j+=kπ^jk, es decir, la probabilidad marginal de observar el predictor a nivel.j π^+k=jπ^jk, esa es la probabilidad marginal de observar la clase.k Si es lo suficientemente grande, entonces se distribuye como unntχ2 con (– 1) (– 1) grados de libertad.KJ

  4. Si el-valor de la prueba es menor que 0,05, a continuación, rechazar la hipótesis nula de que no hay asociación entre y.pxy

Al determinar el mejor predictor dividido en cada nodo, el algoritmo CART estándar prefiere seleccionar predictores continuos que tienen muchos niveles. A veces, tal selección puede ser falsa y también puede enmascarar predictores más importantes que tienen menos niveles, como predictores categóricos.

La prueba de curvatura se puede aplicar en lugar de CART estándar para determinar el mejor predictor dividido en cada nodo. En ese caso, la mejor variable predictora de división es la que minimiza los valores significativos (aquellos menores de 0,05) de las pruebas de curvatura entre cada predictor y la variable de respuesta.p Esta selección es robusta para el número de niveles en predictores individuales.

Nota

Si los niveles de un predictor son puros para una clase en particular, fitctree fusiona esos niveles. Por lo tanto, en el paso 3 del algoritmo, puede ser menos que el número real de niveles en el predictor.J Por ejemplo, si tiene 4 niveles y todas las observaciones de las bandejas 1 y 2 pertenecen a la clase 1, entonces esos niveles son puros para la clase 1.x Por consiguiente fitctree fusiona las observaciones en las bandejas 1 y 2, y se reduce a 3.J

Para obtener más información sobre cómo se aplica la prueba de curvatura a los árboles de clasificación crecientes, consulte y.Reglas de división de nodos[4]

Impureza y error de nodo

divide los nodos en función de cualquiera o.ClassificationTreeImpurezaerror de nodo

Impureza significa una de varias cosas, dependiendo de su elección del argumento de par nombre-valor:SplitCriterion

  • Índice de diversidad de Gini (): el índice de Gini de un nodo segdi

    1ip2(i),

    donde la suma está sobre las clases en el nodo, y () es la fracción observada de las clases con la clase que alcanzan el nodo.ipii Un nodo con una sola clase (un nodo) tiene el índice de Gini; de lo contrario, el índice de Gini es positivo.Puro0 Así que el índice de Gini es una medida de impureza de nodo.

  • Desviación () — with () define lo mismo que para el índice Gini, la desviación de un nodo es'deviance'pi

    ip(i)log2p(i).

    Un nodo puro tiene desviación; de lo contrario, la desviación es positiva.0

  • Twoing Rule () — Twoing no es una medida de pureza de un nodo, sino que es una medida diferente para decidir cómo dividir un nodo.'twoing' Let () denota la fracción de miembros de clase en el nodo secundario izquierdo después de una división, y () denotan la fracción de miembros de la clase en el nodo secundario derecho después de una división.LiiRii Elija el criterio de división para maximizar

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

    Where () y () son las fracciones de observaciones que se dividen a la izquierda y a la derecha respectivamente.PLPR Si la expresión es grande, la división hizo que cada nodo secundario fuera más puro. De forma similar, si la expresión es pequeña, la división hizo que cada nodo secundario fuera similar entre sí y, por lo tanto, similar al nodo primario. La división no aumentaba la pureza del nodo.

  • Error del nodo — el error del nodo es la fracción de las clases mal clasificadas en un nodo. Si es la clase con el mayor número de muestras de formación en un nodo, el error de nodo sej

    1 – ().pj

Prueba de interacción

Es una prueba estadística que evalúa la hipótesis nula de que no hay interacción entre un par de variables predictoras y la variable de respuesta.prueba de interacción

La prueba de interacción que evalúa la asociación entre variables predictorasx1 Yx2 con respecto a se lleva a cabo utilizando este proceso.y

  1. Six1 Ox2 es continua, luego particionar esa variable en sus cuarles. Cree una variable nominal que bins las observaciones según la sección de la partición que ocupan. Si faltan valores, cree una ubicación adicional para ellos.

  2. Cree la variable nominal con =zJJ1J2 niveles que asignan un índice a la observación según los niveles deix1 Yx2 pertenece. Eliminar cualquier nivel de que no correspondan a ninguna observación.z

  3. Conduzca un medio y.prueba de curvaturazy

Al cultivar árboles de decisión, si hay interacciones importantes entre pares de predictores, pero también hay muchos otros predictores menos importantes en los datos, el carrito estándar tiende a perderse las interacciones importantes. Sin embargo, la realización de pruebas de curvatura y de interacción para la selección de predictor puede mejorar la detección de interacciones importantes, lo que puede producir árboles de decisión más precisos.

Para obtener más información sobre cómo se aplica la prueba de interacción a los árboles de decisión en crecimiento, consulte y.Prueba de curvaturaReglas de división de nodos[3]

Medida predictiva de la Asociación

Es un valor que indica la similitud entre las reglas de decisión que dividen las observaciones.medida predictiva de asociación Entre todas las posibles divisiones de decisión que se comparan con la división óptima (encontrada por el crecimiento del árbol), el mejor rendimiento de la medida predictiva máxima de la asociación.División de decisión sustituta La segunda mejor división sustituta tiene la segunda mayor medida predictiva de asociación.

Supongo Xj Y Xk son variables predictoras y, respectivamente, y ≠.jkjk En el nodo, la medida predictiva de asociación entre la división óptimat Xj < y una división suplenteu Xk < isv

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

  • PL es la proporción de observaciones en el nodo, tal quet Xj < .u El subíndice representa el elemento secundario izquierdo del nodo.Lt

  • PR es la proporción de observaciones en el nodo, tal quet Xj ≥.u El subíndice representa el secundario correcto del nodo.Rt

  • PLjLk es la proporción de observaciones en el nodo, de tal forma quet Xj < andu Xk < .v

  • PRjRk es la proporción de observaciones en el nodo, de tal forma quet Xj ≥ yu Xk ≥.v

  • Observaciones con valores faltantes para Xj O Xk no contribuyen a los cálculos de la proporción.

Λjk es un valor en (– ∞, 1]. Si λjk > 0Entonces Xk < es una división sustituta que vale la pena parav Xj < .u

Decisión de suplentes splits

A es una alternativa a la división de decisión óptima en un nodo determinado en un árbol de decisión.División de decisión sustituta La división óptima se encuentra al cultivar el árbol; la división sustituta utiliza una variable predictora similar o correlacionada y un criterio de división.

Cuando falta el valor del predictor de división óptimo para una observación, la observación se envía al nodo secundario izquierdo o derecho utilizando el mejor predictor suplente. Cuando también falta el valor del mejor predictor de división suplente para la observación, la observación se envía al nodo secundario izquierdo o derecho utilizando el segundo mejor predictor suplente, y así sucesivamente. Las divisiones candidatas se ordenan en orden descendente por su.medida predictiva de asociación

Sugerencias

  • De forma predeterminada, es.Prune'on' Sin embargo, esta especificación no poda el árbol de clasificación. Para podar un árbol de clasificación entrenado, pase el árbol de clasificación a prune.

  • Después de entrenar un modelo, puede generar código de C/C++ que predice etiquetas para nuevos datos. La generación de código C/C++ requiere MATLABCoder™. Para obtener más información, consulte.Introducción a la generación de código

Algoritmos

contraer todo

Reglas de división de nodos

fitctree utiliza estos procesos para determinar cómo dividir el nodo.t

  • Para el carrito estándar (es decir, si es) y para todos los predictoresPredictorSelection'allpairs' Xi, = 1,...,:ip

    1. fitctree calcula la impureza ponderada del nodo,t met. Para las medidas de impureza soportadas, véase.SplitCriterion

    2. fitctree estima la probabilidad de que una observación esté en el nodo utilizandot

      P(T)=jTwj.

      Wj es el peso de la observación, y es el conjunto de todos los índices de observación en el nodo.jTt Si no especifica o, a continuación,PriorWeights Wj = 1/, donde está el tamaño de la muestra.nn

    3. fitctree Tipo Xi en orden ascendente. Cada elemento del predictor ordenado es un candidato de división o un punto de corte. fitctree almacena los índices correspondientes a los valores faltantes en el conjunto TU, que es el conjunto sin dividir.

    4. fitctree determina la mejor manera de dividir el nodo mediantet Xi maximizando la ganancia de impureza (Δ) sobre todos los candidatos que se dividen.I Es decir, para todos los candidatos que se dividen en Xi:

      1. fitctree divide las observaciones del nodo en nodos secundarios izquierdo y derecho (tTL Y TR, respectivamente).

      2. fitctree calcula Δ. Supongamos que para un candidato de división en particular,I TL Y TR contienen índices de observación en los sets TL Y TRRespectivamente.

        • Si Xi no contiene ningún valor faltante, entonces la ganancia de impureza para el candidato de división actual es

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

        • Si Xi contiene valores faltantes entonces, suponiendo que las observaciones faltan al azar, la ganancia de impureza es

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

          T TU es el conjunto de todos los índices de observación en el nodo que no faltan.t

        • Si utiliza, entonces:decisión de sustitución se divide

          1. fitctree calcula el entre la división de decisiónmedidas predictivas de asociación Xj < y todas las posibles divisiones de decisiónu Xk <, ≠.vjk

          2. fitctree clasifica las posibles divisiones de decisión alternativas en orden descendente por su medida predictiva de asociación con la división óptima. La división sustituta es la división de decisión que cede la mayor medida.

          3. fitctree decide las asignaciones de nodos secundarios para las observaciones con un valor que falta para Xi utilizando la división sustituta. Si el predictor suplente también contiene un valor que falta, fitctree utiliza la división de decisión con la segunda medida más grande, y así sucesivamente, hasta que no haya otros sustitutos. Es posible fitctree para dividir dos observaciones diferentes en el nodo utilizando dos divisiones sustitutas diferentes.t Por ejemplo, supongamos que los predictoresx1 Yx2 son los mejores y los segundos mejores sustitutos, respectivamente, para el predictor Xi, ∉ {1, 2}, en el nodo.it Si la observación del predictorm Xi falta (es decir, Xmi falta), peroxm1 no falta, entoncesx1 es el predictor sustituto para la observación Xmi. Si las observacionesx(m + 1),i y (+ 1), faltan, peroxm1x(m + 1),2 no falta, entoncesx2 es el predictor sustituto para observación + 1.m

          4. fitctree utiliza la fórmula de ganancia de impureza apropiada. Es decir, si fitctree no puede asignar todas las observaciones faltantes en el nodo a los nodos secundarios usando divisiones sustitutas, entonces la ganancia de impureza es ΔtMeU. Lo contrario fitctree utiliza Δ para la ganancia de impureza.I

      3. fitctree elige el candidato que obtiene la mayor ganancia de impureza.

    fitctree divide la variable predictora en el punto de corte que maximiza la ganancia de impureza.

  • Para la prueba de curvatura (es decir, si es):PredictorSelection'curvature'

    1. fitctree realiza entre cada predictor y la respuesta para las observaciones en el nodo.pruebas de curvaturat

      • Si todos los valores son al menos 0,05,p fitctree no divide el nodo.t

      • Si hay un valor mínimo,p fitctree elige el predictor correspondiente para dividir el nodo.t

      • Si más de un valor es cero debido al subdesbordamiento,p fitctree aplica CART estándar a los predictores correspondientes para elegir el predictor dividido.

    2. Si fitctree elige un predictor dividido, entonces utiliza el carrito estándar para elegir el punto de corte (consulte el paso 4 en el proceso estándar de CART).

  • Para la prueba de interacción (es decir, si es):PredictorSelection'interaction-curvature'

    1. Para observaciones en el nodo,t fitctree realiza entre cada predictor y la respuesta y entre cada par de predictores y la respuesta.pruebas de curvaturapruebas de interacción

      • Si todos los valores son al menos 0,05,p fitctree no divide el nodo.t

      • Si hay un valor mínimo y es el resultado de una prueba de curvatura,p fitctree elige el predictor correspondiente para dividir el nodo.t

      • Si hay un valor mínimo y es el resultado de una prueba de interacción,p fitctree elige el predictor dividido utilizando CART estándar en el par correspondiente de predictores.

      • Si más de un valor es cero debido al subdesbordamiento,p fitctree aplica CART estándar a los predictores correspondientes para elegir el predictor dividido.

    2. Si fitctree elige un predictor dividido, entonces utiliza el carrito estándar para elegir el punto de corte (consulte el paso 4 en el proceso estándar de CART).

Tree Depth control

  • Si es y es (que son los valores predeterminados para estos argumentos del par nombre-valor), después el software aplica el recorte solamente a las hojas y usando el error de clasificación.MergeLeaves'on'PruneCriterion'error' Esta especificación equivale a fusionar las hojas que comparten la clase más popular por hoja.

  • Para acomodar,MaxNumSplits fitctree divide todos los nodos de la actual y, a continuación, cuenta el número de nodos de bifurcación.Capa Una capa es el conjunto de nodos que son equidistantes del nodo raíz. Si el número de nodos de bifurcación supera,MaxNumSplits fitctree sigue este procedimiento:

    1. Determine cuántos nodos de bifurcación de la capa actual se deben separar para que haya en la mayoría de los nodos de bifurcación.MaxNumSplits

    2. Ordene los nodos de la rama por sus ganancias de impureza.

    3. Desdivida el número de ramas menos exitosas.

    4. Devuelva el árbol de decisión crecido hasta el momento.

    Este procedimiento produce árboles con un equilibrio máximo.

  • El software divide los nodos de bifurcación capa por capa hasta que se produzca al menos uno de estos eventos:

    • Hay nodos de bifurcación.MaxNumSplits

    • Una división propuesta hace que el número de observaciones en al menos un nodo de bifurcación sea menor que.MinParentSize

    • Una división propuesta hace que el número de observaciones en al menos un nodo hoja sea menor que.MinLeafSize

    • El algoritmo no puede encontrar una buena división dentro de una capa (es decir, el criterio de poda (ver), no mejora para todas las divisiones propuestas en una capa).PruneCriterion Un caso especial es cuando todos los nodos son puros (es decir, todas las observaciones en el nodo tienen la misma clase).

    • Para los valores o de, todas las pruebas yield-valores mayores que 0,05.'curvature''interaction-curvature'PredictorSelectionp

    y no afectan a la división en sus valores predeterminados.MaxNumSplitsMinLeafSize Por lo tanto, si establece, la división podría detenerse debido al valor de, antes de que se produzcan divisiones.'MaxNumSplits'MinParentSizeMaxNumSplits

Paralelización

Para sistemas de doble núcleo y superiores, fitctree paraleliza los árboles de decisión de entrenamiento mediante subprocesos Building Blocks (TBB).Intel® Para obtener más información sobre TBB, consulte.Intelhttps://software.intel.com/en-us/intel-tbb

Referencias

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

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

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

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

Capacidades ampliadas

Introducido en R2014a