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.

templateKNN

-plantilla de clasificador de vecino más cercanok

Descripción

ejemplo

t = templateKNN() Devuelve una plantilla de alumno de vecino más cercano (KNN) adecuada para conjuntos de formación o modelos multiclase de código de salida corrector de errores (ECOC).k

Si especifica una plantilla predeterminada, el software utiliza los valores predeterminados para todos los argumentos de entrada durante el entrenamiento.

Especifique como alumno en o.tfitcensemblefitcecoc

ejemplo

t = templateKNN(Name,Value) crea una plantilla con opciones adicionales especificadas por uno o más argumentos de par nombre-valor.

Por ejemplo, puede especificar el método de búsqueda de vecino más cercano, el número de vecinos más cercanos para buscar o la métrica de distancia.

Si se muestra en la ventana de comandos, todas las opciones aparecerán vacías (), excepto las que especifique mediante los argumentos de par nombre-valor.t[] Durante el entrenamiento, el software utiliza valores predeterminados para las opciones vacías.

Ejemplos

contraer todo

Cree una plantilla de vecino no predeterminada-más cercana para utilizarla.kfitcensemble

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Cree una plantilla para una búsqueda de vecino 5 más cercano y especifique la estandarización de los predictores.

t = templateKNN('NumNeighbors',5,'Standardize',1)
t =  Fit template for classification KNN.         NumNeighbors: 5            NSMethod: ''            Distance: ''          BucketSize: ''         IncludeTies: []      DistanceWeight: []           BreakTies: []            Exponent: []                 Cov: []               Scale: []     StandardizeData: 1             Version: 1              Method: 'KNN'                Type: 'classification'  

Todas las propiedades del objeto de plantilla están vacías excepto,, y.NumNeighborsMethodStandardizeDataType Cuando se especifica como un alumno, el software rellena las propiedades vacías con sus respectivos valores predeterminados.t

Especifique como un factor débil para un conjunto de clasificación.t

Mdl = fitcensemble(meas,species,'Method','Subspace','Learners',t);

Muestra el error de clasificación errónea en la muestra (reenvío).

L = resubLoss(Mdl)
L = 0.0600 

Cree una plantilla de vecino no predeterminada-más cercana para utilizarla.kfitcecoc

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Cree una plantilla para una búsqueda de vecino 5 más cercano y especifique la estandarización de los predictores.

t = templateKNN('NumNeighbors',5,'Standardize',1)
t =  Fit template for classification KNN.         NumNeighbors: 5            NSMethod: ''            Distance: ''          BucketSize: ''         IncludeTies: []      DistanceWeight: []           BreakTies: []            Exponent: []                 Cov: []               Scale: []     StandardizeData: 1             Version: 1              Method: 'KNN'                Type: 'classification'  

Todas las propiedades del objeto de plantilla están vacías excepto,, y.NumNeighborsMethodStandardizeDataType Cuando se especifica como un alumno, el software rellena las propiedades vacías con sus respectivos valores predeterminados.t

Especifique como un aprendizaje binario para un modelo multiclase ECOC.t

Mdl = fitcecoc(meas,species,'Learners',t);

De forma predeterminada, el software se entrena utilizando el diseño de codificación uno contra uno.Mdl

Muestra el error de clasificación errónea en la muestra (reenvío).

L = resubLoss(Mdl,'LossFun','classiferror')
L = 0.0467 

Argumentos de entrada

contraer todo

Argumentos de par nombre-valor

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

Ejemplo: especifica una plantilla de clasificador de vecino 4 más cercano utilizando la medida de distancia Minkowski.'NumNeighbors',4,'Distance','minkowski'

Algoritmo de desempate utilizado por el predict método si varias clases tienen el mismo costo más pequeño, especificado como el par separado por comas que consta de y uno de los siguientes:'BreakTies'

  • : Utilice el índice más pequeño entre los grupos vinculados.'smallest'

  • : Utilice la clase con el vecino más cercano entre los grupos vinculados.'nearest'

  • — Utilice un desempate aleatorio entre los grupos vinculados.'random'

