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-
Модель распространения меток для обучения с частичным привлечением учителя.
Список литературы
Примеры
>>> 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экземпляр оценщика
-
Экземпляр оценщика.
Примеры из галереи
© 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