我一直在使用 scikit learn,非常简洁。 通过点 (X-Y) 拟合多项式曲线非常容易。如果我有 N 个点,我可以选择 N-1 阶多项式,曲线将完美拟合这些点。
如果我的 X 向量有多个维度,在 scikit-learn 中我可以使用 PolynomialFeatures 和 LinearRegression 构建一个管道。 我遇到的问题是 PolynomialFeatures 创建的特征数量(不是输入)具有更大的灵 active ;我希望能够指定特征的总数,最终目标是拥有一个遍历所有点的多项式。 例如。在 3D 中(X 有 3 列),如果我有 27 个点(3X3X3 的方阵);我想将特征数量限制为 27 个。
(PolynomialFeatures确实有一个powers_属性,但无法设置。探索源代码似乎也没有显示任何具体内容)。
有什么想法吗?
干杯, N
最佳答案
你的问题定义不明确。比如说,如果您想要 34 种可能的特征中的 14 种,那应该是哪哪 14 种?
在你的位置,我会生成大量冗余特征,然后使用特征选择算法。它将是一个稀疏模型(如 Lasso
)或特征消除算法(如 RFE
)。
关于Python - 通过 X 点拟合多项式(多维),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44915500/