sklearn.semi_supervised.LabelPropagation — scikit-learn 0.20.4 documentation (original) (raw)
class sklearn.semi_supervised.
LabelPropagation
(kernel='rbf', gamma=20, n_neighbors=7, alpha=None, max_iter=1000, tol=0.001, n_jobs=None)[source]¶
Label Propagation classifier
Read more in the User Guide.
Parameters: | kernel : {‘knn’, ‘rbf’, callable} String identifier for kernel function to use or the kernel function itself. Only ‘rbf’ and ‘knn’ strings are valid inputs. The function passed should take two inputs, each of shape [n_samples, n_features], and return a [n_samples, n_samples] shaped weight matrix. gamma : float Parameter for rbf kernel n_neighbors : integer > 0 Parameter for knn kernel alpha : float Clamping factor. Deprecated since version 0.19: This parameter will be removed in 0.21. ‘alpha’ is fixed to zero in ‘LabelPropagation’. max_iter : integer Change maximum number of iterations allowed tol : float Convergence tolerance: threshold to consider the system at steady state n_jobs : int or None, optional (default=None) The number of parallel jobs to run.None means 1 unless in a joblib.parallel_backend context.-1 means using all processors. See Glossaryfor more details. |
---|---|
Attributes: | X_ : array, shape = [n_samples, n_features] Input array. classes_ : array, shape = [n_classes] The distinct labels used in classifying instances. label_distributions_ : array, shape = [n_samples, n_classes] Categorical distribution for each item. transduction_ : array, shape = [n_samples] Label assigned to each item via the transduction. n_iter_ : int Number of iterations run. |
See also
Alternate label propagation strategy more robust to noise
References
Xiaojin Zhu and Zoubin Ghahramani. Learning from labeled and unlabeled data with label propagation. Technical Report CMU-CALD-02-107, Carnegie Mellon University, 2002 http://pages.cs.wisc.edu/~jerryzhu/pub/CMU-CALD-02-107.pdf
Examples
import numpy as np from sklearn import datasets from sklearn.semi_supervised import LabelPropagation label_prop_model = LabelPropagation() 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) ... LabelPropagation(...)
Methods
fit(X, y) | |
---|---|
get_params([deep]) | Get parameters for this estimator. |
predict(X) | Performs inductive inference across the model. |
predict_proba(X) | Predict probability for each possible outcome. |
score(X, y[, sample_weight]) | Returns the mean accuracy on the given test data and labels. |
set_params(**params) | Set the parameters of this estimator. |
__init__
(kernel='rbf', gamma=20, n_neighbors=7, alpha=None, max_iter=1000, tol=0.001, n_jobs=None)[source]¶
get_params
(deep=True)[source]¶
Get parameters for this estimator.
Parameters: | deep : boolean, optional If True, will return the parameters for this estimator and contained subobjects that are estimators. |
---|---|
Returns: | params : mapping of string to any Parameter names mapped to their values. |
Performs inductive inference across the model.
Parameters: | X : array_like, shape = [n_samples, n_features] |
---|---|
Returns: | y : array_like, shape = [n_samples] Predictions for input data |
Predict probability for each possible outcome.
Compute the probability estimates for each single sample in X and each possible outcome seen during training (categorical distribution).
Parameters: | X : array_like, shape = [n_samples, n_features] |
---|---|
Returns: | probabilities : array, shape = [n_samples, n_classes] Normalized probability distributions across class labels |
score
(X, y, sample_weight=None)[source]¶
Returns the mean accuracy on the given test data and labels.
In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.
Parameters: | X : array-like, shape = (n_samples, n_features) Test samples. y : array-like, shape = (n_samples) or (n_samples, n_outputs) True labels for X. sample_weight : array-like, shape = [n_samples], optional Sample weights. |
---|---|
Returns: | score : float Mean accuracy of self.predict(X) wrt. y. |
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form<component>__<parameter>
so that it’s possible to update each component of a nested object.
Returns: | self |
---|