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.

Soporte para Tall array, notas de uso y limitaciones

Esta tabla enumera las funciones que soportan las matrices altas.Statistics and Machine Learning Toolbox™ La columna "notas o limitaciones" está vacía para las páginas de referencia que admiten completamente matrices altas y datos en memoria.

Estadísticas descriptivas y visualización

FunciónNotas o limitaciones
binScatterPlot

Esta función está diseñada específicamente para visualizar matrices altas. En lugar de trazar millones de puntos de datos, lo cual no es muy factible, resume los puntos de datos en bins.binScatterPlot Este "gráfico de dispersión de bins" revela tendencias de alto nivel en los datos.

confusionchart 
confusionmat 
corr

Solo se admite el tipo.'Pearson'

crosstab

La cuarta salida,, se devuelve como una matriz de celdas que contiene matrices de celdas altas no evaluadas, donde es el número de variables de agrupación de entrada.labelsMM Cada matriz de celdas altas no evaluada, contiene las etiquetas de una variable de agrupación.labels{j}

dummyvar 
geomean 
grpstats
  • Si los datos de entrada son una matriz alta, todas las variables de agrupamiento también deben ser altas y tener el mismo número de filas que los datos.

  • La opción no se puede especificar como un identificador de función.whichstats Además de las opciones incorporadas actuales, también puede ser:whichstats

    • — Número de no NaNs.'Count'

    • — Número de nonceros y no NaNs.'NNZ'

    • — Calcular la curtosis.'Kurtosis'

    • — Calcular la asimetría.'Skewness'

    • — Calcular todas las estadísticas de resumen.'all-stats'

  • No se garantiza que el orden de grupo sea el mismo que el cálculo en memoria.grpstats Especifique como la opción para devolver el orden de las filas de las estadísticas de resumen.'gname'whichstats Por ejemplo, devuelve los medios de los grupos en el mismo orden en que aparecen los grupos.[means,grpname] = grpstats(x,bins,{'mean','gname'})xgrpname

  • Las estadísticas de Resumen de variables devuelven NaNs.nonnumeric

  • siempre opera en la primera dimensión.grpstats

  • Si la entrada es una tabla alta, la salida también es una tabla alta. Sin embargo, en lugar de incluir nombres de fila, la tabla de salida alta contiene una variable adicional que contiene la misma información.GroupLabel

harmmean 
ksdensity
  • Algunas opciones que requieren pases adicionales o la ordenación de los datos de entrada no son compatibles:

    • 'BoundaryCorrection'

    • 'Censoring'

    • (el soporte siempre está ilimitado).'Support'

  • Utiliza la desviación estándar (en lugar de la desviación absoluta mediana) para calcular el ancho de banda.

kurtosis 
prctile
  • y devuelva los percentiles exactos (usando una ordenación basada) bajo estas condiciones:Y = prctile(X,p)Y = prctile(X,p,dim)Algoritmo

    • es un vector de columna alto y es un escalar.Xp En este caso, es.dim1

    • es una matriz alta y no lo es.Xdim1

    Si es un vector y es, a continuación, debe especificar para utilizar un algoritmo de aproximación basado en para calcular los percentiles.pdim1'Method','approximate'T-Digest

  • Devuelve los percentiles exactos cuando es un escalar.Y = prctile(X,p,'all')p Si es un vector, debe especificar para utilizar el algoritmo de aproximación.p'Method','approximate'

  • Devuelve los percentiles exactos si no incluye la primera dimensión.Y = prctile(X,p,vecdim)vecdim Si incluye la primera dimensión, debe especificar que se utilice el algoritmo de aproximación.vecdim'Method','approximate'

quantile
  • y devuelva los cuantiles exactos (utilizando una ordenación basada) bajo estas condiciones:Y = quantile(X,p)Y = quantile(X,p,dim)Algoritmo

    • es un vector de columna alto y es un escalar.Xp En este caso, es.dim1

    • es una matriz alta y no lo es.Xdim1

    Si es un vector y es, entonces debe especificar para utilizar un algoritmo de aproximación basado en para computar los cuantiles.pdim1'Method','approximate'T-Digest

  • Devuelve los cuantiles exactos sólo cuando está operando a lo largo de una cota distinta de la primera dimensión.Y = quantile(X,N)quantile Si es así, debe especificar para utilizar el algoritmo de aproximación.dim1'Method','approximate'

  • Devuelve los cuantiles exactos cuando es un escalar.Y = quantile(__,'all')p Si es un vector, debe especificar para utilizar el algoritmo de aproximación.p'Method','approximate'

  • Devuelve los cuantiles exactos si no incluye la primera dimensión.Y = quantile(__,vecdim)vecdim Si incluye la primera dimensión, debe especificar que se utilice el algoritmo de aproximación.vecdim'Method','approximate'

