Spec-Zone.ru › scikit-learn

StandardScaler

classsklearn.preprocessing.StandardScaler(*, copy=True, with_mean=True, with_std=True)[source]

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

Стандартизованное значение выборки x рассчитывается как:

z = (x - u) / s

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

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

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

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

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

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

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

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

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

with_meanbool, по умолчанию=True

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

with_stdbool, по умолчанию=True

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

Атрибуты:
scale_массив формы (n_features,) или None

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

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

mean_массив формы (n_features,) или None

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

var_массив формы (n_features,) или None

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

n_features_in_int

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

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

feature_names_in_массив формы (n_features_in_,)

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

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

n_samples_seen_int или массив формы (n_features,)

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

См. также

scale

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

PCA

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

Примечания

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

Мы используем смещённую оценку стандартного отклонения, эквивалентную 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)[source]

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

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

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

yNone

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

sample_weightarray-like формы (n_samples,), по умолчанию=None

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

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

Возвращает:
selfобъект

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

fit_transform(X, y=None, **fit_params)[source]

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

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

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

Входящие выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None

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

**fit_paramsdict

Дополнительные параметры обучения.

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

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

get_feature_names_out(input_features=None)[source]

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

Параметры:
input_featuresмассив-подобный из str или None, по умолчанию=None

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

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

Такие же, как входные признаки.

get_metadata_routing()[source]

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

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

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

MetadataRequest encapsulating routing information.

get_params(deep=True)[source]

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

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

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

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

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

inverse_transform(X, copy=None)[source]

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

Параметры:
X{массив-подобный, разреженная матрица} формы (n_samples, n_features)

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

copybool, по умолчанию=None

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

Возвращает:
X_tr{массив NumPy, разреженная матрица} формы (n_samples, n_features)

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

partial_fit(X, y=None, sample_weight=None)[source]

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

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

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

Параметры:
X{массив-подобный, разреженная матрица} формы (n_samples, n_features)

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

yNone

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

sample_weightмассив-подобный формы (n_samples,), по умолчанию=None

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

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

Возвращает:
selfобъект

Отображённый масштабировщик.

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → StandardScaler[source]

Запрос метаданных, переданных методу fit.

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

Варианты для каждого параметра:

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

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

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

Примечание

Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
sample_weightstr, True, False, или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращает:
selfобъект

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

set_inverse_transform_request(*, copy:bool|None|str='$UNCHANGED$') → StandardScaler[source]

Запрос метаданных, передаваемых в метод inverse_transform.

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

Варианты для каждого параметра:

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

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

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

Примечание

Этот метод актуален только если этот оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
copystr, True, False, или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_output(*, transform=None)[source]

Установить контейнер вывода.

См. Представление API set_output для примера использования API.

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию None

Настройка вывода transform и fit_transform.

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

Добавлен в версии 1.4: "polars" option was added.

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

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

set_params(**params)[source]

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

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

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

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

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

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

set_partial_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → StandardScaler[source]

Запрос метаданных, передаваемых в метод partial_fit.

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

Варианты для каждого параметра:

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

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

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

Примечание

Этот метод актуален только если этот оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
sample_weightstr, True, False, или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_transform_request(*, copy:bool|None|str='$UNCHANGED$') → StandardScaler[source]

Запрос метаданных, переданных методу transform.

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

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

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

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

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

Примечание

Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Parameters:
copystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Returns:
selfobject

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

transform(X, copy=None)[source]

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

Parameters:
X{array-like, sparse matrix of shape (n_samples, n_features)

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

copybool, default=None

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

Returns:
X_tr{ndarray, sparse matrix} of shape (n_samples, n_features)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример распознавания лиц с использованием собственных лиц и SVM

Задержка прогнозирования

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

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

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

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

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

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

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

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

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

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

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

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

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

Представление API set_output

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

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

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

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

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

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

Снижение размерности с помощью анализа компонентов окрестностей

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

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

Преобразователь столбцов с различными типами

Цепочки обработки данных: объединение PCA и логистической регрессии

Сравнение эффекта различных масштабирующих функций на данные с выбросами

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

Значение масштабирования признаков

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

SVM-Аnova: SVM с выбором признаков по одной переменной

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

Spec-Zone.ru

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