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.
Примеры из галереи
© 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