Spec-Zone.ru › scikit-learn

StandardScaler

classsklearn.preprocessing.StandardScaler(*, copy=True, with_mean=True, with_std=True)[источник]

Стандартизирует признаки, вычитая среднее значение и масштабируя их до единичной дисперсии.

Стандартная оценка образца x вычисляется следующим образом:

z = (x - u) / s

где u — среднее значение обучающих образцов или ноль, если with_mean=False, а s — стандартное отклонение обучающих образцов или единица, если with_std=False.

Центрирование и масштабирование выполняются независимо для каждого признака: соответствующие статистики вычисляются по образцам из обучающего набора. Затем среднее значение и стандартное отклонение сохраняются для использования с последующими данными в transform.

Стандартизация набора данных — распространённое требование для многих оценивателей машинного обучения: они могут работать плохо, если отдельные признаки не имеют примерно стандартного нормального распределения (например, распределения Гаусса со средним значением 0 и единичной дисперсией).

Например, многие компоненты целевой функции алгоритма обучения (такие как ядро RBF метода опорных векторов или регуляризаторы L1 и L2 линейных моделей) предполагают, что все признаки центрированы относительно 0 и имеют дисперсии одного порядка. Если дисперсия признака на несколько порядков превышает дисперсии остальных, он может доминировать в целевой функции и помешать оценивателю корректно обучаться на других признаках, как ожидается.

StandardScaler чувствителен к выбросам, и при их наличии признаки могут масштабироваться по-разному. Пример визуализации см. в разделе Сравнение StandardScaler с другими масштабировщиками.

Этот масштабировщик можно также применять к разреженным матрицам CSR или CSC, передав with_mean=False, чтобы сохранить разреженную структуру данных.

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

Параметры:
copybool, default=True

Если False, стараться избегать копирования и выполнять масштабирование на месте. Это не гарантирует, что операция всегда будет выполняться на месте; например, если данные не являются массивом NumPy или матрицей scipy.sparse CSR, всё равно может быть возвращена копия.

with_meanbool, default=True

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

with_stdbool, default=True

Если True, масштабировать данные до единичной дисперсии (или, что эквивалентно, единичного стандартного отклонения).

Атрибуты:
scale_ndarray of shape (n_features,) or None

Относительный коэффициент масштабирования данных для каждого признака, обеспечивающий нулевое среднее значение и единичную дисперсию. Обычно он вычисляется с помощью np.sqrt(var_). Если дисперсия равна нулю, добиться единичной дисперсии невозможно, поэтому данные остаются без изменений, а коэффициент масштабирования равен 1. scale_ равно None, если with_std=False.

Добавлено в версии 0.17: scale_

mean_ndarray of shape (n_features,) or None

Среднее значение каждого признака в обучающем наборе. Равно None, если with_mean=False и with_std=False.

var_ndarray of shape (n_features,) or None

Дисперсия каждого признака в обучающем наборе. Используется для вычисления scale_. Равно None, если with_mean=False и with_std=False.

n_features_in_int

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

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

n_samples_seen_int or ndarray of shape (n_features,)

Количество образцов, обработанных оценивателем для каждого признака. Если пропущенных образцов нет, n_samples_seen будет целым числом; в противном случае это будет массив типа int. Если используются sample_weights, значение будет числом с плавающей точкой (при отсутствии пропущенных данных) или массивом типа float, содержащим сумму весов, полученных на данный момент. При новых вызовах fit значение сбрасывается, но увеличивается при последовательных вызовах partial_fit.

См. также

scale

Эквивалентная функция без API оценивателя.

PCA

Дополнительно устраняет линейную корреляцию между признаками при параметре ‘whiten=True’.

Примечания

NaN рассматриваются как пропущенные значения: игнорируются при обучении и сохраняются при преобразовании.

Для стандартного отклонения используется смещённая оценка, эквивалентная numpy.std(x, ddof=0). Обратите внимание, что выбор ddof вряд ли повлияет на качество модели.

Примеры

>>> from sklearn.preprocessing import StandardScaler
>>> data = [[0, 0], [0, 0], [1, 1], [1, 1]]
>>> scaler = StandardScaler()
>>> print(scaler.fit(data))
StandardScaler()
>>> print(scaler.mean_)
[0.5 0.5]
>>> print(scaler.transform(data))
[[-1. -1.]
 [-1. -1.]
 [ 1.  1.]
 [ 1.  1.]]
>>> print(scaler.transform([[2, 2]]))
[[3. 3.]]
fit(X, y=None, sample_weight=None)[источник]

Вычисляет среднее значение и стандартное отклонение для последующего масштабирования.

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

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

yNone

Игнорируется.

sample_weightarray-like of shape (n_samples,), default=None

Индивидуальные веса для каждого образца.

Добавлено в версии 0.24: поддержка параметра sample_weight в StandardScaler.

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

Обученный масштабировщик.

fit_transform(X, y=None, **fit_params)[источник]

Обучает преобразователь на данных, а затем преобразует их.

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

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

Входные образцы.

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

Целевые значения (None для преобразований без учителя).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте их, только если оцениватель принимает дополнительные параметры в методе fit.

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

Преобразованный массив.

get_feature_names_out(input_features=None)[источник]

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

Параметры:
input_featuresarray-like of str or None, default=None

Входные признаки.

  • Если input_features равен None, то feature_names_in_ используется в качестве имён признаков. Если feature_names_in_ не определён, генерируются следующие имена входных признаков: ["x0", "x1", ..., "x(n_features_in_ - 1)"].
  • Если input_features является объектом array-like, то input_features должен соответствовать feature_names_in_, если feature_names_in_ определён.
Возвращает:
feature_names_outndarray of str objects

Совпадает с именами входных признаков.

get_metadata_routing()[источник]

