线性回归是一种用于建模和预测连续型目标变量与一个或多个自变量之间关系的统计方法。以下是使用Python实现简单线性回归的示例代码,使用了numpy
和scikit-learn
库:
首先,确保已安装 numpy
和 scikit-learn
库,可以通过以下命令安装:
1 pip install numpy scikit-learn
接下来,使用下面的代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import mean_squared_errorimport matplotlib.pyplot as pltnp.random.seed(0 ) X = np.random.rand(100 , 1 ) * 10 y = 2 * X + 3 + np.random.randn(100 , 1 ) * 2 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2 , random_state=42 ) model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) print ("Mean Squared Error:" , mse)plt.scatter(X_test, y_test, color='blue' , label='Actual' ) plt.plot(X_test, y_pred, color='red' , label='Predicted' ) plt.xlabel('X' ) plt.ylabel('y' ) plt.title('Linear Regression' ) plt.legend() plt.show() print ("Slope (Coefficient):" , model.coef_[0 ])print ("Intercept:" , model.intercept_)
在上述代码中,我们首先生成了一个示例数据集,其中包含一个自变量(特征)和一个目标变量。然后,我们使用train_test_split
函数将数据集划分为训练集和测试集。接着,创建了一个线性回归模型,并使用fit
方法训练模型。在测试集上进行预测,并计算均方误差来衡量模型性能。
最后,我们绘制了测试集数据和模型预测的拟合直线,并打印了模型的斜率(系数)和截距。
请注意,这只是一个简单的线性回归示例。在实际应用中,您可能需要考虑特征选择、模型评估、多元线性回归等问题,以获得更好的预测结果。