PolynomialFeatures
- classsklearn.preprocessing.PolynomialFeatures(degree=2, *, interaction_only=False, include_bias=True, order='C')[исходный код]
-
Создает полиномиальные признаки и признаки взаимодействия.
Создает новую матрицу признаков, состоящую из всех полиномиальных комбинаций признаков со степенью, не превышающей указанную. Например, если входной образец двумерный и имеет вид [a, b], то полиномиальные признаки степени 2 будут такими: [1, a, b, a^2, ab, b^2].
Подробнее см. в руководстве пользователя.
- Параметры:
-
- degreeint или tuple (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-сплайнов для признаков.
Примечания
Учитывайте, что количество признаков в выходном массиве растет полиномиально относительно количества признаков во входном массиве и экспоненциально относительно степени. Большие степени могут привести к переобучению.
См. examples/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)[исходный код]
-
Вычисляет количество выходных признаков.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные.
- yИгнорируется
-
Не используется; параметр присутствует для согласованности API.
- Возвращает:
-
- selfobject
-
Обученный преобразователь.
- fit_transform(X, y=None, **fit_params)[исходный код]
-
Обучает преобразователь на данных, а затем преобразует их.
Обучает преобразователь на
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Входные образцы.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для преобразований без учителя).
- **fit_paramsdict
-
Дополнительные параметры обучения. Передавайте их только в том случае, если оцениватель принимает дополнительные параметры в методе
fit.
- Возвращает:
-
- X_newndarray формы (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[исходный код]
-
Возвращает имена выходных признаков преобразования.
- Параметры:
-
- input_featuresarray-like из строк или None, по умолчанию=None
-
Входные признаки.
- Если задано
input_features is 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 из строковых объектов
-
Имена преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Возвращает правила маршрутизации метаданных этого объекта.
Подробное описание работы механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Возвращает параметры этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценивателя и содержащихся в нем объектов-оценивателей.
- Возвращает:
-
- paramsdict
-
Имена параметров и соответствующие им значения.
- set_output(*, transform=None)[исходный код]
-
Задает контейнер для выходных данных.
Подробнее см. в руководстве пользователя, а пример использования API приведен в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настраивает формат выходных данных для
transformиfit_transform.-
"default": формат выходных данных преобразователя по умолчанию -
"pandas": выходные данные в формате DataFrame -
"polars": выходные данные в формате Polars -
None: конфигурация преобразования остается без изменений
Добавлено в версии 1.4: добавлен параметр
"polars". -
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_params(**params)[исходный код]
-
Задает параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- transform(X)[исходный код]
-
Преобразует данные в полиномиальные признаки.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные для преобразования, построчно.
Для разреженных входных данных предпочтителен формат CSR (для повышения скорости), однако при степени 4 и выше требуется CSC. Если степень меньше 4, а входные данные имеют формат CSC, они будут преобразованы в CSR, для них будут созданы полиномиальные признаки, после чего данные преобразуются обратно в CSC.
Для степени 2 или 3 используется метод, описанный в статье «Использование разреженности для ускорения развертывания полиномиальных признаков матриц CSR с помощью K-симплексных чисел» Эндрю Найстрома и Джона Хьюза; он значительно быстрее метода для входных данных CSC. Поэтому входные данные CSC преобразуются в CSR, а перед возвратом выходные данные преобразуются обратно в CSC, что и объясняет предпочтительность CSR.
- Возвращает:
-
- XP{ndarray, разреженная матрица} формы (n_samples, NP)
-
Матрица признаков, где
NP— количество полиномиальных признаков, созданных из комбинаций входных данных. Если передана разреженная матрица, она будет преобразована в формат CSR.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.preprocessing.PolynomialFeatures.html