range 
skewness 
tabulate 
zscore 

Distribuciones de probabilidad

FunciónNotas o limitaciones
datasample
  • es útil como precursor para trazar y ajustar un subconjunto aleatorio de un conjunto de datos grande.datasample El muestreo de un conjunto de datos de gran tamaño preserva las tendencias de los datos sin requerir el uso de todos los puntos de datos. Si la muestra es lo suficientemente pequeña como para caber en la memoria, puede aplicar funciones de trazado y ajuste que no admitan directamente matrices altas.

  • solo admite muestreo a lo largo de la primera dimensión de los datos.datasample

  • Para matrices altas, no admite el muestreo con reemplazo.datasample Debe especificar, por ejemplo,.'Replace',falsedatasample(data,k,'Replace',false)

  • El valor de debe ser una matriz de altura numérica de la misma altura que.'Weights'data

  • Para la sintaxis, la salida es un vector lógico alto de la misma altura que.[Y,idx] = datasample(___)idxdata El vector indica si cada punto de datos está incluido en el ejemplo.

  • Si especifica una secuencia numérica aleatoria, el generador subyacente debe admitir varias secuencias y subsecuencias. Si no especifica una secuencia numérica aleatoria, utiliza la secuencia controlada por.datasampletallrng

Cluster Analysis

FunciónNotas o limitaciones
kmeans

  • Las sintaxis admitidas son:

    • idx = kmeans(X,k)

    • [idx,C] = kmeans(X,k)

    • [idx,C,sumd] = kmeans(X,k)

    • [___] = kmeans(___,Name,Value)

  • Los argumentos de par nombre-valor admitidos y las diferencias son:

    • — El valor predeterminado es.'Display''iter'

    • 'MaxIter'

    • : Solo admite el campo de la matriz de estructura creada por.'Options''TolFun'statset El valor predeterminado es.'TolFun'1e-4 La función utiliza el valor de como la tolerancia de terminación para las sumas dentro del clúster de las distancias de punto a centroide.kmeans'TolFun' Por ejemplo, puede especificar.'Options',statset('TolFun',1e-8)

    • 'Replicates'

    • : Sólo admite, y una matriz numérica.'Start''plus''sample'

Regresión

FunciónNotas o limitaciones

El y los métodos de estas clases de regresión soportan matrices altas:lossPredecir

  • Puede utilizar modelos formados en datos en memoria o altos con estos métodos.

  • el loss método de solo admite un argumento de salida.CompactRegressionTree

El método de soporta matrices altas.resumeRegressionKernel

  • Puede utilizar modelos formados en datos en memoria o altos.

  • El valor predeterminado para el argumento de par nombre-valor se relaja a 20 cuando se trabaja con matrices altas.'IterationLimit'

  • utiliza una estrategia en bloque.resume Para obtener más información, consulte la sección de.Algoritmosfitrkernel

cvpartition
  • Cuando se utiliza con matrices altas, el primer argumento de entrada debe ser una variable de agrupación,.cvpartitiontGroup Si especifica un escalar alto como el primer argumento de entrada, se produce un error.cvpartition

  • solo admite la validación cruzada para matrices altas; por ejemplo,.cvpartitionHoldoutc = cvpartition(tGroup,'HoldOut',p) De forma predeterminada, divide aleatoriamente las observaciones en un conjunto de entrenamiento y un conjunto de pruebas con estratificación, utilizando la información de clase en.cvpartitiontGroup El parámetro es un escalar tal que.p0 < p < 1

  • Para crear particiones no estratificadas, especifique el valor del argumento de par nombre-valor como; por ejemplo,.Holdout'Stratify'falsec = cvpartition(tGroup,'Holdout',p,'Stratify',false)