De forma predeterminada, las relaciones se producen cuando varias clases tienen el mismo número de puntos más cercanos entre los vecinos más cercanos.K

Ejemplo: 'BreakTies','nearest'

Número máximo de puntos de datos en el nodo hoja del árbol-d, especificado como el par separado por comas y que consta de un valor entero positivo.k'BucketSize' Este argumento es significativo sólo cuando es.NSMethod'kdtree'

Ejemplo: 'BucketSize',40

Tipos de datos: single | double

Matriz de covarianza, especificada como el par separado por comas que consta de y una matriz definida positiva de valores escalares que representan la matriz de covarianza al calcular la distancia de Mahalanobis.'Cov' Este argumento sólo es válido cuando es.'Distance''mahalanobis'

No puede especificar simultáneamente ni ninguno de los dos.'Standardize''Scale''Cov'

Tipos de datos: single | double

Distancia métrica, especificada como el par separado por comas que consta de un nombre de métrica de distancia válido o un identificador de función.'Distance' Los nombres de métrica de distancia permitidos dependen de la elección de un método de buscador de vecinos (consulte).NSMethod

NSMethodLos nombres de métrica de distancia
exhaustiveCualquier métrica de distancia deExhaustiveSearcher
kdtreeO'cityblock''chebychev''euclidean''minkowski'

Esta tabla incluye métricas de distancia válidas de.ExhaustiveSearcher

Los nombres de métrica de distanciaDescripción
'cityblock'Distancia de bloque de ciudad.
'chebychev'Chebychev distancia (diferencia máxima de coordenadas).
'correlation'Uno menos la correlación lineal de muestra entre las observaciones (tratadas como secuencias de valores).
'cosine'Uno menos el coseno del ángulo incluido entre las observaciones (tratadas como vectores).
'euclidean'Distancia euclidiana.
'hamming'Distancia de Hamming, porcentaje de coordenadas que difieren.
'jaccard'Uno menos el coeficiente Jaccard, el porcentaje de coordenadas distintas de cero que difieren.
'mahalanobis'Distancia de Mahalanobis, calculada utilizando una matriz de covarianza definida positiva.C El valor predeterminado de es la matriz de covarianza de ejemplo de, según lo calculado por.CXnancov(X) Para especificar un valor diferente para, utilice el argumento de par nombre-valor.C'Cov'
'minkowski'Distancia Minkowski. El exponente predeterminado es.2 Para especificar un exponente diferente, utilice el argumento de par nombre-valor.'Exponent'
'seuclidean'Distancia euclidiana estandarizada. Cada diferencia de coordenada entre y un punto de consulta se escala, lo que significa dividido por un valor de escala.XS El valor predeterminado de es la desviación estándar calculada a partir de,.SXS = nanstd(X) Para especificar otro valor para, utilice el argumento de par nombre-valor.SScale
'spearman'Uno menos la correlación de rango de Spearman de muestra entre las observaciones (tratadas como secuencias de valores).
@distfun

Manija de la función de distancia. distfun tiene la forma donde

function D2 = distfun(ZI,ZJ) % calculation of  distance ...

  • es a-por-vector que contiene una fila de o.ZI1NXY

  • es una-por-matriz que contiene varias filas de o.ZJM2NXY

  • es un vector de distancias, y es la distancia entre las observaciones y.D2M21D2(k)ZIZJ(k,:)

Si especifica como, la métrica de distancia predeterminada es.CategoricalPredictors'all''hamming' De lo contrario, la métrica de distancia predeterminada es.'euclidean'

Para las definiciones, vea.Las métricas de distancia

Ejemplo: 'Distance','minkowski'

Tipos de datos: char | string | function_handle

Función de ponderación de distancia, especificada como el par separado por comas que consta de un identificador de función o uno de los valores de esta tabla.'DistanceWeight'

