sklearn.preprocessing.PolynomialFeatures 生成多项式和交互特征
sklearn.preprocessing.PolynomialFeatures
生成多项式和交互特征。生成由度小于或等于指定度的特征的所有多项式组合组成的新特征矩阵。例如,如果输入样本是二维且格式为[a,b],则2阶多项式特征为[1,a,b,a ^ 2,ab,b ^ 2]
class sklearn.preprocessing.PolynomialFeatures(degree=2, *, interaction_only=False, include_bias=True, order='C')
参数:
- degree:整数,多项式特征的程度。默认值= 2
- interaction_only:布尔值, default = False,如果为真,那么就不会有特征自己和自己结合的项,(即是没有这a ^ 2和b ^ 2)
- include_bias:布尔值,如果为True(默认值),是否有全是1的一项,如果为 True 的话,那么结果中就会有 0 次幂项,即全为 1 这一列
- order:str in {‘C’, ‘F’}, default ‘C’,在密集情况下输出数组的顺序。“ F”阶的计算速度更快,但可能会减慢后续的估计量
属性:
- powers_ :数组,形状(n_output_features,n_input_features),powers_ [i,j]是第i个输出中第j个输入的指数
- n_input_features_ int,输入特征的总数
- n_output_features_ int,多项式输出特征的总数。输出要素的数量是通过迭代所有适当大小的输入要素组合来计算的
方法:
- fit(X [,y])计算输出要素的数量。
- fit_transform(X [,y])适合数据,然后对其进行转换。
- get_feature_names([input_features])返回交互之后的特征的名称
- get_params([deep])获取此估计量的参数。
- set_params(**参数)设置此估算器的参数。
- transform(X)将数据转换为多项式特征
注意:degree太高会导致过度拟合
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.]]) '''
分类:
sklearn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人