fitglm
  • Si algún argumento de entrada es una matriz alta, entonces todas las otras entradas deben ser matrices altas también.fitglm Esto incluye las variables no vacías suministradas con los pares de nombre y valor.'Weights''Exclude''Offset''BinomialSize'

  • El número predeterminado de iteraciones es 5. Puede cambiar el número de iteraciones utilizando el par nombre-valor para pasar en una estructura de opciones.'Options' Cree una estructura de opciones utilizando para especificar un valor diferente para.statsetMaxIter

  • Para los datos altos, devuelve un objeto que contiene la mayoría de las mismas propiedades que un objeto.fitglmCompactGeneralizedLinearModelGeneralizedLinearModel La principal diferencia es que el objeto compacto es sensible a los requisitos de memoria. El objeto compacto no incluye las propiedades que incluyen los datos, o que incluyen una matriz del mismo tamaño que los datos. El objeto compacto no contiene estas propiedades:GeneralizedLinearModel

    • Diagnostics

    • Fitted

    • Offset

    • ObservationInfo

    • ObservationNames

    • Residuos

    • Steps

    • Variables

    Puede calcular los residuales directamente desde el objeto compacto devuelto medianteGLM = fitglm(X,Y)

    RES = Y - predict(GLM,X); S = sqrt(GLM.SSE/GLM.DFE); histogram(RES,linspace(-3*S,3*S,51)) 
fitlm
  • Si algún argumento de entrada es una matriz alta, entonces todas las otras entradas deben ser matrices altas también.fitlm Esto incluye las variables no vacías suministradas con los pares nombre-valor.'Weights''Exclude'

  • El par nombre-valor no se admite con matrices altas.'RobustOpts'

  • Para los datos altos, devuelve un objeto que contiene la mayoría de las mismas propiedades que un objeto.fitlmCompactLinearModelLinearModel La principal diferencia es que el objeto compacto es sensible a los requisitos de memoria. El objeto compacto no incluye las propiedades que incluyen los datos, o que incluyen una matriz del mismo tamaño que los datos. El objeto compacto no contiene estas propiedades:LinearModel

    • Diagnostics

    • Fitted

    • ObservationInfo

    • ObservationNames

    • Residuos

    • Steps

    • Variables

    Puede calcular los residuales directamente desde el objeto compacto devuelto medianteLM = fitlm(X,Y)

    RES = Y - predict(LM,X); S = LM.RMSE; histogram(RES,linspace(-3*S,3*S,51)) 
  • Si el objeto carece de términos de orden inferior que incluyan factores categóricos:CompactLinearModel

    • No se admiten los métodos y.plotEffectsplotInteraction

    • No se admite el método con la opción.anova'components'

fitrkernel
  • Algunos argumentos de par nombre-valor tienen valores predeterminados diferentes en comparación con los predeterminados para la función en memoria.fitrkernel Los argumentos de par nombre-valor admitidos y las diferencias son:

    • 'BoxConstraint'

    • 'Epsilon'

    • 'NumExpansionDimensions'

    • 'KernelScale'

    • 'Lambda'

    • 'Learner'

    • — El valor predeterminado es.'Verbose'1

    • 'BlockSize'

    • 'RandomStream'

    • 'ResponseTransform'

    • : El valor debe ser una matriz alta.'Weights'

    • — El valor predeterminado es relajado.'BetaTolerance'1e–3

    • — El valor predeterminado es relajado.'GradientTolerance'1e–5

    • 'HessianHistorySize'

    • — El valor predeterminado es relajado.'IterationLimit'20

    • 'OptimizeHyperparameters'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitrkernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

  • Si es así, utiliza la corriente aleatoria controlada por para el submuestreo.'KernelScale''auto'fitrkerneltallrng Para reproducibilidad, debe establecer un número aleatorio de inicialización para la secuencia global y la secuencia aleatoria controlada por.tallrng

  • Si es así, podría tomar un paso adicional a través de los datos para calcular el número de observaciones en.'Lambda''auto'fitrkernelX

  • utiliza una estrategia en bloque.fitrkernel Para obtener más información, consulte.Algoritmos

fitrlinear
  • Algunos argumentos de par de nombre-valor tienen valores predeterminados diferentes, en comparación con la función en memoria.fitrlinear Los argumentos de par nombre-valor admitidos y las diferencias son:

    • 'Epsilon'

    • — Sólo admite.'ObservationsIn''rows'

    • : Puede ser (predeterminado) o escalar.'Lambda''auto'

    • 'Learner'

    • — Sólo admite.'Regularization''ridge'

    • — Sólo admite.'Solver''lbfgs'

    • — El valor predeterminado es'Verbose'1

    • 'Beta'

    • 'Bias'

    • — Sólo admite.'FitBias'true

    • : El valor debe ser una matriz alta.'Weights'

    • 'HessianHistorySize'

    • — El valor predeterminado es relajado.'BetaTolerance'1e-3

    • — El valor predeterminado es relajado.'GradientTolerance'1e-3

    • — El valor predeterminado es relajado.'IterationLimit'20

    • — El valor del parámetro debe ser.'OptimizeHyperparameters''Regularization''ridge'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitrlinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

  • Para matrices altas implementa LBFGS distribuyendo el cálculo de la pérdida y el gradiente entre las diferentes partes de la matriz alta en cada iteración.fitrlinear Otros solucionadores no están disponibles para matrices altas.

    Cuando los valores iniciales para y no se dan, primero se reajusta las estimaciones iniciales de los parámetros mediante el ajuste del modelo localmente a partes de los datos y la combinación de los coeficientes mediante la promediación.BetaBiasfitrlinear