ValorDescripción
'equal'Sin ponderación
'inverse'El peso es 1/distancia
'squaredinverse'El peso es 1/distancia2
@fcnfcn es una función que acepta una matriz de distancias no negativas y devuelve una matriz del mismo tamaño que contiene ponderaciones de distancia no negativas. Por ejemplo, equivale a.'squaredinverse'@(d)d.^(-2)

Ejemplo: 'DistanceWeight','inverse'

Tipos de datos: char | string | function_handle

Exponente de distancia Minkowski, especificado como el par separado por comas que consta de un valor escalar positivo.'Exponent' Este argumento sólo es válido cuando es.'Distance''minkowski'

Ejemplo: 'Exponent',3

Tipos de datos: single | double

Marca de inclusión de TIE, especificada como el par separado por comas que consta de un valor lógico que indica si'IncludeTies' predict incluye todos los vecinos cuyos valores de distancia son iguales a la distancia más pequeña del th.K Si es así, incluye a todos estos vecinos.IncludeTiestruePredecir De lo contrario, utiliza exactamente vecinos.PredecirK

Ejemplo: 'IncludeTies',true

Tipos de datos: logical

Método de búsqueda de vecino más cercano, especificado como el par separado por comas que consta de y o.'NSMethod''kdtree''exhaustive'

  • : Crea y utiliza un árbol-d para encontrar los vecinos más cercanos. es válida cuando la métrica de distancia es una de las siguientes:'kdtree'k'kdtree'

    • 'euclidean'

    • 'cityblock'

    • 'minkowski'

    • 'chebychev'

  • : Utiliza el algoritmo de búsqueda exhaustivo.'exhaustive' Al predecir la clase de un nuevo punto, el software calcula los valores de distancia de todos los puntos en para encontrar los vecinos más cercanos.xnewXxnew

El valor predeterminado es cuando tiene o menos columnas, no es escaso y la métrica de distancia es un tipo; Lo contrario.'kdtree'X10X'kdtree''exhaustive'

Ejemplo: 'NSMethod','exhaustive'

Número de vecinos más cercanos que se encuentran para clasificar cada punto al predecir, especificado como el par separado por comas y que consta de un valor entero positivo.X'NumNeighbors'

Ejemplo: 'NumNeighbors',3

Tipos de datos: single | double

Escala de distancia, especificada como el par separado por comas que consta de un vector que contiene valores escalares no negativos con una longitud igual al número de columnas.'Scale'X Cada diferencia de coordenadas entre y un punto de consulta se escala por el elemento correspondiente de.XScale Este argumento sólo es válido cuando es.'Distance''seuclidean'

No puede especificar simultáneamente ni ninguno de los dos.'Standardize''Scale''Cov'

Tipos de datos: single | double

Marca para estandarizar los predictores, especificados como el par separado por comas que consta de y () o.'Standardize'true1false(0)

Si establece, el software centra y escala cada columna de los Datos predictores () por la media de la columna y la desviación estándar, respectivamente.'Standardize',trueX

El software no estandariza los predictores categóricos y produce un error si todos los predictores son categóricos.

No puede especificar simultáneamente ni ninguno de los dos.'Standardize',1'Scale''Cov'

Es una buena práctica estandarizar los Datos predictores.

Ejemplo: 'Standardize',true

Tipos de datos: logical

Argumentos de salida

contraer todo

Plantilla de clasificación NN adecuada para conjuntos de entrenamiento o modelos multiclase de código de salida de corrección de errores (ECOC), devueltos como un objeto de plantilla.k Pase a o para especificar cómo crear el clasificador KNN para el conjunto o el modelo ECOC, respectivamente.tfitcensemblefitcecoc

Si se visualiza en la ventana de comandos, todas las opciones no especificadas aparecerán vacías ().t[] Sin embargo, el software reemplaza las opciones vacías con sus valores predeterminados correspondientes durante el entrenamiento.

Introducido en R2014a