python - 使用 Python/Sklearn 创建并拟合乘法线性回归

标签 python python-2.7 numpy regression scikit-learn

我正在使用 Python 2.7 和 Scikit-learn 来使用乘法线性回归来拟合数据集,其中不同的项相乘而不是像 sklearn.linear_models.Ridge 中那样相加。 .

所以代替

y = c1 * X1 + c2 * X2 + c3 * X3 + ...

我们需要

y = c1 * X1 * c2 * X2 * c3 * X3...

我们能否启用 Python 和 Sklearn 来拟合和预测这样的乘法/享乐回归模型?

最佳答案

我认为您应该能够通过操纵输入数据集(数据矩阵)使用常规线性回归来做到这一点。

回归 y ~ c1 * X1 * c2 * X2 *... 等价于 y ~ k * (X1 * X2 *...) 其中 k 是某个常数

因此,如果您将设计矩阵中的所有值相乘,然后对其进行回归,我认为您应该能够做到这一点。

即如果您的数据矩阵 X 是 4 x 1000,具有 X1、X2、X3 和 X4 特征,请使用预处理步骤创建新矩阵 X_new,即 1 x 1000,其中单列等于 X1 * X2 * X3 * X4, 然后拟合 y ~ X_new (clf = LinearRegression(), clf.fit(X_new,y))

关于python - 使用 Python/Sklearn 创建并拟合乘法线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16378043/

相关文章:

python - 由tensorflow中的索引张量指定的切片2d张量

python - 按字符串拆分列表和字符串的列表

python - 具有相同大小图的 seaborn jointplot

python - SciPy 导数函数 - 参数解析失败

python - 检查目录路径是否相同

python - 删除 bool 掩码对应的数组中的所有元素

python - 使用 SWIG 的模块级 numpy 数组

python - 我们如何从Python中的glyph id获取unicode?

python - 为什么 numpy.arange() 和 range() 生成的相同数字的(复)函数不同?

python - 将 hcluster 生成的 ndarray 转换为 Newick 字符串以用于 ete2 包