Lazo
  • Con matrices altas, utiliza un algoritmo basado en ADMM (método de dirección alterna de multiplicadores).Lazo

  • Sin soporte elástico de red. El parámetro siempre es 1.'Alpha'

  • No hay compatibilidad de validación cruzada (parámetro), que incluye el parámetro relacionado.'CV''MCReps'

  • La salida no contiene los campos adicionales,,,, y.FitInfo'SE''LambdaMinMSE''Lambda1SE''IndexMinMSE''Index1SE'

  • El parámetro no se admite porque no contiene opciones que se apliquen al algoritmo ADMM.'Options' Puede ajustar el algoritmo ADMM utilizando argumentos de par nombre-valor.

  • Los argumentos de par nombre-valor admitidos son:

    • 'Lambda'

    • 'LambdaRatio'

    • 'NumLambda'

    • 'Standardize'

    • 'PredictorNames'

    • 'RelTol'

    • 'Weights'

  • Los argumentos adicionales del par nombre-valor para controlar el algoritmo ADMM son:

    • — Parámetro Lagrangio aumentado,.'Rho'ρ El valor predeterminado es la selección automática.

    • — Tolerancia absoluta utilizada para determinar la convergencia.'AbsTol' El valor predeterminado es.1e–4

    • — Número máximo de iteraciones.'MaxIter' El valor predeterminado es.1e4

    • — Valores iniciales de los coeficientes.'B0'x El valor predeterminado es un vector de ceros.

    • — Valores iniciales de la variable dual escalada.'U0'u El valor predeterminado es un vector de ceros.

Clasificación

FunciónNotas o limitaciones

El,,, y los métodos de estas clases de clasificación soportan matrices altas:PredecirlossMargenBorde

  • Puede utilizar modelos formados en datos en memoria o altos con estos métodos.

  • el loss método de solo admite un argumento de salida.CompactClassificationTree

El método de soporta matrices altas.resumeClassificationKernel

  • Puede utilizar modelos formados en datos en memoria o altos.

  • El valor predeterminado para el argumento de par nombre-valor se relaja a 20 cuando se trabaja con matrices altas.'IterationLimit'

  • utiliza una estrategia en bloque.resume Para más detalles, ver de.Algoritmosfitckernel

