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