python线性回归的例子代码

当使用Python进行线性回归时,通常使用一些库来简化实现过程。

python
# 导入必要的库 import numpy as np from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt # 创建一些样本数据 np.random.seed(42) X = 2 * np.random.rand(100, 1) y = 4 + 3 * X + np.random.randn(100, 1) # 使用scikit-learn的LinearRegression模型 model = LinearRegression() model.fit(X, y) # 打印模型参数 print("斜率 (theta_1):", model.coef_[0][0]) print("截距 (theta_0):", model.intercept_[0]) # 预测新数据 X_new = np.array([[0], [2]]) y_pred = model.predict(X_new) # 绘制原始数据和回归线 plt.scatter(X, y, alpha=0.5, label='原始数据') plt.plot(X_new, y_pred, 'r-', label='线性回归') plt.xlabel('特征') plt.ylabel('标签') plt.legend() plt.show()

这个例子生成了一些带有噪声的线性数据,然后使用LinearRegression模型拟合这些数据,并最终绘制了原始数据和拟合的线性回归线。在你的实际应用中,你可能会用真实的数据替代这些模拟数据。

1. 数据预处理:

确保你的数据格式正确,处理缺失值和异常值。可能需要进行特征缩放、归一化或其他数据预处理操作。

2. 模型评估:

利用模型评估指标,如均方误差或 R-squared 来评估模型性能。将数据拆分为训练集和测试集,以更好地评估模型在未见过数据上的表现。

3. 模型调参:

在某些情况下,可能需要调整模型的超参数,例如正则化参数。考虑是否存在非线性关系,可能需要使用更复杂的模型。

4. 可视化:

创建更详细的可视化,例如残差图,以检查模型的拟合情况。

python
# 计算均方误差 y_pred_train = model.predict(X) mse = np.mean((y_pred_train - y) ** 2) print("均方误差 (MSE):", mse) # 绘制残差图 residuals = y - y_pred_train plt.scatter(X, residuals, alpha=0.5) plt.axhline(y=0, color='r', linestyle='--', label='Residuals Mean') plt.xlabel('特征') plt.ylabel('残差') plt.legend() plt.show()

在实际应用中,你可能需要更多的工作来适应特定问题的要求,但这个简单的例子提供了一个基础。

标签