岭回归python实现
时间: 2023-09-07 11:17:35 浏览: 40
岭回归是一种线性回归的扩展,它通过对系数进行惩罚来解决多重共线性的问题。在Python中,可以使用scikit-learn库来实现岭回归。
首先,需要导入必要的库:
```python
import numpy as np
from sklearn.linear_model import Ridge
```
然后,构造数据集,包括特征矩阵X和目标向量y:
```python
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([0, 1, 1, 2])
```
接下来,创建一个Ridge对象,并使用fit方法拟合数据集:
```python
ridge = Ridge(alpha=1.0)
ridge.fit(X, y)
```
其中,alpha是惩罚项的系数,可以通过交叉验证来选择最优的alpha值。拟合完毕后,可以使用predict方法来预测新的样本:
```python
print(ridge.predict([[2, 2], [0.5, 0.5]]))
```
输出结果为:
```
[2.05714286 0.71428571]
```
这表明,当输入特征为[2, 2]时,预测值为2.06;当输入特征为[0.5, 0.5]时,预测值为0.71。
完整的代码如下:
```python
import numpy as np
from sklearn.linear_model import Ridge
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([0, 1, 1, 2])
ridge = Ridge(alpha=1.0)
ridge.fit(X, y)
print(ridge.predict([[2, 2], [0.5, 0.5]]))
```