当前位置:   article > 正文

[Python] 如何使用scikit-learn库进行线性回归训练和预测_scikit-learn建立线性回归

scikit-learn建立线性回归

什么是Scikit-learn

Scikit-learn是一个用于Python编程语言的机器学习库。它提供了各种监督和无监督学习算法,包括分类、回归、聚类、降维等。Scikit-learn易于使用且功能强大,可以处理大型数据集,并且具有很好的可扩展性。它还提供了许多方便的工具,如数据预处理、模型选择、评估和可视化等。Scikit-learn是许多机器学习项目中使用的首选库之一。

安装scikit-learn

pip install scikit-learn

Installing scikit-learn — scikit-learn 1.3.2 documentation

使用scikit-learn进行线性回归

下面是一个使用scikit-learn进行线性回归的详细案例:

1)首先,我们需要导入所需的库和数据集:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from sklearn.linear_model import LinearRegression
  4. from sklearn.model_selection import train_test_split
  5. from sklearn.metrics import mean_squared_error, r2_score

2)接下来,我们创建一个简单的数据集,其中x是自变量,y是因变量:

  1. # 创建数据集
  2. np.random.seed(0)
  3. x = np.random.rand(100, 1)
  4. y = 2 + 3 * x + np.random.rand(100, 1)
  5. # 绘制数据集
  6. plt.scatter(x, y)
  7. plt.xlabel('x')
  8. plt.ylabel('y')
  9. plt.show()

3)将数据集分为训练集和测试集:

  1. # 将数据集分为训练集和测试集
  2. x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

4)创建线性回归模型并拟合训练数据:

  1. # 创建线性回归模型并拟合训练数据
  2. regressor = LinearRegression()
  3. regressor.fit(x_train, y_train)

5)使用模型进行预测:

  1. # 使用模型进行预测
  2. y_pred = regressor.predict(x_test)

6)评估模型的性能:

  1. # 评估模型的性能
  2. mse = mean_squared_error(y_test, y_pred)
  3. r2 = r2_score(y_test, y_pred)
  4. print('均方误差:', mse)
  5. print('R2分数:', r2)

均方误差越小,说明拟合效果越好,最小值为0。

R2分数刚好和均方误差相反,越大越好,最大值为1。

均方误差(Mean Squared Error,MSE)是用于评估回归模型拟合优度的一种统计指标。它表示预测值与实际值之间差异的平方和的平均值,即误差平方和的平均值。

MSE越小表示模型的预测效果越好,反之则表示模型的预测效果较差。通常情况下,MSE越小表示模型的拟合效果越好。

R2分数(Coefficient of Determination)也称为决定系数,是用于评估回归模型拟合优度的一种统计指标。它表示自变量对于因变量的解释程度,即自变量能够解释因变量变异的比例。

R2分数的取值范围在0到1之间,越接近1表示模型拟合效果越好,越接近0表示模型拟合效果越差。

R2分数还可以用于比较不同模型的拟合效果,通常情况下,R2分数越大表示模型的拟合效果越好。

7)最后,我们可以绘制拟合结果:

  1. # 绘制拟合结果
  2. plt.scatter(x_test, y_test, color='blue', label='actual')
  3. plt.plot(x_test, y_pred, color='red', linewidth=2, label='predict')
  4. plt.xlabel('x')
  5. plt.ylabel('y')
  6. plt.legend()
  7. plt.show()

这个案例展示了如何使用scikit-learn进行线性回归。首先,我们创建了一个简单的数据集,然后将其分为训练集和测试集。接着,我们创建了一个线性回归模型并使用训练数据对其进行拟合。最后,我们使用测试数据对模型进行评估,并绘制了拟合结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/638029
推荐阅读
相关标签
  

闽ICP备14008679号