sklearn.semi_supervised
.SelfTrainingClassifier¶
- class sklearn.semi_supervised.SelfTrainingClassifier¶
Clasificador de autoentrenamiento.
Esta clase permite que un clasificador supervisado funcione como un clasificador semisupervisado, permitiéndole aprender de datos no etiquetados. Para ello, predice iterativamente pseudoetiquetas para los datos no etiquetados y las añade al conjunto de entrenamiento.
El clasificador continuará iterando hasta que se alcance max_iter, o hasta que no se hayan añadido pseudoetiquetas al conjunto de entrenamiento en la iteración anterior.
Más información en el Manual de usuario.
- Parámetros
- base_estimatorobjeto estimator
Un objeto estimador que implementa
fit
ypredict_proba
. Al invocar el métodofit
se ajustará un clon del estimador pasado, que se almacenará en el atributobase_estimator_
.- criterion{“threshold”, “k_best”}, default=”threshold”
El criterio de selección utilizado para seleccionar las etiquetas que se añadirán al conjunto de entrenamiento. Si es “threshold”, se añaden al conjunto de datos las pseudoetiquetas con probabilidades de predicción superiores al “threshold”. Si es “k_best”, se añaden al conjunto de datos las
k_best
pseudoetiquetas con mayores probabilidades de predicción. Cuando se utiliza el criterio “threshold”, se debe utilizar un well calibrated classifier.- thresholdfloat, default=0.75
El umbral de decisión para usar con
criterion='threshold'
. Debe estar en [0, 1). Cuando se utiliza el criterio “threshold”, se debe utilizar un well calibrated classifier.- k_bestint, default=10
La cantidad de muestras a añadir en cada iteración. Sólo se utiliza cuando
criterion
es k_best”.- max_iterint o None, default=10
Número máximo de iteraciones permitidas. Debe ser mayor o igual a 0. Si es
None
, el clasificador continuará prediciendo etiquetas hasta que no se añadan nuevas pseudoetiquetas, o hasta que todas las muestras no etiquetadas hayan sido etiquetadas.- verbose: bool, default=False
Activar la salida verbosa.
- Atributos
- base_estimator_objeto estimator
El estimador ajustado.
- classes_ndarray o list de ndarray de forma (n_classes,)
Etiquetas de clase para cada salida. (Tomadas del
base_estimator_
entrenado).- transduction_ndarray de forma (n_samples,)
Las etiquetas utilizadas para el ajuste final del clasificador, incluidas las pseudoetiquetas añadidas durante el ajuste.
- labeled_iter_ndarray de forma (n_samples,)
La iteración en la que se etiquetó cada muestra. Cuando una muestra tiene la iteración 0, la muestra ya estaba etiquetada en el conjunto de datos original. Cuando una muestra tiene la iteración -1, la muestra no fue etiquetada en ninguna iteración.
- n_iter_int
El número de rondas de autoentrenamiento, es decir, el número de veces que el estimador base se ajusta a variantes reetiquetadas del conjunto de entrenamiento.
- termination_condition_{“max_iter”, “no_change”, “all_labeled”}
La razón por la que se detuvo el ajuste.
“max_iter”:
n_iter_
alcanzómax_iter
.“no_change”: no se han predicho nuevas etiquetas.
“all_labeled”: todas las muestras no etiquetadas fueron etiquetadas antes de que se alcanzara
max_iter
.
Referencias
David Yarowsky. 1995. Unsupervised word sense disambiguation rivaling supervised methods. In Proceedings of the 33rd annual meeting on Association for Computational Linguistics (ACL “95). Association for Computational Linguistics, Stroudsburg, PA, USA, 189-196. DOI: https://doi.org/10.3115/981658.981684
Ejemplos
>>> import numpy as np >>> from sklearn import datasets >>> from sklearn.semi_supervised import SelfTrainingClassifier >>> from sklearn.svm import SVC >>> rng = np.random.RandomState(42) >>> iris = datasets.load_iris() >>> random_unlabeled_points = rng.rand(iris.target.shape[0]) < 0.3 >>> iris.target[random_unlabeled_points] = -1 >>> svc = SVC(probability=True, gamma="auto") >>> self_training_model = SelfTrainingClassifier(svc) >>> self_training_model.fit(iris.data, iris.target) SelfTrainingClassifier(...)
Métodos
Llama a la función de decisión del
base_estimator
.Ajusta este
SelfTrainingClassifier
a un conjunto de datos.Obtiene los parámetros para este estimador.
Predice las clases de X.
Predice la probabilidad logarítmica para cada resultado posible.
Predice la probabilidad de cada resultado posible.
Llama a score en el
base_estimator
.Establece los parámetros de este estimador.
- decision_function()¶
Llama a la función de decisión del
base_estimator
.- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- Devuelve
- yndarray de forma (n_samples, n_features)
Resultado de la función de decisión del
base_estimator
.
- fit()¶
Ajusta este
SelfTrainingClassifier
a un conjunto de datos.- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- y{array-like, sparse matrix} de forma (n_samples,)
Arreglo que representa las etiquetas. Las muestras no etiquetadas deben tener la etiqueta -1.
- Devuelve
- selfobject
Devuelve una instancia de sí misma.
- 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()¶
Predice las clases de X.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- Devuelve
- yndarray de forma (n_samples,)
Arreglo con etiquetas predichas.
- predict_log_proba()¶
Predice la probabilidad logarítmica para cada resultado posible.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- Devuelve
- yndarray de forma (n_samples, n_features)
Arreglo con probabilidades logarítmicas de predicción.
- predict_proba()¶
Predice la probabilidad de cada resultado posible.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- Devuelve
- yndarray de forma (n_samples, n_features)
Arreglo con probabilidades de predicción.
- score()¶
Llama a score en el
base_estimator
.- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Arreglo que representa los datos.
- yarray-like de forma (n_samples,)
Arreglo que representa las etiquetas.
- Devuelve
- scorefloat
Resultado de llamar a score en el
base_estimator
.
- 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 del estimador
Instancia del estimador.