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.
См. также
Примечания
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
-
MetadataRequestencapsulating 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)
-
Преобразованный массив.
Примеры из галереи
© 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