Spec-Zone.ru › scikit-learn

Самообучающийся классификатор

классsklearn.semi_supervised.SelfTrainingClassifier(estimator=None, base_estimator='deprecated', threshold=0.75, criterion='threshold', k_best=10, max_iter=10, verbose=False)[source]

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

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

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

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

Параметры:
estimatorобъект estimator

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

Добавлен в версии 1.6: estimator был добавлен для замены base_estimator.

base_estimatorобъект estimator

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

Устаревшее с версии 1.6: base_estimator было устаревшим в 1.6 и будет удалено в 1.8. Используйте 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_объект estimator

Обученный estimator.

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

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

transduction_ndarray формы (n_samples,)

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

labeled_iter_ndarray формы (n_samples,)

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

n_iter_int

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

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. 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.

Примеры

>>> 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(...)
decision_function(X, **params)[source]

Вызов decision function estimator.

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

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

**paramsdict str -> object

Параметры, передаваемые методу decision_function базового estimator.

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

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

Результат функции decision_function estimator.

fit(X, y, **params)[source]

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

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

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

y{array-like, sparse matrix} формы (n_samples,)

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

**paramsdict

Параметры, передаваемые базовому estimator.

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

Возвращаемое значение:
selfобъект

Обученный estimator.

get_metadata_routing()[source]

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

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

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

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

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

get_params(deep=True)[source]

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

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

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

Возвращает:
параметрыdict

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

predict(X, **params)[source]

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

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

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

**paramsdict of str -> object

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

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

Возвращает:
yndarray of shape (n_samples,)

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

predict_log_proba(X, **params)[source]

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

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

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

**paramsdict of str -> object

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

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

Возвращает:
yndarray of shape (n_samples, n_features)

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

predict_proba(X, **params)[source]

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

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

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

**paramsdict of str -> object

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

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

Возвращает:
yndarray of shape (n_samples, n_features)

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

score(X, y, **params)[source]

Вызов score для estimator.

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

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

yarray-like of shape (n_samples,)

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

**paramsdict of str -> object

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

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

Возвращает:
результатfloat

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

set_params(**params)[source]

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

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

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

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

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

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

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

Основные моменты выпуска scikit-learn 0.24

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

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

Полунадзорная классификация на текстовом наборе данных

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

Spec-Zone.ru

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