fitcdiscr
  • Las sintaxis admitidas son:

    • Mdl = fitcdiscr(Tbl,Y)

    • Mdl = fitcdiscr(X,Y)

    • Mdl = fitcdiscr(___,Name,Value)

    • : devuelve los argumentos de salida adicionales y cuando se especifica el argumento de par nombre-valor.[Mdl,FitInfo,HyperparameterOptimizationResults] = fitcdiscr(___,Name,Value)fitcdiscrFitInfoHyperparameterOptimizationResults'OptimizeHyperparameters'

  • El argumento de salida es una matriz de estructura vacía actualmente reservada para un posible uso futuro.FitInfo

  • El argumento Output es un objeto o una tabla de hiperparámetros con valores asociados que describen la optimización de la validación cruzada de los hiperparámetros.HyperparameterOptimizationResultsBayesianOptimization

    no está vacío cuando el argumento de par nombre-valor no está vacío en el momento en que se crea el modelo.'HyperparameterOptimizationResults''OptimizeHyperparameters' Los valores dependen del valor especificado para el argumento de par nombre-valor al crear el modelo.'HyperparameterOptimizationResults''HyperparameterOptimizationOptions'

    • Si especifica (valor predeterminado), entonces es un objeto de clase.'bayesopt'HyperparameterOptimizationResultsBayesianOptimization

    • Si especifica o, a continuación, es una tabla de los hiperparámetros utilizados, los valores de función objetivo observados (pérdida de validación cruzada) y el rango de observaciones de menor (mejor) a más alto (peor).'gridsearch''randomsearch'HyperparameterOptimizationResults

  • Los argumentos de par nombre-valor admitidos y las diferencias son:

    • 'ClassNames'

    • 'Cost'

    • 'DiscrimType'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitcdiscr(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

    • — El único parámetro elegible para optimizar es.'OptimizeHyperparameters''DiscrimType' Especificando usos.'auto''DiscrimType'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'Weights'

  • Para matrices altas y tablas altas, devuelve un objeto, que contiene la mayoría de las mismas propiedades que un objeto.fitcdiscrCompactClassificationDiscriminantClassificationDiscriminant La principal diferencia es que el objeto compacto es sensible a los requisitos de memoria. El objeto compacto no incluye las propiedades que incluyen los datos, o que incluyen una matriz del mismo tamaño que los datos. El objeto compacto no contiene estas propiedades:ClassificationDiscriminant

    • ModelParameters

    • NumObservations

    • HyperparameterOptimizationResults

    • RowsUsed

    • XCentered

    • W

    • X

    • Y

    Además, el objeto compacto no admite estos métodos:ClassificationDiscriminant

    • compact

    • crossval

    • cvshrink

    • resubEdge

    • resubLoss

    • resubMargin

    • resubPredict

fitcecoc
  • Las sintaxis admitidas son:

    • Mdl = fitcecoc(X,Y)

    • Mdl = fitcecoc(X,Y,Name,Value)

    • : devuelve los argumentos de salida adicionales y cuando se especifica el argumento de par nombre-valor.[Mdl,FitInfo,HyperparameterOptimizationResults] = fitcecoc(X,Y,Name,Value)fitcecocFitInfoHyperparameterOptimizationResults'OptimizeHyperparameters'

  • El argumento de salida es una matriz de estructura vacía actualmente reservada para un posible uso futuro.FitInfo

  • No se admiten las opciones relacionadas con la validación cruzada. Los argumentos de par nombre-valor admitidos son:

    • 'ClassNames'

    • 'Cost'

    • — El valor predeterminado es.'Coding''onevsall'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitcecoc(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

    • — El valor predeterminado es.'Learners''linear' Puede especificar, un objeto o una matriz de celdas de dichos objetos.'linear''kernel'templateLineartemplateKernel

    • : Cuando se utilizan los alumnos binarios lineales, el valor del hiperparámetro debe ser.'OptimizeHyperparameters''Regularization''ridge'

    • 'Prior'

    • — El valor predeterminado es.'Verbose'1

    • 'Weights'

  • Este argumento de par nombre-valor adicional es específico de matrices altas:

    • : Un escalar entero positivo que especifica el número de alumnos binarios que se entrenan simultáneamente combinando las operaciones de e/s de archivo.'NumConcurrent' El valor predeterminado es, lo que significa que entrena los alumnos binarios secuencialmente. es más beneficioso cuando las matrices de entrada no caben en la memoria del clúster distribuido.'NumConcurrent'1fitcecoc'NumConcurrent' De lo contrario, las matrices de entrada se pueden almacenar en caché y SpeedUp es insignificante.

      Si ejecuta el código, el límite superior está delimitado por la memoria disponible para las comunicaciones.Apache Spark™NumConcurrent Marque y las propiedades en su configuración.'spark.executor.memory''spark.driver.memory'Apache Spark Vea para más detalles.parallel.cluster.Hadoop Para obtener más información sobre y otros entornos de ejecución que controlan dónde se ejecuta el código, vea.Apache SparkExtienda los arrays altos con otros productos (MATLAB)

fitckernel
  • Algunos argumentos de par nombre-valor tienen valores predeterminados diferentes en comparación con los predeterminados para la función en memoria.fitckernel Los argumentos de par nombre-valor admitidos y las diferencias son:

    • 'Learner'

    • 'NumExpansionDimensions'

    • 'KernelScale'

    • 'BoxConstraint'

    • 'Lambda'

    • — El valor predeterminado es relajado.'BetaTolerance'1e–3

    • — El valor predeterminado es relajado.'GradientTolerance'1e–5

    • — El valor predeterminado es relajado.'IterationLimit'20

    • 'BlockSize'

    • 'RandomStream'

    • 'HessianHistorySize'

    • — El valor predeterminado es.'Verbose'1

    • 'ClassNames'

    • 'Cost'

    • 'Prior'

    • 'ScoreTransform'

    • : El valor debe ser una matriz alta.'Weights'

    • 'OptimizeHyperparameters'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitckernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

  • Si es así, utiliza la corriente aleatoria controlada por para el submuestreo.'KernelScale''auto'fitckerneltallrng Para reproducibilidad, debe establecer un número aleatorio de inicialización para la secuencia global y la secuencia aleatoria controlada por.tallrng

  • Si es así, podría tomar un paso adicional a través de los datos para calcular el número de observaciones en.'Lambda''auto'fitckernelX

  • utiliza una estrategia en bloque.fitckernel Para obtener más información, consulte.Algoritmos

templateKernel

  • Los valores predeterminados para estos argumentos de par nombre-valor son diferentes cuando se trabaja con matrices altas.

    • — El valor predeterminado es.'Verbose'1

    • — El valor predeterminado es relajado.'BetaTolerance'1e–3

    • — El valor predeterminado es relajado.'GradientTolerance'1e–5

    • — El valor predeterminado es relajado.'IterationLimit'20

  • Si es así, utiliza la corriente aleatoria controlada por para el submuestreo.'KernelScale''auto'templateKerneltallrng Para reproducibilidad, debe establecer un número aleatorio de inicialización para la secuencia global y la secuencia aleatoria controlada por.tallrng

  • Si es así, podría tomar un paso adicional a través de los datos para calcular el número de observaciones.'Lambda''auto'templateKernel

  • utiliza una estrategia en bloque.templateKernel Para obtener más información, consulte.Algoritmos

fitclinear
  • Algunos argumentos de par nombre-valor tienen valores predeterminados diferentes en comparación con los predeterminados para la función en memoria.fitclinear Los argumentos de par nombre-valor admitidos y las diferencias son:

    • — Sólo admite.'ObservationsIn''rows'

    • : Puede ser (predeterminado) o escalar.'Lambda''auto'

    • 'Learner'

    • — Sólo admite.'Regularization''ridge'

    • — Sólo admite.'Solver''lbfgs'

    • — Sólo admite.'FitBias'true

    • — El valor predeterminado es.'Verbose'1

    • 'Beta'

    • 'Bias'

    • 'ClassNames'

    • 'Cost'

    • 'Prior'

    • : El valor debe ser una matriz alta.'Weights'

    • 'HessianHistorySize'

    • — El valor predeterminado es relajado.'BetaTolerance'1e–3

    • — El valor predeterminado es relajado.'GradientTolerance'1e–3

    • — El valor predeterminado es relajado.'IterationLimit'20

    • — El valor del parámetro debe ser.'OptimizeHyperparameters''Regularization''ridge'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitclinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

  • Para matrices altas, implementa LBFGS distribuyendo el cálculo de la pérdida y el gradiente entre las diferentes partes de la matriz alta en cada iteración.fitclinear Otros solucionadores no están disponibles para matrices altas.

    Cuando los valores iniciales para y no se dan, se reajusta las estimaciones iniciales de los parámetros mediante el ajuste del modelo localmente a partes de los datos y la combinación de los coeficientes mediante la promediación.BetaBiasfitclinear

templateLinear

  • Los valores predeterminados para estos argumentos de par nombre-valor son diferentes cuando se trabaja con matrices altas.

    • : Puede ser (predeterminado) o escalar'Lambda''auto'

    • : Solo admite'Regularization''ridge'

    • : Solo admite'Solver''lbfgs'

    • : Solo admite'FitBias'true

    • — El valor predeterminado es'Verbose'1

    • — El valor predeterminado se relaja para'BetaTolerance'1e–3

    • — El valor predeterminado se relaja para'GradientTolerance'1e–3

    • — El valor predeterminado se relaja para'IterationLimit'20

  • Cuando utiliza un objeto con matrices altas, el único solucionador disponible es LBFGS.fitcecoctemplateLinear El software implementa LBFGS distribuyendo el cálculo de la pérdida y el gradiente entre las diferentes partes de la matriz alta en cada iteración. Si no especifica valores iniciales para y, el software ajusta las estimaciones iniciales de los parámetros estableciendo el modelo localmente en partes de los datos y combinando los coeficientes promediando.BetaBias

fitcnb
  • Las sintaxis admitidas son:

    • Mdl = fitcnb(Tbl,Y)

    • Mdl = fitcnb(X,Y)

    • Mdl = fitcnb(___,Name,Value)

  • No se admiten las opciones relacionadas con las densidades de kernel, la validación cruzada y la optimización de hiperparámetros. Los argumentos de par nombre-valor admitidos son:

    • — no se admite el valor.'DistributionNames''kernel'

    • 'CategoricalPredictors'

    • 'Cost'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • : El valor debe ser una matriz alta.'Weights'

fitctree
  • Las sintaxis admitidas son:

    • tree = fitctree(Tbl,Y)

    • tree = fitctree(X,Y)

    • tree = fitctree(___,Name,Value)

    • : devuelve los argumentos de salida adicionales y cuando se especifica el argumento de par nombre-valor.[tree,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name,Value)fitctreeFitInfoHyperparameterOptimizationResults'OptimizeHyperparameters'

  • El argumento de salida es una matriz de estructura vacía actualmente reservada para un posible uso futuro.FitInfo

  • El argumento Output es un objeto o una tabla de hiperparámetros con valores asociados que describen la optimización de la validación cruzada de los hiperparámetros.HyperparameterOptimizationResultsBayesianOptimization

    no está vacío cuando el argumento de par nombre-valor no está vacío en el momento en que se crea el modelo.'HyperparameterOptimizationResults''OptimizeHyperparameters' Los valores dependen del valor especificado para el argumento de par nombre-valor al crear el modelo.'HyperparameterOptimizationResults''HyperparameterOptimizationOptions'

    • Si especifica (valor predeterminado), entonces es un objeto de clase.'bayesopt'HyperparameterOptimizationResultsBayesianOptimization

    • Si especifica o, a continuación, es una tabla de los hiperparámetros utilizados, los valores de función objetivo observados (pérdida de validación cruzada) y el rango de observaciones de menor (mejor) a más alto (peor).'gridsearch''randomsearch'HyperparameterOptimizationResults

  • Los argumentos de par nombre-valor admitidos y las diferencias son:

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

    • 'ClassNames'

    • 'Cost'

    • : Para la validación cruzada, la optimización alta solo admite la validación.'HyperparameterOptimizationOptions''Holdout' Por ejemplo, puede especificar.fitctree(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))

    • 'MaxNumCategories'

    • — para una optimización alta, busca entre números enteros, de forma predeterminada, escalado logaritmo en el rango.'MaxNumSplits'fitctree[1,max(2,min(10000,NumObservations-1))]

    • 'MergeLeaves'

    • 'MinLeafSize'

    • 'MinParentSize'

    • 'NumVariablesToSample'

    • 'OptimizeHyperparameters'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'SplitCriterion'

    • 'Weights'

  • Este argumento de par nombre-valor adicional es específico de matrices altas:

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

TreeBagger
  • Las sintaxis soportadas para alto, son:XYTbl

    • B = TreeBagger(NumTrees,Tbl,Y)

    • B = TreeBagger(NumTrees,X,Y)

    • B = TreeBagger(___,Name,Value)

  • Para matrices altas, admite la clasificación pero no admite la regresión.TreeBagger

  • Los pares de nombre-valor admitidos son:

    • — El valor predeterminado es la raíz cuadrada del número de variables para la clasificación.'NumPredictorsToSample'

    • — El valor predeterminado es si el número de observaciones es menor que 50.000.'MinLeafSize'1 Si el número de observaciones es 50.000 o superior, entonces el valor predeterminado es, donde es el número de observaciones en un fragmento.max(1,min(5,floor(0.01*NobsChunk)))NobsChunk

    • (solo para matrices altas): el valor predeterminado es.'ChunkSize'50000

    Además, admite estos argumentos opcionales de:TreeBaggerfitctree

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

    • : Las columnas de la matriz de costes no pueden contener ni valores.'Cost'CInfNaN

    • 'MaxNumCategories'

    • 'MaxNumSplits'

    • 'MergeLeaves'

    • 'PredictorNames'

    • 'PredictorSelection'

    • 'Prior'

    • 'Prune'

    • 'PruneCriterion'

    • 'SplitCriterion'

    • 'Surrogate'

    • 'Weights'

  • Para los datos altos, devuelve un objeto que contiene la mayoría de las mismas propiedades que un objeto completo.TreeBaggerCompactTreeBaggerTreeBagger La principal diferencia es que el objeto compacto es más eficiente en la memoria. El objeto compacto no incluye las propiedades que incluyen los datos, o que incluyen una matriz del mismo tamaño que los datos.

  • El número de árboles contenidos en el objeto devuelto puede diferir del número de árboles especificado como entrada para la función. determina el número de árboles que se devolverán en función de los factores que incluyan el tamaño del conjunto de datos de entrada y el número de fragmentos de datos disponibles para cultivar árboles.CompactTreeBaggerTreeBaggerTreeBagger

  • Los métodos admitidos son:CompactTreeBagger

    • combine

    • error

    • Margen

    • meanMargin

    • Predecir

    • setDefaultYfit

    Los métodos,,, y no admiten los argumentos de par nombre-valor, o.errorMargenmeanMarginPredecir'Trees''TreeWeights''UseInstanceForTree' Además, el método no es compatible.meanMargin'Weights'

  • crea un bosque aleatorio generando árboles en trozos disjuntas de los datos.TreeBagger Cuando hay más datos disponibles de los necesarios para crear el bosque aleatorio, los datos se submuestrean. Para un ejemplo similar, véase (Genuer, Poggi, Tuleau-Malot, Villa-Vialaneix 2015).Bosques aleatorios para Big Data

    Dependiendo de cómo se almacenen los datos, es posible que algunos fragmentos de datos contengan observaciones de solo unas cuantas clases de todas las clases. En este caso, podría producir resultados inferiores en comparación con el caso en el que cada fragmento de datos contiene observaciones de la mayoría de las clases.TreeBagger

  • Durante el entrenamiento del algoritmo, la velocidad, la precisión y el uso de memoria dependen de una serie de factores.TreeBagger Estos factores incluyen valores para,, y.NumTrees'ChunkSize''MinLeafSize''MaxNumSplits'

    Para una matriz-por-alta, implementa el muestreo durante el entrenamiento.npXTreeBagger Este muestreo depende de estas variables:

    • Número de árbolesNumTrees

    • Tamaño del fragmento'ChunkSize'

    • Número de observacionesn

    • Número de trozos (aproximadamente igual ar n/'ChunkSize')

    Dado que el valor de es fijo para un determinado, la configuración para y determinar cómo muestras.nXNumTrees'ChunkSize'TreeBaggerX

    1. Si >, entonces muestras observaciones de, y entrena un árbol por trozo (con cada trozo que contiene el número de observaciones).rNumTreesTreeBagger'ChunkSize' * NumTreesX'ChunkSize' Este escenario es el más común cuando se trabaja con matrices altas.

    2. Si ≤, entonces entrena aproximadamenterNumTreesTreeBagger NumTrees/r árboles en cada trozo, usando el bootstrapping dentro del trozo.

    3. Si ≤, a continuación, utiliza bootstrapping para generar muestras (cada uno de tamaño) en el que entrenar árboles individuales.n'ChunkSize'TreeBaggern

  • Al especificar un valor para, tenga en cuenta lo siguiente:NumTrees

    • Si ejecuta el código y el conjunto de datos se distribuye con el sistema de archivos distribuido (), empiece especificando un valor para que sea al menos el doble del número de particiones de su conjunto de datos.Apache SparkHadoop®HDFS™NumTreesHDFS Esta configuración evita la comunicación excesiva de datos entre los ejecutores y puede mejorar el rendimiento del algoritmo.Apache SparkTreeBagger

    • copia los árboles ajustados en la memoria del cliente en el modelo resultante.TreeBaggerCompactTreeBagger Por lo tanto, la cantidad de memoria disponible para el cliente crea un límite superior en el valor que se puede establecer para.NumTrees Puede ajustar los valores de y para un uso más eficiente de la velocidad y la memoria a expensas de cierta precisión predictiva.'MinLeafSize''MaxNumSplits' Después de ajustar, si el valor es menor que el doble del número de particiones para el conjunto de datos, considere la posibilidad de reparticionar los datos para que tengan particiones más grandes.NumTreesHDFSHDFS

    Después de especificar un valor para, establezca para asegurarse de que utiliza la mayoría de los datos para cultivar árboles.NumTrees'ChunkSize'TreeBagger Idealmente, debería aproximarse, el número de filas de sus datos.'ChunkSize' * NumTreesn Tenga en cuenta que la memoria disponible en los trabajadores para entrenar árboles individuales también puede determinar un límite superior para.'ChunkSize'

    Puede ajustar las propiedades de memoria de Apache Spark para evitar errores de memoria y admitir el flujo de trabajo. Consulte para obtener más información.parallel.cluster.Hadoop

Reducción de dimensionalidad

FunciónNotas o limitaciones
pca
  • trabaja directamente con matrices altas calculando la matriz de covarianzas y utilizando la función en memoria para computar los componentes principales.pcapcacov

  • Las sintaxis admitidas son:

    • coeff = pca(X)

    • [coeff,score,latent] = pca(X)

    • [coeff,score,latent,explained] = pca(X)

    • [coeff,score,latent,tsquared] = pca(X)

    • [coeff,score,latent,tsquared,explained] = pca(X)

  • No se admiten argumentos de par nombre-valor.

,pcacovfactoran

y trabajan directamente sobre matrices altas.pcacovfactorannot En su lugar, se usa para calcular la matriz de covarianza de una matriz alta.C = gather(cov(X)) A continuación, puede utilizar o en la matriz de covarianza en memoria.pcacovfactoran Alternativamente, puede usar directamente en una matriz alta.pca

Consulte también

|

Temas relacionados