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.
Ajustar árbol de decisión binaria para la clasificación multiclase
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.tree
= fitctree(Tbl
,ResponseVarName
)Tbl
ResponseVarName
El árbol binario devuelto divide los nodos de bifurcación en función de los valores de una columna de.Tbl
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.tree
= fitctree(___,Name,Value
)
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.MaxNumSplits
MinLeafSize
MinParentSize
fitctree
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 - 1
MaxNumSplits
n
Para.1
MinLeafSize
Para.10
MinParentSize
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.Mdl7
MdlDefault
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.meas
species
X = meas; Y = species; Mdl = fitctree(X,Y,'OptimizeHyperparameters','auto')
|======================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | | runtime | (observed) | (estim.) | | |======================================================================================| | 1 | Best | 0.066667 | 1.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_gain
education_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'
datastore
NaN
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.X
Y
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'
rng
tallrng
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]
Tbl
— Datos de ejemploDatos 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.Tbl
Tbl
ResponseVarName
Si contiene la variable de respuesta y desea usar solo un subconjunto de las variables restantes como predictores, especifique una fórmula mediante.Tbl
Tbl
Fórmula
Si no contiene la variable de respuesta, especifique una variable de respuesta mediante.Tbl
Y
La longitud de la variable de respuesta y el número de filas en debe ser igual.Tbl
Tipos de datos: table
ResponseVarName
— Nombre de variable de respuestaTbl
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.Y
Tbl.Y
'Y'
De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.Tbl
Y
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
formula
— Modelo explicativo de respuesta y subconjunto de variables predictorasModelo 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.Y
X1
X2
X3
Las variables deben ser nombres de variable en ().Tbl
Tbl.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.Tbl
Fórmula
Tipos de datos: char
| string
Y
— Las etiquetas de claseEtiquetas 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.Y
X
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.fitctree
NaN
''
""
<missing>
<undefined>
Y
fitctree
Y
Para numérico, considere la posibilidad de ajustar un árbol de regresión utilizando en su lugar.Y
fitrtree
Tipos de datos: single
| double
| categorical
| logical
| char
| string
| cell
X
— Los Datos predictoresDatos 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.fitctree
NaN
X
fitctree
X
fitctree
X
Tipos de datos: single
| double
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,Value
Name
Value
Name
Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN
'CrossVal','on','MinLeafSize',40
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'
'AlgorithmForCategorical'
— Algoritmo para la mejor División de predictor categórico'Exact'
| 'PullLeft'
| 'PCA'
| 'OVAbyClass'
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'
Valor | Descripció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'
'CategoricalPredictors'
— La lista de predictores categóricos'all'
Lista de predictores categóricos, especificada como el par separado por comas que consta de y uno de los valores de esta tabla.'CategoricalPredictors'
Valor | Descripción |
---|---|
Vector de enteros positivos | Una entrada en el vector es el valor de índice correspondiente a la columna de los Datos predictores (o) que contiene una variable categórica.X Tbl |
Vector lógico | Una entrada significa que la columna correspondiente de Datos predictores (o) es una variable categórica.true X Tbl |
Matriz de caracteres | Cada 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 caracteres | Cada elemento de la matriz es el nombre de una variable predictora. Los nombres deben coincidir con las entradas.PredictorNames |
todos | Todos 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
'ClassNames'
— Los nombres de las clases que se utilizarán para entrenarNombres 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'
ClassNames
Y
Si es una matriz de caracteres, cada elemento debe corresponder a uno de la matriz.ClassNames
row
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.ClassNames
Costo
Predecir
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.ClassNames
Y
Ejemplo: 'ClassNames',{'b','g'}
Tipos de datos: categorical
| char
| string
| logical
| single
| double
| cell
'Cost'
— El costo de clasificación erróneaCoste 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)
j
i
Para especificar el orden de la clase para las filas y columnas correspondientes, especifique también el argumento de par nombre-valor.Costo
ClassNames
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.S
S.ClassNames
Y
S.ClassificationCosts
El valor predeterminado es if y if.Cost(i,j)=1
i~=j
Cost(i,j)=0
i=j
Tipos de datos: single
| double
| struct
'MaxDepth'
— La profundidad máxima del árbolProfundidad 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.
Esta opción solo se aplica cuando se utiliza en matrices altas.fitctree
Consulte para obtener más información.Tall arrays
'MaxNumCategories'
— Niveles máximos de categoría10
(predeterminado) | valor escalar no negativoNiveles 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'
fitctree
MaxNumCategories
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
'MergeLeaves'
— Marca de combinación de hojas'on'
(predeterminado) | 'off'
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'
'MinParentSize'
— Número mínimo de observaciones de nodo de bifurcación10
(predeterminado) | valor entero positivoNú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:.MinParentSize
MinLeafSize
fitctree
MinParentSize = max(MinParentSize,2*MinLeafSize)
Ejemplo: 'MinParentSize',8
Tipos de datos: single
| double
'NumBins'
— Número de bins para predictores numéricos[]
(predeterminado) | escalar entero positivoNú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
'PredictorNames'
— Los nombres de variables predictorasLos 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.X
Y
'PredictorNames'
X
El orden de los nombres en debe corresponder al orden de las columnas de.PredictorNames
X
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.PredictorNames
Tbl.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
'PredictorSelection'
— Algoritmo utilizado para seleccionar el mejor predictor de división'allsplits'
(predeterminado) | 'curvature'
| 'interaction-curvature'
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'
Valor | Descripció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.
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'
'Prior'
— Las probabilidades previas'empirical'
(predeterminado) | 'uniform'
| Vector de valores escalares | EstructuraProbabilidades 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.Prior
ClassNames
Una estructura con dos campos:S
que contiene los nombres de clase como una variable del mismo tipo queS.ClassNames
Y
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.weights
prior
Ejemplo: 'Prior','uniform'
Tipos de datos: char
| string
| single
| double
| struct
'Prune'
— Indicador para estimar la secuencia óptima de los subárboles podados'on'
(predeterminado) | 'off'
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'
'PruneCriterion'
— Criterio de poda'error'
(predeterminado) | 'impurity'
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'
'Reproducible'
— Marcar para exigir la reproducibilidadfalse
0
(predeterminado) | lógicotrue
1
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'
false
true
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',true
rng
Tenga en cuenta que la configuración puede ralentizar el entrenamiento.'Reproducible'
true
Ejemplo: 'Reproducible',true
Tipos de datos: logical
'ResponseName'
— Nombre de variable de respuesta'Y'
(predeterminado) | Vector de caracteres | escalar de cadenaNombre 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.ResponseVarName
Fórmula
Ejemplo: 'ResponseName','IrisType'
Tipos de datos: char
| string
'ScoreTransform'
— Transformación de puntuación'none'
(predeterminado) | 'doublelogit'
| 'invlogit'
| 'ismax'
| 'logit'
| identificador de función | ...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.
Valor | Descripció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 para1 0 |
'logit' | 1/(1 +e–x) |
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 +e–x) – 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
'Surrogate'
— Decisión de suplente divide la bandera'off'
(predeterminado) | 'on'
| 'all'
| valor entero positivomarca, 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
'Weights'
— Los pesos de observaciónones(size(x,1),1)
(predeterminado) | Vector de valores escalares | nombre de la variable enTbl
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.X
Tbl
Weights
El tamaño de debe ser igual al número de filas en o.Weights
X
Tbl
Si especifica los datos de entrada como una tabla, puede ser el nombre de una variable que contenga un vector numérico.Tbl
Weights
Tbl
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.W
Tbl.W
'W'
De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.Tbl
W
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
'CrossVal'
— Indicador para cultivar el árbol de decisiones validado entre'off'
(predeterminado) | 'on'
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'
'CVPartition'
— Partición para el árbol con validación cruzadacvpartition
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'
'Holdout'
— Fracción de datos para la validación de exclusión0
(predeterminado) | valor escalar en el intervalo[0,1]
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
'KFold'
— Número de pliegues10
(predeterminado) | valor entero positivo mayor que 1Nú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:
Divide aleatoriamente los datos en conjuntosk
Para cada conjunto, reserva el conjunto como datos de validación y entrena el modelo utilizando el otro k – 1 Establece
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.CVPartition
Holdout
KFold
Leaveout
Ejemplo: 'KFold',8
Tipos de datos: single
| double
'Leaveout'
— La marca de validación cruzada de Leave-One-out'off'
(predeterminado) | 'on'
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'
'MaxNumSplits'
— Número máximo de divisiones de decisiónsize(X,1) - 1
(predeterminado) | entero positivoNú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
'MinLeafSize'
— Número mínimo de observaciones de nodo hoja1
(predeterminado) | valor entero positivoNú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:.MinParentSize
MinLeafSize
fitctree
MinParentSize = max(MinParentSize,2*MinLeafSize)
Ejemplo: 'MinLeafSize',3
Tipos de datos: single
| double
'NumVariablesToSample'
— Número de predictores para seleccionar aleatoriamente para cada división'all'
(predeterminado) | valor entero positivoNú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
'SplitCriterion'
— Criterio de división'gdi'
(predeterminado) | 'twoing'
| 'deviance'
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'
'OptimizeHyperparameters'
— Parámetros para optimizar'none'
(predeterminado) | 'auto'
| 'all'
| matriz de cadenas o matriz de celdas de nombres de parámetro elegibles | Vector de objetosoptimizableVariable
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 deoptimizableVariable
hiperpará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
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.MaxNumSplits
fitctree
[1,max(2,NumObservations-1)]
: realiza búsquedas entre enteros, de forma predeterminada con escala de registro en el rango.MinLeafSize
fitctree
[1,max(2,floor(NumObservations/2))]
— Para dos clases, búsquedas entre y.SplitCriterion
fitctree
'gdi'
'deviance'
Para tres o más clases, también busca entre.fitctree
'twoing'
: no optimiza este hiperparámetro.NumVariablesToSample
fitctree
Si pasa como un nombre de parámetro, simplemente utiliza el número completo de predictores.NumVariablesToSample
fitctree
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.params
OptimizeHyperparameters
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'
'HyperparameterOptimizationOptions'
— Las opciones de optimizaciónOpciones 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 campo | Valores | Predeterminado |
---|---|---|
Optimizer |
búsquedas en orden aleatorio, utilizando muestreo uniforme sin sustitución de la rejilla. | 'bayesopt' |
AcquisitionFunctionName |
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. | 'expected-improvement-per-second-plus' |
MaxObjectiveEvaluations | Nú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. | Inf |
NumGridDivisions | Para 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 |
ShowPlots | Valor 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' ShowPlots | true |
SaveIntermediateResults | Valor 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.BayesianOptimization | false |
Verbose | Mostrar en la línea de comandos.
Para obtener información detallada, vea el argumento de par nombre-valor. | 1 |
UseParallel | Valor 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 paralela | false |
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. normalmente proporciona los resultados más sólidos, ya que esta configuración tiene en cuenta el ruido de partición. | false |
No utilice más de uno de los tres nombres de campo siguientes. | ||
CVPartition | Un objeto, creado por.cvpartition cvpartition | Si no especifica ningún campo de validación cruzada'Kfold',5 |
Holdout | Un escalar en el rango que representa la fracción de exclusión.(0,1) | |
Kfold | Un entero mayor que 1. |
Ejemplo: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)
Tipos de datos: struct
tree
— Árbol de clasificaciónÁ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 eltree
ClassificationTree
predict
método para realizar predicciones.
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
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.
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
Wi es el peso de la observación,i , es la función indicadora, y es el tamaño de la muestra.In Si todas las observaciones tienen el mismo peso, entonces Dónde Njk es el número de observaciones en el nivel del predictor que están en la clase.jk
Calcule la estadística de prueba
, es decir, la probabilidad marginal de observar el predictor a nivel.j , 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
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.
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]
divide los nodos en función de cualquiera o.ClassificationTree
Impurezaerror 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
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
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
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
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
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.
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
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]
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
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
es la proporción de observaciones en el nodo, de tal forma quet Xj < andu Xk < .v
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
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
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
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
fitctree
calcula la impureza ponderada del nodo,t
met. Para las medidas de impureza soportadas, véase.SplitCriterion
fitctree
estima la probabilidad de que una observación esté en el nodo utilizandot
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,Prior
Weights
Wj = 1/, donde está el tamaño de la muestra.nn
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.
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:
fitctree
divide las observaciones del nodo en nodos secundarios izquierdo y derecho (tTL Y
TR, respectivamente).
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
Si Xi contiene valores faltantes entonces, suponiendo que las observaciones faltan al azar, la ganancia de impureza es
–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
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
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.
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
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
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'
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.
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'
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.
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).
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:
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
Ordene los nodos de la rama por sus ganancias de impureza.
Desdivida el número de ramas menos exitosas.
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'
PredictorSelection
p
y no afectan a la división en sus valores predeterminados.MaxNumSplits
MinLeafSize
Por lo tanto, si establece, la división podría detenerse debido al valor de, antes de que se produzcan divisiones.'MaxNumSplits'
MinParentSize
MaxNumSplits
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
[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.
Notas de uso y limitaciones:
Las sintaxis admitidas son:
tree = fitctree(Tbl,Y)
tree = fitctree(X,Y)
tree = fitctree(___,Name,Value)
: devuelve los argumentos de salida adicionales y cuando se especifica el argumento de par nombre-valor.[tree,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name,Value)
fitctree
FitInfo
HyperparameterOptimizationResults
'OptimizeHyperparameters'
El argumento de salida es una matriz de estructura vacía actualmente reservada para un posible uso futuro.FitInfo
El argumento Output es un objeto o una tabla de hiperparámetros con valores asociados que describen la optimización de la validación cruzada de los hiperparámetros.HyperparameterOptimizationResults
BayesianOptimization
no está vacío cuando el argumento de par nombre-valor no está vacío en el momento en que se crea el modelo.'HyperparameterOptimizationResults'
'OptimizeHyperparameters'
Los valores dependen del valor especificado para el argumento de par nombre-valor al crear el modelo.'HyperparameterOptimizationResults'
'HyperparameterOptimizationOptions'
Si especifica (valor predeterminado), entonces es un objeto de clase.'bayesopt'
HyperparameterOptimizationResults
BayesianOptimization
Si especifica o, a continuación, es una tabla de los hiperparámetros utilizados, los valores de función objetivo observados (pérdida de validación cruzada) y el rango de observaciones de menor (mejor) a más alto (peor).'gridsearch'
'randomsearch'
HyperparameterOptimizationResults
Los argumentos de par nombre-valor admitidos y las diferencias son:
'AlgorithmForCategorical'
'CategoricalPredictors'
'ClassNames'
'Cost'
: Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions'
'Holdout'
Por ejemplo, puede especificar.fitctree(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))
'MaxNumCategories'
— para una optimización alta, busca entre números enteros, de forma predeterminada, escalado logaritmo en el rango.'MaxNumSplits'
fitctree
[1,max(2,min(10000,NumObservations-1))]
'MergeLeaves'
'MinLeafSize'
'MinParentSize'
'NumVariablesToSample'
'OptimizeHyperparameters'
'PredictorNames'
'Prior'
'ResponseName'
'ScoreTransform'
'SplitCriterion'
'Weights'
Este argumento de par nombre-valor adicional es específico de matrices altas:
: Un entero positivo que especifica la profundidad máxima del árbol de salida.'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.
Para obtener más información, consulte.Arreglos altos (MATLAB)
Para ejecutar en paralelo, establezca la opción en.'UseParallel'
true
Para realizar la optimización de hiperparámetros paralelos, utilice el argumento de par nombre-valor en la llamada a esta función.'HyperparameterOptions', struct('UseParallel',true)
Para obtener más información sobre la optimización de hiperparámetros paralelos, consulte.Optimización bayesiana paralela
Para obtener más información general sobre la computación paralela, consulte.Run MATLAB Functions with Automatic Parallel Support (Parallel Computing Toolbox)
ClassificationPartitionedModel
| ClassificationTree
| kfoldPredict
| predict
| prune
A modified version of this example exists on your system. Do you want to open this version instead? (es)
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.