Spec-Zone.ru › scikit-learn

SelfTrainingClassifier

classsklearn.semi_supervised.SelfTrainingClassifier(estimator=None, threshold=0.75, criterion='threshold', k_best=10, max_iter=10, verbose=False)[исходный код]

Классификатор с самообучением.

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

Классификатор будет продолжать итерации, пока не будет достигнуто значение max_iter или пока на предыдущей итерации в обучающую выборку не будут добавлены новые псевдометки.

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

Параметры:
estimatorобъект-оценщик

Объект-оценщик, реализующий fit и predict_proba. При вызове метода fit будет обучен клон переданного оценщика, который будет сохранен в атрибуте estimator_.

Добавлено в версии 1.6: Параметр estimator добавлен вместо base_estimator.

thresholdfloat, по умолчанию 0.75

Порог принятия решения для использования с criterion='threshold'. Должен находиться в диапазоне [0, 1). При использовании критерия 'threshold' следует использовать хорошо откалиброванный классификатор.

criterion{‘threshold’, ‘k_best’}, по умолчанию=’threshold’

Критерий отбора меток для добавления в обучающую выборку. Если 'threshold', в набор данных добавляются псевдометки с вероятностями предсказания выше threshold. Если 'k_best', в набор данных добавляются k_best псевдометок с наибольшими вероятностями предсказания. При использовании критерия ‘threshold’ следует применять хорошо откалиброванный классификатор.

k_bestint, по умолчанию 10

Количество образцов, добавляемых на каждой итерации. Используется только при criterion='k_best'.

max_iterint или None, по умолчанию 10

Максимальное допустимое число итераций. Должно быть больше или равно 0. Если задано значение None, классификатор будет продолжать предсказывать метки, пока не перестанут добавляться новые псевдометки или пока не будут размечены все неразмеченные образцы.

verbosebool, по умолчанию False

Включить подробный вывод.

Атрибуты:
estimator_объект-оценщик

Обученный оценщик.

classes_ndarray или список ndarray формы (n_classes,)

Метки классов для каждого выхода. (Взяты из обученного estimator_).

transduction_ndarray формы (n_samples,)

Метки, использованные для окончательного обучения классификатора, включая псевдометки, добавленные во время обучения.

labeled_iter_ndarray формы (n_samples,)

Итерация, на которой был размечен каждый образец. Если для образца указана итерация 0, он уже был размечен в исходном наборе данных. Если для образца указана итерация -1, он не был размечен ни на одной итерации.

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

Названия признаков, обнаруженных во время обучения. Определяется только в том случае, если X содержит названия признаков, все из которых являются строками.

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

n_iter_int

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

termination_condition_{‘max_iter’, ‘no_change’, ‘all_labeled’}

Причина остановки обучения.

  • 'max_iter': достигнуто значение n_iter_ max_iter.
  • 'no_change': новые метки не предсказаны.
  • 'all_labeled': все неразмеченные образцы размечены до достижения max_iter.

См. также

LabelPropagation

Классификатор распространения меток.

LabelSpreading

Модель распространения меток для обучения с частичным привлечением учителя.

Список литературы

David Yarowsky. 1995. Разрешение неоднозначности смысла слов без учителя, соперничающее с методами обучения с учителем. В материалах 33-го ежегодного собрания Ассоциации компьютерной лингвистики (ACL ‘95). Ассоциация компьютерной лингвистики, Страудсберг, Пенсильвания, США, 189–196.

Примеры

>>> import numpy as np
>>> from sklearn import datasets
>>> from sklearn.semi_supervised import SelfTrainingClassifier
>>> from sklearn.linear_model import LogisticRegression
>>> 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
>>> clf = LogisticRegression()
>>> self_training_model = SelfTrainingClassifier(clf)
>>> self_training_model.fit(iris.data, iris.target)
SelfTrainingClassifier(...)
decision_function(X, **params)[исходный код]

Вызов функции принятия решений для estimator.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

**paramsdict из str -> object

Параметры, передаваемые методу decision_function базового оценщика.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Результат работы функции принятия решений для estimator.

fit(X, y, **params)[исходный код]

Обучить классификатор с самообучением, используя X, y в качестве обучающих данных.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

y{array-like, разреженная матрица} формы (n_samples,)

Массив, представляющий метки. Для неразмеченных образцов в качестве метки следует использовать -1.

**paramsdict

Параметры, передаваемые базовым оценщикам.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Обученный оценщик.

get_metadata_routing()[исходный код]

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

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

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

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

MetadataRouter, содержащий информацию о маршрутизации.

get_params(deep=True)[исходный код]

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

Параметры:
deepbool, по умолчанию True

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

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

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

predict(X, **params)[исходный код]

Предсказать классы для X.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

**paramsdict из str -> object

Параметры, передаваемые методу predict базового оценщика.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Массив с предсказанными метками.

predict_log_proba(X, **params)[исходный код]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

**paramsdict из str -> object

Параметры, передаваемые методу predict_log_proba базового оценщика.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Массив с логарифмами вероятностей предсказания.

predict_proba(X, **params)[исходный код]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

**paramsdict из str -> object

Параметры, передаваемые методу predict_proba базового оценщика.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Массив с вероятностями предсказания.

score(X, y, **params)[исходный код]

Вызвать метод score для estimator.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Массив, представляющий данные.

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

Массив, представляющий метки.

**paramsdict из str -> object

Параметры, передаваемые методу score базового оценщика.

Добавлено в версии 1.6: Доступно только при условии enable_metadata_routing=True, которое можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

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

Результат вызова метода score для estimator.

set_params(**params)[исходный код]

Задать параметры этого оценщика.

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

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

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

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

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

Примеры из галереи

Основные нововведения scikit-learn 0.24

Влияние изменения порога на самообучение

Классификация текста с частичным привлечением учителя

Границы решений классификаторов с частичным привлечением учителя и SVM на наборе данных Iris

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.semi_supervised.SelfTrainingClassifier.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API