LabelSpreading#

класс sklearn.semi_supervised.LabelSpreading(ядро='rbf', *, gamma=20, n_neighbors=7, alpha=0.2, max_iter=30, tol=0.001, n_jobs=None)[источник]#

Модель LabelSpreading для полуконтролируемого обучения.

Эта модель похожа на базовый алгоритм распространения меток, но использует матрицу сходства, основанную на нормализованном графовом лапласиане, и мягкое закрепление по меткам.

Подробнее в Руководство пользователя.

Параметры:
ядро{'knn', 'rbf'} или вызываемый объект, по умолчанию='rbf'

Строковый идентификатор функции ядра для использования или сама функция ядра. Допустимыми входными строками являются только 'rbf' и 'knn'. Передаваемая функция должна принимать два входа, каждый формы (n_samples, n_features), и возвращать весовую матрицу формы (n_samples, n_samples).

gammafloat, по умолчанию=20

Параметр для ядра rbf.

n_neighborsint, default=7

Параметр для ядра knn, который является строго положительным целым числом.

alphafloat, по умолчанию=0.2

Коэффициент зажима. Значение в (0, 1), которое указывает относительное количество информации, которое экземпляр должен принять от своих соседей, в отличие от начальной метки. alpha=0 означает сохранение начальной информации метки; alpha=1 означает замену всей начальной информации.

max_iterint, по умолчанию=30

Максимальное количество итераций, разрешенное.

tolfloat, по умолчанию=1e-3

Допуск сходимости: порог для рассмотрения системы в установившемся состоянии.

n_jobsint, default=None

Количество параллельных задач для выполнения. None означает 1, если только не в joblib.parallel_backend контекст. -1 означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.

Атрибуты:
X_ndarray формы (n_samples, n_features)

Входной массив.

classes_ndarray формы (n_classes,)

Различные метки, используемые при классификации экземпляров.

label_distributions_ndarray формы (n_samples, n_classes)

Категориальное распределение для каждого элемента.

transduction_ndarray формы (n_samples,)

Метка, присвоенная каждому элементу во время fit.

n_features_in_int

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда X имеет имена признаков, которые все являются строками.

Добавлено в версии 1.0.

n_iter_int

Количество выполненных итераций.

Смотрите также

LabelPropagation

Нерегуляризованное обучение с частичным привлечением учителя на основе графов.

Ссылки

Dengyong Zhou, Olivier Bousquet, Thomas Navin Lal, Jason Weston, Bernhard Schoelkopf. Обучение с локальной и глобальной согласованностью (2004)

Примеры

>>> 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(...)
fit(X, y)[источник]#

Обучение полуконтролируемой модели распространения меток на X.

Входные выборки (размеченные и неразмеченные) предоставляются матрицей X, а целевые метки — матрицей y. Мы обычно применяем метку -1 к неразмеченным выборкам в матрице y при полуконтролируемой классификации.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Обучающие данные, где n_samples это количество образцов и n_features это количество признаков.

yarray-like формы (n_samples,)

Целевые значения классов с неразмеченными точками, отмеченными как -1. Все неразмеченные образцы будут транзитивно назначены метки внутри, которые хранятся в transduction_.

Возвращает:
selfobject

Возвращает сам экземпляр.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

predict(X)[источник]#

Выполните индуктивный вывод по модели.

Параметры:
Xarray-like формы (n_samples, n_features)

Матрица данных.

Возвращает:
yndarray формы (n_samples,)

Предсказания для входных данных.

predict_proba(X)[источник]#

Предсказать вероятность для каждого возможного исхода.

Вычисляет оценки вероятностей для каждого отдельного образца в X и каждого возможного исхода, наблюдаемого во время обучения (категориальное распределение).

Параметры:
Xarray-like формы (n_samples, n_features)

Матрица данных.

Возвращает:
вероятностиndarray формы (n_samples, n_classes)

Нормализованные распределения вероятностей по меткам классов.

score(X, y, sample_weight=None)[источник]#

Возвращает точность на предоставленных данных и метках.

В многометочной классификации это точность подмножества, которая является строгой метрикой, поскольку требует для каждого образца правильного предсказания каждого набора меток.

Параметры:
Xarray-like формы (n_samples, n_features)

Тестовые выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Истинные метки для X.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборок.

Возвращает:
scorefloat

Средняя точность self.predict(X) относительно y.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LabelSpreading[источник]#

Настроить, следует ли запрашивать передачу метаданных в score метод.

Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: запрашиваются метаданные и передаются score если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в score.

  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.

Добавлено в версии 1.3.

Параметры:
sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для sample_weight параметр в score.

Возвращает:
selfobject

Обновленный объект.