Возвращает сведения о маршрутизации метаданных этого объекта.

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

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

Объект MetadataRequest, содержащий сведения о маршрутизации.

get_params(deep=True)[источник]

Возвращает параметры этого оценивателя.

Параметры:
deepbool, default=True

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

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

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

inverse_transform(X, copy=None)[источник]

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

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

Данные, масштабированные по оси признаков.

copybool, default=None

Копировать входной X или нет.

Возвращает:
X_original{ndarray, sparse matrix} of shape (n_samples, n_features)

Преобразованный массив.

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

Инкрементальное вычисление среднего значения и стандартного отклонения X для последующего масштабирования.

Все данные X обрабатываются одним пакетом. Этот метод предназначен для случаев, когда fit неприменим из-за очень большого количества n_samples или потому, что X считывается из непрерывного потока.

Алгоритм инкрементального вычисления среднего значения и стандартного отклонения приведён в уравнениях 1.5a,b в статье Chan, Tony F., Gene H. Golub и Randall J. LeVeque. «Алгоритмы вычисления выборочной дисперсии: анализ и рекомендации». The American Statistician 37.3 (1983): 242–247:

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

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

yNone

Игнорируется.

sample_weightarray-like of shape (n_samples,), default=None

Индивидуальные веса для каждого образца.

Добавлено в версии 0.24: поддержка параметра sample_weight в StandardScaler.

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

Обученный масштабировщик.

set_callbacks(*callbacks)[источник]

Задаёт обратные вызовы для оценивателя.

Параметры:
*callbackscallback instances

Обратные вызовы, которые нужно задать.

Возвращает:
selfestimator instance

Сам экземпляр оценивателя.

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → StandardScaler[источник]

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

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

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в fit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоцениватель не передаёт их в fit.
  • None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит.
  • str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.

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

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

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_inverse_transform_request(*, copy:bool|None|str='$UNCHANGED$') → StandardScaler[источник]

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

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

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в inverse_transform, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоцениватель не передаёт их в inverse_transform.
  • None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит.
  • str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.

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

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

Параметры:
copystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_output(*, transform=None)[источник]

Задаёт контейнер выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API — в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настраивает формат выходных данных transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": выходные данные DataFrame
  • "polars": выходные данные Polars
  • None: настройки преобразования остаются без изменений

Добавлено в версии 1.4: добавлен параметр "polars".

Возвращает:
selfestimator instance

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

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

Задаёт параметры этого оценивателя.

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

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

Параметры оценивателя.

Возвращает:
selfestimator instance

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

set_partial_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → StandardScaler[исходный код]

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

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

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в partial_fit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоцениватель не будет передавать их в partial_fit.
  • None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться метаоценивателю под указанным псевдонимом вместо исходного имени.

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

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

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_transform_request(*, copy:bool|None|str='$UNCHANGED$') → StandardScaler[исходный код]

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

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

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в transform, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоцениватель не будет передавать их в transform.
  • None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться метаоценивателю под указанным псевдонимом вместо исходного имени.

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

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

Параметры:
copystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

transform(X, copy=None)[исходный код]

Выполняет стандартизацию путем центрирования и масштабирования.

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

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

copybool, default=None

Копировать входной массив X или нет.

Возвращает:
X_tr{ndarray, sparse matrix} of shape (n_samples, n_features)

Преобразованный массив.

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

Распознавание лиц с помощью собственных лиц и SVM

Задержка предсказания

Анализ сходимости моделей логистической регрессии со штрафом

Сравнение классификаторов

Сравнение различных алгоритмов кластеризации на игрушечных наборах данных

Демонстрация алгоритма кластеризации DBSCAN

Демонстрация алгоритма кластеризации HDBSCAN

Демонстрация кластеризации K-Means на данных рукописных цифр

Сравнение различных методов иерархического связывания на игрушечных наборах данных

Column Transformer для данных смешанных типов

Построение конвейера: объединение PCA и логистической регрессии

Регрессия на главные компоненты и регрессия методом частичных наименьших квадратов

Факторный анализ (с вращением) для визуализации закономерностей

Объединение предикторов с помощью стекинга

Визуализация вероятностных предсказаний VotingClassifier

Отбор признаков на основе модели и последовательный отбор признаков

Типичные ошибки при интерпретации коэффициентов линейных моделей

Расширенное построение графиков частичной зависимости

Сравнение линейных байесовских регрессоров

Выбор модели Lasso с помощью информационных критериев

Выбор модели Lasso: AIC-BIC / перекрёстная проверка

Штраф L1 и разреженность в логистической регрессии

Траектория регуляризации логистической регрессии со штрафом L1

Регрессия Пуассона и ненормальная функция потерь

Классификация MNIST с помощью мультиномиальной логистической регрессии и L1

Регрессия Тьюди для страховых требований

Визуализация с помощью объектов отображения

Отображение оценивателей и сложных конвейеров

Оценка оценивателей для обнаружения выбросов

Отображение конвейеров

Знакомство с API set_output

Настройка порога принятия решения после обучения для обучения с учётом стоимости ошибок

Кривая компромисса ошибок обнаружения (DET)

Точность и полнота

Апостериорная настройка точки отсечения функции принятия решения

Классификация методом ближайших соседей

Сравнение метода ближайших соседей с анализом компонентов окрестности и без него

Уменьшение размерности с помощью анализа компонентов окрестности

Изменение регуляризации в многослойном перцептроне

Сравнение влияния различных масштабировщиков на данные с выбросами

Дискретизация признаков

Важность масштабирования признаков

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

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

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

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

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

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

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

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

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

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

Параметры SVM с ядром RBF

SVM-Anova: SVM с одномерным отбором признаков

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

Spec-Zone.ru

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