sklearn.semi_supervised.LabelSpreading

class sklearn.semi_supervised.LabelSpreading

Modelo LabelSpreading para aprendizaje semisupervisado

Este modelo es similar al algoritmo básico de propagación de etiquetas, pero utiliza una matriz de afinidad basada en el grafo laplaciano normalizado y una restricción(clamping) suave en las etiquetas.

Más información en el Manual de usuario.

Parámetros
kernel{“knn”, “rbf”} o invocable, default=”rbf”

Identificador de cadena para la función kernel a utilizar o la propia función kernel. Sólo las cadenas “rbf” y “knn” son entradas válidas. La función pasada debe tomar dos entradas, cada una de la forma (n_samples, n_features), y devolver una matriz de ponderaciones con forma (n_samples, n_samples).

gammafloat, default=20

Parámetro para el núcleo rbf.

n_neighborsint, default=7

Parámetro para el núcleo knn que es un número entero estrictamente positivo.

alphafloat, default=0.2

Factor de restricción(clamping). Un valor en (0, 1) que especifica la cantidad relativa que una instancia debe adoptar la información de sus vecinos en comparación con su etiqueta inicial. alpha=0 significa mantener la información de la etiqueta inicial; alpha=1 significa reemplazar toda la información inicial.

max_iterint, default=30

Número máximo de iteraciones permitidas.

tolfloat, default=1e-3

Tolerancia de convergencia: umbral para considerar el sistema en estado estacionario.

n_jobsint, default=None

El número de trabajos paralelos a ejecutar. None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa utilizar todos los procesadores. Ver :Glosario para más detalles.

Atributos
X_ndarray de forma [n_samples, n_features)

Arreglo de entrada.

classes_ndarray de forma (n_classes,)

Las distintas etiquetas utilizadas en la clasificación de las instancias.

label_distributions_ndarray de forma (n_samples, n_classes)

Distribución categórica para cada elemento.

transduction_ndarray de forma (n_samples,)

Etiqueta asignada a cada elemento a través de la transducción.

n_iter_int

Número de iteraciones ejecutadas.

Ver también

LabelPropagation

Aprendizaje semisupervisado basado en gráficos no regularizados.

Referencias

Dengyong Zhou, Olivier Bousquet, Thomas Navin Lal, Jason Weston, Bernhard Schoelkopf. Learning with local and global consistency (2004) http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.115.3219

Ejemplos

>>> import numpy as np
>>> from sklearn import datasets
>>> from sklearn.semi_supervised import LabelSpreading
>>> label_prop_model = LabelSpreading()
>>> iris = datasets.load_iris()
>>> rng = np.random.RandomState(42)
>>> random_unlabeled_points = rng.rand(len(iris.target)) < 0.3
>>> labels = np.copy(iris.target)
>>> labels[random_unlabeled_points] = -1
>>> label_prop_model.fit(iris.data, labels)
LabelSpreading(...)

Métodos

fit

Ajusta un modelo de propagación de etiquetas semisupervisado

get_params

Obtiene los parámetros para este estimador.

predict

Realiza una inferencia inductiva a través del modelo.

predict_proba

Predice la probabilidad de cada resultado posible.

score

Devuelve la precisión media en los datos de prueba y las etiquetas dadas.

set_params

Establece los parámetros de este estimador.

fit()

Ajusta un modelo de propagación de etiquetas semisupervisado

Todos los datos de entrada se proporcionan con la matriz X (etiquetada y no etiquetada) y la correspondiente matriz de etiquetas y con un valor de marcador dedicado para las muestras no etiquetadas.

Parámetros
Xarray-like de forma (n_samples, n_features)

A partir de esto se creará una matriz de forma (n_samples, n_samples).

yarray-like de forma (n_samples,)

n_labeled_samples (los puntos no etiquetados se marcan como -1) A todas las muestras no etiquetadas se les asignarán etiquetas de forma transductiva.

Devuelve
selfobject
get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros mapeados a sus valores.

predict()

Realiza una inferencia inductiva a través del modelo.

Parámetros
Xarray-like de forma (n_samples, n_features)

La matriz de datos.

Devuelve
yndarray de forma (n_samples,)

Predicciones para los datos de entrada.

predict_proba()

Predice la probabilidad de cada resultado posible.

Calcula las estimaciones de probabilidad para cada muestra individual en X y cada posible resultado visto durante el entrenamiento (distribución categórica).

Parámetros
Xarray-like de forma (n_samples, n_features)

La matriz de datos.

Devuelve
probabilitiesndarray de forma (n_samples, n_classes)

Distribuciones de probabilidad normalizadas entre etiquetas de clase.

score()

Devuelve la precisión media en los datos de prueba y las etiquetas dadas.

En la clasificación multietiqueta, se trata de la precisión del subconjunto que es una métrica rigurosa, ya que se requiere para cada muestra que cada conjunto de etiquetas sea predicho correctamente.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de prueba.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Etiquetas True para X.

sample_weightarray-like de forma (n_samples,) default=None

Ponderaciones de la muestra.

Devuelve
scorefloat

Precisión media de self.predict(X) con respecto a y.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia de estimador

Instancia del estimador.

Ejemplos utilizando sklearn.semi_supervised.LabelSpreading