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 contextojoblib.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
Ajusta un modelo de propagación de etiquetas semisupervisado
Obtiene los parámetros para este estimador.
Realiza una inferencia inductiva a través del modelo.
Predice la probabilidad de cada resultado posible.
Devuelve la precisión media en los datos de prueba y las etiquetas dadas.
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 ay
.
- 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.