具有多个输出的python中的线性回归

数据挖掘 Python 线性回归
2022-03-01 03:12:20

我有一个时间序列数据集,表示如下:

x=[ 
       [12.19047619,  18.28571429,   6.0952381 ] ,

       [ 80.98765432,  14.17283951,  11.13580247 ] ,

       [ 50.82644628,  16.26446281,   9.14876033 ] , .... ]


and to predicted -->
 Y  = [13.9,  18,   14.987]

如何在 python 中使用 LASSO 和 SVR 线性回归模型来预测 Y(如上例所示,表示为向量)

1个回答

Lasso 和 SVM 都在 sklearn 库中可用。套索:sklearn.linear_model.Lasso支持向量机:sklearn.svm.SVT

来自 Lasso 页面的示例:

>>> from sklearn import linear_model
>>> clf = linear_model.Lasso(alpha=0.1)
>>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])
Lasso(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=1000, normalize=False, positive=False, precompute=False, random_state=None, selection='cyclic', tol=0.0001, warm_start=False)
>>> print(clf.coef_)
[0.85 0. ]
>>> print(clf.intercept_)
0.15...

在您的情况下, clf.fit 看起来像这样:

clf.fit(X, Y)

X 应该是大小 (nn,n)
Y 应该是大小 nn
其中 nn 是观测值(点)的数量,n 是变量的数量。所以 X 中的行是观察值,列是不同的变量。

如果您的变量多于观察结果,那么您应该阅读这篇文章,了解您可能遇到的问题以及如何解决这些问题。