python岭回归模型
时间: 2023-11-25 09:52:37 浏览: 84
岭回归是一种用于处理多重共线性数据的线性回归技术。在普通的线性回归中,如果数据集中存在多个高度相关的特征,那么模型的预测结果会变得不稳定,这就是多重共线性问题。岭回归通过对模型的系数进行惩罚,来减小多重共线性的影响,从而提高模型的预测能力。
以下是一个使用Python进行岭回归模型的示例:
```python
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
# 生成随机数据
np.random.seed(0)
n_samples, n_features = 50, 200
X = np.random.randn(n_samples, n_features)
coef = 3 * np.random.randn(n_features)
inds = np.arange(n_features)
np.random.shuffle(inds)
coef[inds[10:]] = 0
y = np.dot(X, coef)
# 将数据集分为训练集和测试集
X_train, X_test = X[:n_samples // 2], X[n_samples // 2:]
y_train, y_test = y[:n_samples // 2], y[n_samples // 2:]
# 训练岭回归模型
ridge = linear_model.Ridge(alpha=0.1)
ridge.fit(X_train, y_train)
# 输出模型的系数和截距
print("Coefficients:", ridge.coef_)
print("Intercept:", ridge.intercept_)
# 使用测试集进行预测
y_pred = ridge.predict(X_test)
# 可视化预测结果
plt.scatter(y_test, y_pred)
plt.plot([y.min(), y.max()], [y.min(), y.max()], '--', color='red')
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.show()
```
阅读全文