Spec-Zone.ru › scikit-learn

PolynomialFeatures

classsklearn.preprocessing.PolynomialFeatures(degree=2, *, interaction_only=False, include_bias=True, order='C')[source]

Генерация полиномиальных и взаимодействующих признаков.

Генерирует новую матрицу признаков, содержащую все полиномиальные комбинации признаков со степенью не более указанной степени. Например, если входной образец двумерный и имеет вид [a, b], то полиномиальные признаки второй степени будут [1, a, b, a2, ab, b2].

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

Параметры:
degreeint или кортеж (min_degree, max_degree), по умолчанию=2

Если задано целое число, оно определяет максимальную степень полиномиальных признаков. Если передан кортеж (min_degree, max_degree), тогда min_degree — минимальная, а max_degree — максимальная степень полинома сгенерированных признаков. Обратите внимание, что min_degree=0 и min_degree=1 эквивалентны, поскольку вывод члена нулевой степени определяется include_bias.

interaction_onlybool, по умолчанию=False

Если True, генерируются только взаимодействующие признаки: признаки, являющиеся произведениями не более degree различных входных признаков, т.е. члены с степенью 2 или более одного и того же входного признака исключаются:

  • включены: x[0], x[1], x[0] * x[1], и т.д.
  • исключены: x[0] ** 2, x[0] ** 2 * x[1], и т.д.
include_biasbool, по умолчанию=True

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

order{‘C’, ‘F’}, по умолчанию=’C’

Порядок выходного массива в плотном случае. Порядок 'F' быстрее вычисляется, но может замедлить работу последующих оценщиков.

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

Атрибуты:
powers_массив ndarray формы (n_output_features_, n_features_in_)

Показатель для каждого из входных данных на выходе.

n_features_in_int

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

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

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

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

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

n_output_features_int

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

См. также

SplineTransformer

Преобразователь, генерирующий унивариантные базисы B-сплайнов для признаков.

Примечания

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

См. примеры/linear_model/plot_polynomial_interpolation.py

Примеры

>>> import numpy as np
>>> from sklearn.preprocessing import PolynomialFeatures
>>> X = np.arange(6).reshape(3, 2)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5]])
>>> poly = PolynomialFeatures(2)
>>> poly.fit_transform(X)
array([[ 1.,  0.,  1.,  0.,  0.,  1.],
       [ 1.,  2.,  3.,  4.,  6.,  9.],
       [ 1.,  4.,  5., 16., 20., 25.]])
>>> poly = PolynomialFeatures(interaction_only=True)
>>> poly.fit_transform(X)
array([[ 1.,  0.,  1.,  0.],
       [ 1.,  2.,  3.,  6.],
       [ 1.,  4.,  5., 20.]])
fit(X, y=None)[source]

Вычисление количества выходных признаков.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Данные.

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

Не используется, присутствует здесь для согласованности API по соглашению.

Возвращает:
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_paramsсловарь

Дополнительные параметры подгонки.

Возвращает:
X_newмассив ndarray формы (n_samples, n_features_new)

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

get_feature_names_out(input_features=None)[source]

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

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

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

  • Если input_features is 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массив ndarray из str объектов

Преобразованные имена признаков.

get_metadata_routing()[source]

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

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

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

А MetadataRequest содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

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

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

propertypowers_

Показатель степени для каждого из входных данных в выводе.

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" вариант был добавлен.

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

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

set_params(**params)[source]

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

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

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

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

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

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

transform(X)[source]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Данные для преобразования, строка за строкой. Предпочтительнее CSR над CSC для разреженных входных данных (для скорости), но CSC требуется, если степень равна 4 или выше. Если степень меньше 4, а формат ввода — CSC, он будет преобразован в CSR, его полиномиальные признаки будут сгенерированы, а затем он будет преобразован обратно в CSC. Если степень равна 2 или 3, используется метод, описанный в “Leveraging Sparsity to Speed Up Polynomial Feature Expansions of CSR Matrices Using K-Simplex Numbers” (Андрю Нюстром и Джон Хьюз), который намного быстрее метода, используемого для входных данных CSC. По этой причине вход CSC будет преобразован в CSR, а вывод будет преобразован обратно в CSC перед возвратом, отсюда предпочтение CSR.

Возвращает:
XP{ndarray, разреженная матрица} формы (n_samples, NP)

Матрица признаков, где NP — количество сгенерированных полиномиальных признаков из комбинации входов. Если предоставлена разреженная матрица, она будет преобразована в разреженную csr_matrix.

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

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

Инженерия признаков, связанных со временем

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

Регрессия Пуассона и потеря, не являющаяся нормальной

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

Подгонка робастного линейного оценочного значения

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

Недообучение против переобучения

График границ классификации с различными ядрами SVM

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

Spec-Zone.ru

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