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 binario para la clasificación multiclase
devuelve un árbol de decisión de clasificación binaria ajustado basado en las variables de entrada (también conocidas como predictores, entidades o atributos) contenidas en la tabla y la salida (respuesta o etiquetas) contenidaen en .tree
= fitctree(Tbl
,ResponseVarName
)Tbl
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 varios 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 entre cruces o retener una fracción de los datos de entrada para la validación.tree
= fitctree(___,Name,Value
)
Haga crecer 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 , , o nombre-valor. árboles de decisión profundos por defecto.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 el cultivo de árboles de clasificación 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 crecer árboles profundos para grandes tamaños de muestra de entrenamiento.
Entrene un árbol de clasificación utilizando los valores predeterminados para el control de profundidad de árbol. Valide el modelo de forma cruzada 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. Además, 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 medio 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. Entrene otro árbol de clasificación, pero establezca 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 predeterminado. Valide el modelo de forma cruzada 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 del iris de Fisher.
load fisheriris
Optimice la pérdida de validación cruzada del clasificador, utilizando los datos para predecir la respuesta en .meas
species
X = meas; Y = species; Mdl = fitctree(X,Y,'OptimizeHyperparameters','auto')
|======================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | | runtime | (observed) | (estim.) | | |======================================================================================| | 1 | Best | 0.066667 | 0.41203 | 0.066667 | 0.066667 | 31 |
| 2 | Accept | 0.066667 | 0.21244 | 0.066667 | 0.066667 | 12 |
| 3 | Best | 0.04 | 0.12629 | 0.04 | 0.040003 | 2 |
| 4 | Accept | 0.66667 | 0.11524 | 0.04 | 0.15796 | 73 |
| 5 | Accept | 0.04 | 0.14637 | 0.04 | 0.040009 | 2 |
| 6 | Accept | 0.66667 | 0.095605 | 0.04 | 0.040012 | 74 |
| 7 | Accept | 0.066667 | 0.096874 | 0.04 | 0.040012 | 20 |
| 8 | Accept | 0.04 | 0.18812 | 0.04 | 0.040008 | 4 |
| 9 | Best | 0.033333 | 0.12957 | 0.033333 | 0.03335 | 1 |
| 10 | Accept | 0.066667 | 0.09726 | 0.033333 | 0.03335 | 7 |
| 11 | Accept | 0.04 | 0.11791 | 0.033333 | 0.033348 | 3 |
| 12 | Accept | 0.066667 | 0.089488 | 0.033333 | 0.033348 | 26 |
| 13 | Accept | 0.046667 | 0.092183 | 0.033333 | 0.033347 | 5 |
| 14 | Accept | 0.033333 | 0.21057 | 0.033333 | 0.03334 | 1 |
| 15 | Accept | 0.066667 | 0.29291 | 0.033333 | 0.033339 | 15 |
| 16 | Accept | 0.033333 | 0.12572 | 0.033333 | 0.033337 | 1 |
| 17 | Accept | 0.033333 | 0.096893 | 0.033333 | 0.033336 | 1 |
| 18 | Accept | 0.33333 | 0.20776 | 0.033333 | 0.033336 | 43 |
| 19 | Accept | 0.066667 | 0.14112 | 0.033333 | 0.033336 | 9 |
| 20 | Accept | 0.066667 | 0.12432 | 0.033333 | 0.033336 | 6 |
|======================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | | runtime | (observed) | (estim.) | | |======================================================================================| | 21 | Accept | 0.066667 | 0.092634 | 0.033333 | 0.033336 | 17 |
| 22 | Accept | 0.066667 | 0.11478 | 0.033333 | 0.033336 | 10 |
| 23 | Accept | 0.066667 | 0.17463 | 0.033333 | 0.033336 | 36 |
| 24 | Accept | 0.33333 | 0.1678 | 0.033333 | 0.034075 | 54 |
| 25 | Accept | 0.04 | 0.2909 | 0.033333 | 0.034054 | 2 |
| 26 | Accept | 0.04 | 0.22555 | 0.033333 | 0.034022 | 3 |
| 27 | Accept | 0.04 | 0.13497 | 0.033333 | 0.033997 | 4 |
| 28 | Accept | 0.066667 | 0.095755 | 0.033333 | 0.033973 | 23 |
| 29 | Accept | 0.066667 | 0.13294 | 0.033333 | 0.033946 | 8 |
| 30 | Accept | 0.066667 | 0.18313 | 0.033333 | 0.033922 | 13 |
__________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 52.8994 seconds. Total objective function evaluation time: 4.7317 Best observed feasible point: MinLeafSize ___________ 1 Observed objective function value = 0.033333 Estimated objective function value = 0.033922 Function evaluation time = 0.12957 Best estimated feasible point (according to models): MinLeafSize ___________ 1 Estimated objective function value = 0.033922 Estimated function evaluation time = 0.14505
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 trabajadora, nivel de educación, 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 de las variables continuas, el algoritmo CART estándar, de división predictora prefiere dividir un predictor continuo sobre las variables categóricas.
Entrene un árbol de clasificación utilizando todo el conjunto de datos. Para cultivar árboles imparciales, especifique el uso de la prueba de curvatura para dividir predictores. Dado que faltan observaciones en los datos, especifique el uso de divisiones suplentes.
Mdl = fitctree(X,'salary','PredictorSelection','curvature',... 'Surrogate','on');
Estimar los valores de importancia del predictor sumando los cambios en el riesgo debido a las divisiones en cada predictor y dividir 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
En este ejemplo se muestra cómo optimizar automáticamente los hiperparámetros de un árbol de clasificación mediante una matriz alta. El conjunto de datos de ejemplo es un conjunto de datos grande que contiene un archivo tabular de datos de vuelos de aerolíneas.airlinesmall.csv
En este ejemplo se crea una tabla alta que contiene los datos y se utiliza para ejecutar el procedimiento de optimización.
Al realizar cálculos en matrices altas, MATLAB® utiliza un grupo paralelo (predeterminado si tiene Parallel Computing Toolbox™) o la sesión local de MATLAB. Si desea ejecutar el ejemplo utilizando la sesión local de MATLAB cuando tiene Parallel Computing Toolbox, puede cambiar el entorno de ejecución global mediante la función.mapreducer
Cree un almacén de datos que haga 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 que faltan para reemplazarlos por valores.'NA'
datastore
NaN
Cree una tabla alta que contenga los datos del almacén de datos.
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 : : : : : : : : : : : : : :
Determine los vuelos que llegan tarde en 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 del predictor.
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 : :
Quite las filas y que contienen los datos que faltan.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'
Encuentre el valor óptimo que minimiza la pérdida de validación cruzada de la retención.'MinLeafSize'
(Especificar utiliza .)'auto'
'MinLeafSize'
Para reproducibilidad, utilice la función de adquisición y configure las semillas de los generadores de números aleatorios que utilizan 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 las matrices altas. Para obtener más información, consulte .Control Where Your Code Runs
rng('default') tallrng('default') [Mdl,FitInfo,HyperparameterOptimizationResults] = fitctree(Z,Y,... 'OptimizeHyperparameters','auto',... 'HyperparameterOptimizationOptions',struct('Holdout',0.3,... 'AcquisitionFunctionName','expected-improvement-plus'))
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 3: Completed in 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 muestraDatos de ejemplo utilizados para entrenar el modelo, especificados 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 variables de varias columnas y matrices de celdas distintas de las 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 utilizar 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 deben ser iguales.Tbl
Tipos de datos: table
ResponseVarName
— Nombre de la variable de respuestaTbl
Nombre de la variable de respuesta, especificado como el nombre de una variable en .Tbl
Debe especificar como vector de caracteres o escalar de cadena.ResponseVarName
Por ejemplo, si la variable de respuesta se almacena como , especifice 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 carácter o de cadena, un vector lógico o numérico o una matriz de celdas 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
Se recomienda especificar el orden de las clases mediante el argumento de par nombre-valor.ClassNames
Tipos de datos: char
| string
formula
— Modelo explicativo de variable de respuesta y subconjunto de variables predictorasModelo explicativo de la variable de respuesta y un subconjunto de las variables predictoras, especificadas como vector de caracteres o 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
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 que no aparezca en .Tbl
Fórmula
Los nombres de variable de la fórmula deben ser ambos nombres de variable en ( ) como identificadores válidos.Tbl
Tbl.Properties.VariableNames
MATLAB®
Puede verificar los nombres de las variables mediante la función.Tbl
isvarname
El código siguiente devuelve logical ( ) para cada variable que tiene un nombre de variable válido.1
true
Si los nombres de variable en no son válidos, a continuación, convertirlos mediante la función.
cellfun(@isvarname,Tbl.Properties.VariableNames)
Tbl
matlab.lang.makeValidName
Tbl.Properties.VariableNames = matlab.lang.makeValidName(Tbl.Properties.VariableNames);
Tipos de datos: char
| string
Y
— 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 que faltan valores , (vector de caracteres vacíos), (cadena vacía) y valores. no utiliza observaciones con valores que faltan para en el ajuste.fitctree
NaN
''
""
<missing>
<undefined>
Y
fitctree
Y
Para numéricos , 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
— Datos del predictorDatos del 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 que faltan. no utiliza observaciones con todos los valores que faltan en el ajuste. utiliza observaciones con algunos valores que faltan 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 opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.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
Nota
No puede utilizar ningún argumento de par nombre-valor de validación cruzada junto con el argumento de par nombre-valor.'OptimizeHyperparameters'
Puede modificar la validación cruzada solo mediante el argumento de par nombre-valor.'OptimizeHyperparameters'
'HyperparameterOptimizationOptions'
'AlgorithmForCategorical'
— Algoritmo para la mejor división del predictor categórico'Exact'
| 'PullLeft'
| 'PCA'
| 'OVAbyClass'
Algoritmo para encontrar la mejor división en un predictor categórico con categorías para los datos y las clases 3, 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' | Comience con todas las categorías en la rama derecha.C Considere la posibilidad de mover cada categoría a la rama izquierda a medida que alcanza la impureza mínima para las clases entre las categorías restantes.K De esta secuencia, elija la división que tenga la impureza más baja. |
'PCA' | Calcular 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 las divisiones – 1.C |
'OVAbyClass' | Comience con todas las categorías en 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 la posibilidad de mover cada categoría a la rama izquierda en orden, registrando el criterio de impureza en cada movimiento. Repita el proceso para las clases restantes. 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 las clases de 2, 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 .Splitting Categorical Predictors in Classification Trees
Ejemplo: 'AlgorithmForCategorical','PCA'
'CategoricalPredictors'
— 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 | Cada entrada del vector es un 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 de .PredictorNames Rellena los nombres con espacios en blanco adicionales para que cada fila de la matriz de caracteres tenga la misma longitud. |
Matriz de cadenas o matriz de celdas de vectores de caracteres | Cada elemento de la matriz es el nombre de una variable predictora. Los nombres deben coincidir con las entradas de .PredictorNames |
'todos' | Todos los predictores son categóricos. |
De forma predeterminada, si los datos del predictor están en una tabla ( ),Tbl
fitctree
supone que una variable es categórica si es un vector lógico, un vector categórico desordenado, una matriz de caracteres, una matriz de cadenas o una matriz de celdas de vectores de caracteres. Si los datos del predictor son una matriz ( ),X
fitctree
asume que todos los predictores son continuos. Para identificar cualquier otro predictor como predictores categóricos, escépéscalos mediante el argumento de par nombre-valor.'CategoricalPredictors'
Ejemplo: 'CategoricalPredictors','all'
Tipos de datos: single
| double
| logical
| char
| string
| cell
'ClassNames'
— Nombres de las clases a utilizar para la formaciónNombres de clases que se usan para el entrenamiento, especificados como el par separado por comas que consta de y una matriz categórica, de carácter o de cadena, un vector lógico o numérico, o una matriz de celdas 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
Fila
Utilícelo para:ClassNames
Ordene las clases durante el entrenamiento.
Especifique el orden de cualquier dimensión de argumento de entrada o salida que corresponda al orden de clases. Por ejemplo, se utiliza para especificar el orden de las dimensiones o el orden de columna de las puntuaciones de clasificación devueltas por .ClassNames
Cost
predict
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 mediante observaciones de clases y solo, 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'
— Costo de la clasificación erróneaCoste de la clasificación incorrecta de un punto, especificado como el par separado por comas que consta de y uno de los siguientes:'Cost'
Matriz cuadrada, donde está el costo de clasificar un punto en clase si su clase verdadera es (es decir, las filas corresponden a la clase verdadera y las columnas corresponden a la clase predicha).Cost(i,j)
j
i
Para especificar el orden de clases para las filas y columnas correspondientes de , especifique también el argumento de par nombre-valor.Cost
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 coste.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'
— Profundidad máxima del árbolProfundidad máxima del árbol, 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 tenga menos niveles y requiera menos pasadas a través de la matriz alta para calcular. Generalmente, el algoritmo de toma un paso a través de los datos y un pase adicional para cada nivel de árbol.fitctree
La función no establece una profundidad de árbol máxima, de forma predeterminada.
Nota
Esta opción solo se aplica cuando se utiliza en matrices altas.fitctree
Consulte para obtener más información.Matrices altas
'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 utilizando uno de los algoritmos inexactos.fitctree
Pasar un valor pequeño puede provocar 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
'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), especificado como el par separado por comas que consta de un entero positivo y un entero positivo.'MaxNumSplits'
fitctree
divisiones 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
'MergeLeaves'
— Bandera de fusión de hoja'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 , entoncesMergeLeaves
'on'
fitctree
:
Combina hojas que se originan en 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 subárboles podados, pero no poda el árbol de clasificación
Lo contrario fitctree
no fusiona hojas.
Ejemplo: 'MergeLeaves','off'
'MinLeafSize'
— Número mínimo de observaciones de los ódos hoja1
(predeterminado) | valor entero positivoNúmero mínimo de observaciones de nodo hoja, especificado como el par separado por comas que consta de y un valor entero positivo.'MinLeafSize'
Cada hoja tiene al menos observaciones por hoja de árbol.MinLeafSize
Si 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
'MinParentSize'
— Número mínimo de observaciones de nodo de sucursal10
(predeterminado) | valor entero positivoNúmero mínimo de observaciones de nodo de bifurcación, especificado como el par separado por comas que consta de y un valor entero positivo.'MinParentSize'
Cada nodo de rama del árbol tiene al menos observaciones.MinParentSize
Si 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 ubicaciones para predictores numéricos[]
(predeterminado) | scalar entero positivoNúmero de ubicaciones para predictores numéricos, especificado 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 predictor.'NumBins'
Si especifica el valor como un escalar entero positivo, el software coloca 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 supera el número ( ) de valores únicos para un predictor,'NumBins'
u
fitctree
bins el predictor en contenedores.u
fitctree
no bin predictores categóricos.
Cuando se utiliza un conjunto de datos de entrenamiento grande, esta opción de binning acelera el entrenamiento, pero provoca una posible disminución de la precisión. Puede probar primero y, a continuación, cambiar el valor en función 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
'NumVariablesToSample'
— Número de predictores para seleccionar al azar para cada división'all'
(predeterminado) | valor entero positivoNúmero de predictores que se deben seleccionar aleatoriamente para cada división, especificado como el par separado por comas que consta de y un valor entero positivo.'NumVariablesToSample'
Como alternativa, puede especificar el uso de todos los predictores disponibles.'all'
Si los datos de entrenamiento incluyen muchos predictores y desea analizar la importancia del predictor, especifique como .'NumVariablesToSample'
'all'
De lo contrario, es posible que el software no seleccione algunos predictores, subestimando su importancia.
Para reproducir las selecciones aleatorias, debe establecer la semilla del generador de números aleatorios utilizando y especificando .rng
'Reproducible',true
Ejemplo: 'NumVariablesToSample',3
Tipos de datos: char
| string
| single
| double
'PredictorNames'
— Nombres de variables predictorasNombres 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 proporciona y , entonces 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 columna de .PredictorNames
X
Es decir, es el nombre de , es el nombre de , y así sucesivamente.PredictorNames{1}
X(:,1)
PredictorNames{2}
X(:,2)
Además, y debe ser igual.size(X,2)
numel(PredictorNames)
De forma predeterminada, es .PredictorNames
{'x1','x2',...}
Si proporciona , entonces puede utilizar para elegir qué variables predictoras utilizar en el entrenamiento.Tbl
'PredictorNames'
Es decir fitctree
utiliza sólo las variables predictoras en 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 especificar los predictores para el entrenamiento usando uno o solo.'PredictorNames'
Fórmula
Ejemplo: 'PredictorNames',{'SepalLength','SepalWidth','PetalLength','PetalWidth'}
Tipos de datos: string
| cell
'PredictorSelection'
— Algoritmo utilizado para seleccionar el mejor predictor dividido'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' | CART estándar — Selecciona el predictor dividido que maximiza la ganancia de criterio de división en todas las divisiones posibles de todos los predictores.[1] |
'curvature' | : selecciona el predictor dividido que minimiza el valor -valor de las pruebas de independencia de chi-cuadrado entre cada predictor y la respuesta.Prueba de curvaturap[4] La velocidad de entrenamiento es similar a la de CART estándar. |
'interaction-curvature' | — Elige el predictor dividido que minimiza el valor -valor de las pruebas de independencia de chi-cuadrado entre cada predictor y la respuesta, y que minimiza el valor -valor de una prueba de independencia chi-cuadrada entre cada par de predictores y 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 producen -valores mayores que 0.05, a continuación,'curvature'
'interaction-curvature'
p
fitctree
deja de dividir nodos.
Sugerencia
El CART 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 condiciones:
Si hay predictores que tienen relativamente menos valores distintos que otros predictores, por ejemplo, si el conjunto de datos predictor es heterogéneo.
Si tu objetivo es un análisis de la importancia del predictor. Para obtener más información sobre la estimación de la importancia del predictor, véase predictorImportance
Y.Introduction to Feature Selection
Los árboles cultivados con CART estándar no son sensibles a las interacciones variables predictoras. Además, estos árboles son menos propensos a 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 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, ver y .Reglas de división de nodoChoose Split Predictor Selection Technique
Ejemplo: 'PredictorSelection','curvature'
'Prior'
— Probabilidades anteriores'empirical'
(predeterminado) | 'uniform'
| vector de valores escalares | EstructuraProbabilidades anteriores para cada clase, especificadas como el par separado por comas que consta de y uno de los siguientes:'Prior'
Vector de caracteres o escalar de cadena.
determina las probabilidades de clase a partir de frecuencias de clase en la variable de respuesta en o .'empirical'
Y
Tbl
Si pasas pesos de observación,
fitctree
utiliza las ponderaciones para calcular las probabilidades de clase.
establece todas las probabilidades de clase para que sean iguales.'uniform'
Vector (un valor escalar para cada clase). Para especificar el orden de clases para los elementos correspondientes de , especifique también el argumento de par nombre-valor.'Prior'
ClassNames
Estructura con dos campos.S
contiene los nombres de clase como una variable del mismo tipo que la variable de respuesta en o .S.ClassNames
Y
Tbl
contiene un vector de las probabilidades correspondientes.S.ClassProbs
Si establece valores para ambos y ,'Weights'
'Prior'
fitctree
normaliza los pesos de cada clase para sumar el valor de la probabilidad anterior de la clase respectiva.
Ejemplo: 'Prior','uniform'
Tipos de datos: char
| string
| single
| double
| struct
'Prune'
— Bandera para estimar la secuencia óptima de subárboles podados'on'
(predeterminado) | 'off'
Marcador para estimar la secuencia óptima de subárboles podados, especificado según el par separado por comas que consta de y o .'Prune'
'on'
'off'
Si es , entoncesPrune
'on'
fitctree
cultiva el árbol de clasificación sin podarlo, pero estima la secuencia óptima de subárboles podados. Lo contrario fitctree
cultiva el árbol de clasificación sin estimar la secuencia óptima de subárboles podados.
Para podar un modelo entrenado, páselo 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 , entonces'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'
— Bandera para hacer cumplir la reproducibilidadfalse
0
(predeterminado) | (lógico)true
1
Marcar para aplicar la reproducibilidad sobre ejecuciones repetidas de entrenamiento de un modelo, especificado como el par separado por comas que consta de y o .'Reproducible'
false
true
Si no es así, el software selecciona los predictores al azar para cada división.'NumVariablesToSample'
'all'
Para reproducir las selecciones aleatorias, debe especificar y establecer la semilla del generador de números aleatorios utilizando .'Reproducible',true
rng
Tenga en cuenta que la configuración de puede ralentizar el entrenamiento.'Reproducible'
true
Ejemplo: 'Reproducible',true
Tipos de datos: logical
'ResponseName'
— Nombre de la variable de respuesta'Y'
(predeterminado) | vector de caracteres | cuerda escalarNombre de la 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 nombre-valor no es válido cuando se utilizan los argumentos o input.ResponseVarName
Fórmula
Ejemplo: 'ResponseName','IrisType'
Tipos de datos: char
| string
'ScoreTransform'
— Transformación de puntuación'none'
(predeterminado) | 'doublelogit'
| 'invlogit'
| 'ismax'
| 'logit'
| manija de la 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'
En esta tabla se resumen 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 alta en , y establece las puntuaciones de todas las demás clases en1 0 |
'logit' | 1/(1 +e–x) |
O'none' 'identity' | (sin transformación)x |
'sign' | –1 para <0 0 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 alta en , y establece las puntuaciones de todas las demás clases en1 –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
'SplitCriterion'
— Criterio dividido'gdi'
(predeterminado) | 'twoing'
| 'deviance'
Criterio de división, especificado como el par separado por comas que consta de y (índice de diversidad de Gini), para la regla de dos, 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'
'Surrogate'
— Decisión subrogada divide la bandera'off'
(predeterminado) | 'on'
| 'all'
| valor entero positivomarcador, especificado como el par separado por comas que consta de y , , , o un valor entero positivo.Se divide la decisión subrogada'Surrogate'
'on'
'off'
'all'
Cuando se establece en , encuentra como máximo 10 divisiones suplentes en cada nodo de sucursal.'on'
fitctree
Cuando se establece en , busca todas las divisiones suplentes en cada nodo de bifurcación.'all'
fitctree
La configuración puede utilizar un tiempo y una memoria considerables.'all'
Cuando se establece en un valor entero positivo, busca como máximo el número especificado de divisiones suplentes en cada nodo de rama.fitctree
Utilice divisiones suplentes para mejorar la precisión de las predicciones de datos con valores que faltan. 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 nodo
Ejemplo: 'Surrogate','on'
Tipos de datos: single
| double
| char
| string
'Weights'
— Pesos de observaciónones(size(X,1),1)
(predeterminado) | vector de valores escalares | nombre de la variable enTbl
Pesos de observación, especificados como el par separado por comas que consta de y un vector de valores escalares o el nombre de una variable en .'Weights'
Tbl
El software pondera las observaciones en cada fila de 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 vector de caracteres o escalar de cadena.Weights
Por ejemplo, si el vector de ponderaciones se almacena como , especifice como .W
Tbl.W
'W'
De lo contrario, el software trata todas las columnas de , incluidos , como predictores al entrenar el modelo.Tbl
W
fitctree
normaliza los pesos de cada clase para sumar el valor de la probabilidad anterior de la clase respectiva.
Tipos de datos: single
| double
| char
| string
'CrossVal'
— Bandera para cultivar árbol de decisión validado entre referencias'off'
(predeterminado) | 'on'
Marcar para hacer crecer un árbol de decisión validado entre referencias cruzadas, especificado como el par separado por comas que consta de y o .'CrossVal'
'on'
'off'
Si , crece un árbol de decisión validado cruzadamente con 10 pliegues.'on'
fitctree
Puede invalidar esta configuración de validación cruzada mediante uno de los argumentos de par , , o nombre-valor.'KFold'
'Holdout'
'Leaveout'
'CVPartition'
Solo puede usar uno de estos cuatro argumentos a la vez al crear un árbol validado entre sí.
Alternativamente, cotejar más adelante utilizando eltree
crossval
Método.
Ejemplo: 'CrossVal','on'
'CVPartition'
— Partición para árbol validado entre referenciascvpartition
Partición que se utilizará en un árbol validado por cruces, especificado como el par separado por comas que consta de y un objeto creado mediante .'CVPartition'
cvpartition
Si utiliza , no puede utilizar ninguno de los argumentos de par , , o nombre-valor.'CVPartition'
'KFold'
'Holdout'
'Leaveout'
'Holdout'
— Fracción de datos para la validación de retención0
(predeterminado) | valor escalar en el rango[0,1]
Fracción de los datos utilizados para la validación de retenció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 retención prueba la fracción especificada de los datos y usa el resto de los datos para el entrenamiento.
Si utiliza , no puede utilizar ninguno de los argumentos de par , , o 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 van a utilizar en un clasificador validado entre referencias cruzadas, especificado como el par separado por comas que consta de un valor entero positivo mayor que 1.'KFold'
Si especifica, por ejemplo, 'KFold',k
, a continuación, el software:
Particiona 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 células de un k
-by-1 vector de celda en la propiedad del modelo validado cruzadamente.Trained
Para crear un modelo validado entre referencias cruzadas, puede utilizar una de estas cuatro opciones solo: , , , o .CVPartition
Holdout
KFold
Leaveout
Ejemplo: 'KFold',8
Tipos de datos: single
| double
'Leaveout'
— Dejar un indicador de validación cruzada'off'
(predeterminado) | 'on'
Deje el indicador de validación cruzada uno-out, especificado como el par separado por comas que consta de y o .'Leaveout'
'on'
'off'
Especifique para usar la validación cruzada de dejar uno hacia fuera.'on'
Si utiliza , no puede utilizar ninguno de los argumentos de par , , o nombre-valor.'Leaveout'
'CVPartition'
'Holdout'
'KFold'
Ejemplo: 'Leaveout','on'
'OptimizeHyperparameters'
— Parámetros para optimizar'none'
(predeterminado) | 'auto'
| 'all'
| matriz de cadenas o matriz de celdas de nombres de parámetros elegibles | vector de objetosoptimizableVariable
Parámetros para optimizar, especificados como el par separado por comas que consta de y uno de los siguientes:'OptimizeHyperparameters'
— No optimizar.'none'
— Uso'auto'
{'MinLeafSize'}
— Optimizar todos los parámetros elegibles.'all'
Matriz de cadenas o matriz de celdas de nombres de parámetros elegibles
Vector de objetos, normalmente la salida deoptimizableVariable
hyperparameters
La optimización intenta minimizar la pérdida de validación cruzada (error) para variar los parámetros.fitctree
Para obtener información sobre la pérdida de validación cruzada (aunque en un contexto diferente), consulte .Classification Loss Para controlar el tipo de validación cruzada y otros aspectos de la optimización, utilice el par nombre-valor.HyperparameterOptimizationOptions
Nota
los valores reemplazan los valores que establezca utilizando otros argumentos de par nombre-valor.'OptimizeHyperparameters'
Por ejemplo, establecer para hacer que se apliquen los valores.'OptimizeHyperparameters'
'auto'
'auto'
Los parámetros elegibles para son:fitctree
— búsquedas entre enteros, por defecto escalado de registros en el rango .MaxNumSplits
fitctree
[1,max(2,NumObservations-1)]
— búsquedas entre enteros, por defecto escalado de registros en el rango .MinLeafSize
fitctree
[1,max(2,floor(NumObservations/2))]
— Para dos clases, busca entre y .SplitCriterion
fitctree
'gdi'
'deviance'
Para tres o más clases, también busca entre .fitctree
'twoing'
— no optimiza sobre 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 sobre este hiperparámetro.fitcensemble
Establezca parámetros no predeterminados pasando un vector de objetos que tengan 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 comandoy los trazados aparecen según el número de hiperparámetros de la optimización. Para la optimización y las gráficas, 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 obtener un ejemplo, consulte .Optimizar árbol de clasificación
Ejemplo: 'auto'
'HyperparameterOptimizationOptions'
— Opciones para la optimizaciónOpciones para la optimización, especificadas como el par separado por comas que consta de y una estructura.'HyperparameterOptimizationOptions'
Este argumento modifica el efecto del argumento de par nombre-valor.OptimizeHyperparameters
Todos los campos de la estructura son opcionales.
Nombre del campo | Valores | Predeterminado |
---|---|---|
Optimizer |
búsquedas en un orden aleatorio, utilizando muestreo uniforme sin reemplazo de la cuadrícula. | '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 objetivo. | 'expected-improvement-per-second-plus' |
MaxObjectiveEvaluations | Número máximo de evaluaciones de funciones objetivas. | para o , y toda la cuadrícula para30 'bayesopt' 'randomsearch' 'gridsearch' |
MaxTime | Límite de tiempo, especificado como un real positivo. El límite de tiempo es en segundos, medido por y . | Inf |
NumGridDivisions | Para , el número de valores en cada dimensión.'gridsearch' El valor puede ser un vector de enteros positivos que dan 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 deben mostrar trazados. Si , este campo traza el mejor valor de función objetivo con respecto al número de iteración.true Si hay uno o dos parámetros de optimización, y si es , también se traza un modelo de la función objetivo con los parámetros.Optimizer 'bayesopt' ShowPlots | true |
SaveIntermediateResults | Valor lógico que indica si se deben guardar los resultados cuando es .Optimizer 'bayesopt' Si , este campo sobrescribe una variable de área de trabajo denominada en cada iteración.true 'BayesoptResults' La variable es un objeto.BayesianOptimization | false |
Verbose | Visualice en la línea de comandos.
Para obtener más información, consulte 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™ Debido a la no reproducibilidad de la sincronización paralela, la optimización bayesiana paralela no produce necesariamente resultados reproducibles. Para obtener más información, consulte .Parallel Bayesian Optimization | false |
Repartition | Valor lógico que indica si se debe volver a particionar la validación cruzada en cada iteración. Si , el optimizador utiliza una sola partición para la optimización. por lo general da los resultados más robustos porque 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, tal como lo creó .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 retenció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 las opciones , , , , u o en un árbol de clase .'CrossVal'
'KFold'
'Holdout'
'Leaveout'
'CVPartition'
ClassificationPartitionedModel
No puede utilizar un árbol particionado para la predicción, por lo que este tipo de árbol no tiene un método.predict
En su lugar, se utiliza para predecir las respuestas para las observaciones que no se utilizan para el entrenamiento.kfoldPredict
De lo contrario, es de clase, y puede usar eltree
ClassificationTree
predict
método para hacer 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 cuartiles.x Cree una variable nominal que bins observations según la sección de la partición que ocupen. 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 observaciones en la clasejJkKk
Wi es el peso de la observación,i , es la función del indicador 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 clase.jk
Calcular 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 -para la prueba es menor que 0,05, rechace 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 tengan muchos niveles. A veces, una selección de este tipo puede ser falsa y también puede enmascarar predictores más importantes que tienen menos niveles, como los 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 que 0,05) de las pruebas de curvatura entre cada predictor y la variable de respuesta.p Tal selección es robusta para el número de niveles en los predictores individuales.
Nota
Si los niveles de un predictor son puros para una clase en particular, entonces
fitctree
fusiona esos niveles. Por lo tanto, en el paso 3 del algoritmo, puede ser menor que el número real de niveles en el predictor.J Por ejemplo, si tiene 4 niveles y todas las observaciones de los contenedores 1 y 2 pertenecen a la clase 1, esos niveles son puros para la clase 1.x Por consiguiente fitctree
fusiona las observaciones en los contenedores 1 y 2, y se reduce a 3.J
Para obtener más información sobre cómo se aplica la prueba de curvatura al crecimiento de árboles de clasificación, consulte y .Reglas de división de nodo[4]
divide los nodos en función de uno o .ClassificationTree
ImpurezaError de nodo
Impureza significa una de varias cosas, dependiendo de su elección del argumento de par nombre-valor:SplitCriterion
El índice de diversidad de Gini ( ) — El índice Gini de un nodo esgdi
donde la suma está sobre las clases en el nodo, y ( ) es la fracción observada de clases con clase que alcanzan el nodo.ipii Un nodo con una sola clase (un nodo) tiene índice Gini; de lo contrario, el índice Gini es positivo.Puro0
Así que el índice Gini es una medida de impureza de los nórtelos.
Desviación ( ) — Con ( ) definido igual 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
Regla de dos isos ( ) — 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 ( ) denotan la fracción de los miembros de la clase en el nodo secundario izquierdo después de una división y ( ) denotan la fracción de los miembros de la clase en el nodo secundario derecho después de una división.LiiRii Elija el criterio de división para maximizar
donde ( ) 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 aumentó la pureza del nodo.
Error de nodo — El error de nodo es la fracción de clases mal clasificadas en un nodo. Si es la clase con el mayor número de muestras de entrenamiento en un nodo, el error de nodo esj
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 las variables predictorasx1 Yx2 con respecto a se lleva a cabo utilizando este proceso.y
Six1 Ox2 es continuo, luego particionar esa variable en sus cuartiles. Cree una variable nominal que bins observations según la sección de la partición que ocupen. Si faltan valores, cree una ubicación adicional para ellos.
Crear la variable nominal con el valor de la variable de la unidad de valor de la unidad de valorzJJ1J2 que asigna un índice a la observación según los niveles deix1 Yx2 pertenece. Elimine los niveles que no correspondan a ninguna observación.z
Llevar a cabo un entre 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, entonces CART estándar tiende a perder las interacciones importantes. Sin embargo, realizar pruebas de curvatura e interacción para la selección de predictores en su lugar 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 al crecimiento de árboles de decisión, consulte y .Prueba de curvaturaReglas de división de nodo[3]
Es un valor que indica la similitud entre las reglas de decisión que dividen las observaciones.medida predictiva de la asociación Entre todas las posibles divisiones de decisión que se comparan con la división óptima (que se encuentra al cultivar el árbol), el mejor produce la máxima medida predictiva 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 la asociación entre la división óptimat Xj ) y una división suplenteu Xk < esv
PL es la proporción de observaciones en el nodo, de tal manera quet Xj < .u El subíndice representa el elemento secundario izquierdo del nodo .Lt
PR es la proporción de observaciones en el nodo, de tal manera quet Xj ≥.u El subíndice representa el elemento secundario correcto del nodo .Rt
es la proporción de observaciones en el nodo, de tal forma quet Xj < yu 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 mediante el crecimiento del árbol; la división suplente utiliza una variable predictora y un criterio de división similares o correlacionados.
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 de candidatos se ordenan en orden descendente por su archivo .medida predictiva de la 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 C/C++ que predice las etiquetas para los nuevos datos. La generación de código C/C++ requiere MATLAB Coder™. Para obtener más información, consulte .Introduction to Code Generation
fitctree
utiliza estos procesos para determinar cómo dividir el nodo.t
Para CART estándar (es decir, si es ) y para todos los predictoresPredictorSelection
'allpairs'
Xi, 1,..., :ip
fitctree
calcula la impureza ponderada del nodo,t
Ⅰt. Para las medidas de impureza sensato admitidas, 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 , entoncesPrior
Weights
Wj 1/ , dónde 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 punto de corte.
fitctree
almacena los índices correspondientes a los valores que faltan en el conjunto
TU, que es el conjunto sin dividir.
fitctree
determina la mejor manera de dividir el nodo utilizandot
Xi maximizando la ganancia de impurezas (o ) en todos los candidatos divididos.I Es decir, para todos los candidatos divididos en
Xi:
fitctree
divide las observaciones en nodos secundarios izquierdo y derecho (tTL Y
TR, respectivamente).
fitctree
calcula el valor de . Supongamos que para un candidato de división en particular,I
TL Y
TR
contener índices de observación en los conjuntos
TL Y
TRRespectivamente.
Si Xi no contiene ningún valor que falte, entonces la ganancia de impureza para el candidato de división actual es
Si Xi contiene los valores que faltan 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:división de la decisión sustituta
fitctree
calcula la división de decisión entre la división de decisiónmedidas predictivas de asociación
Xj y todas las posibles divisiones de decisiónu
Xk < , .vjk
fitctree
ordena 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 suplente es la división de decisión que produce la mayor medida.
fitctree
decide las asignaciones de nodo secundario para observaciones con un valor faltante para
Xi usando la división suplente. Si el predictor suplente también contiene un valor faltante, entonces
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 que fitctree
para dividir dos observaciones diferentes en el nodo utilizando dos divisiones suplentes diferentes.t Por ejemplo, supongamos que los predictoresx1 Yx2 son los mejores y segundos mejores sustitutos, respectivamente, para el predictor
Xi, 1,2o, 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 suplente para la observación + 1.m
fitctree
utiliza la fórmula de ganancia de impureza apropiada. Es decir, si
fitctree
no puede asignar todas las observaciones que faltan en el nodo a los nodos secundarios mediante divisiones sustitutas, entonces la ganancia de impureza es detⅠU. Lo contrario fitctree
para la ganancia de impurezas.I
fitctree
elige el candidato que produce la mayor ganancia de impurezas.
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
entre cada predictor y la respuesta para las observaciones en el nodo.pruebas de curvaturat
Si todos los valores son al menos 0,05, entoncesp fitctree
no divide el nodo .t
Si hay un valor mínimo, entoncesp fitctree
elige el predictor correspondiente para dividir el nodo .t
Si más de un valor es cero debido al subdesbordamiento, entoncesp
fitctree
aplica CART estándar a los predictores correspondientes para elegir el predictor dividido.
Si fitctree
elige un predictor dividido y, a continuación, utiliza CART estándar para elegir el punto de corte (consulte el paso 4 en el proceso CART estándar).
Para la prueba de interacción (es decir, si es ):PredictorSelection
'interaction-curvature'
Para observaciones en el nodo ,t
fitctree
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, entoncesp fitctree
no divide el nodo .t
Si hay un valor mínimo y es el resultado de una prueba de curvatura, entoncesp
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, entoncesp
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, entoncesp
fitctree
aplica CART estándar a los predictores correspondientes para elegir el predictor dividido.
Si fitctree
elige un predictor dividido y, a continuación, utiliza CART estándar para elegir el punto de corte (consulte el paso 4 en el proceso CART estándar).
Si es y es (que son los valores predeterminados para estos argumentos de par nombre-valor), el software aplica la poda sólo a las hojas y mediante el error de clasificación.MergeLeaves
'on'
PruneCriterion
'error'
Esta especificación equivale a la fusión de hojas que comparten la clase más popular por hoja.
Para acomodar ,MaxNumSplits
fitctree
divide todos los nodos del archivo 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 deben desdividirse para que haya como máximo nodos de bifurcación.MaxNumSplits
Ordene los nodos de rama por sus ganancias de impureza.
Desdivide el número de ramas menos exitosas.
Devuelva el árbol de decisión cultivado hasta ahora.
Este procedimiento produce árboles equilibrados al máximo.
El software divide los nodos de rama capa por capa hasta que se produce 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 rama 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 valores o de , todas las pruebas producen valores superiores a 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 las divisiones.'MaxNumSplits'
MinParentSize
MaxNumSplits
Para sistemas de doble núcleo y superiores, fitctree
paraleliza los árboles de decisión de entrenamiento mediante bloques de creación de roscado (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, al especificar 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 de salida es un objeto o una tabla de hiperparámetros con valores asociados que describen la optimización de validación cruzada de hiperparámetros.HyperparameterOptimizationResults
BayesianOptimization
no está vacío cuando el argumento de par nombre-valor no está vacío en el momento de crear el modelo.'HyperparameterOptimizationResults'
'OptimizeHyperparameters'
Los valores de dependen del valor que especifique para el argumento de par nombre-valor al crear el modelo.'HyperparameterOptimizationResults'
'HyperparameterOptimizationOptions'
Si especifica (valor predeterminado), es un objeto de clase .'bayesopt'
HyperparameterOptimizationResults
BayesianOptimization
Si especifica o , entonces 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 las observaciones de menor (mejor) a mayor (peor).'gridsearch'
'randomsearch'
HyperparameterOptimizationResults
Los argumentos de par nombre-valor admitidos y cualquier diferencia 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, búsquedas entre enteros, por defecto escalado de registros 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 tenga menos niveles y requiera menos pasadas a través de la matriz alta para calcular. Generalmente, el algoritmo de toma un paso a través de los datos y un pase adicional para cada nivel de árbol.fitctree
La función no establece una profundidad de árbol máxima, de forma predeterminada.
Para obtener más información, consulte .Arreglos altos
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 .Parallel Bayesian Optimization
Para obtener más información general sobre la informática paralela, consulte .Run MATLAB Functions with Automatic Parallel Support (Parallel Computing Toolbox)
ClassificationPartitionedModel
| ClassificationTree
| kfoldPredict
| predict
| prune
Existe una versión modificada de este ejemplo en su sistema. ¿Prefiere abrir esta versión?
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
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.