1.导入所需要的库

        因为对回归方程进行评价的时候,常用指标是RMSE值,这个需要做数据技术(手写计算方程),所以要引入一个数学库,叫math。同时我们在做回归分析时都可以画散点图,所以引入matplotlib用来画图,还可以用均方误差来评价方程,把这个评价指标引进来。代码如下:

  1. import numpy as np: 导入NumPy库,并将其命名为np。NumPy是一个用于科学计算的库,提供了支持多维数组和矩阵运算的功能。

  2. import math: 这行代码似乎有误,正确的写法应该是 import math,用于导入数学函数模块。

  3. import pandas as pd: 导入Pandas库,并将其命名为pd。Pandas是一个强大的数据分析和操作工具,提供了数据结构和数据分析工具。

  4. import matplotlib.pyplot as plt: 导入Matplotlib库中的pyplot模块,并将其命名为plt。Matplotlib是一个绘图库,常用于生成各种图表和可视化数据。

  5. from sklearn.model_selection import train_test_split: 从Sklearn库的model_selection模块中导入train_test_split函数。这个函数用于将数据集分割成训练集和测试集。

  6. from sklearn.linear_model import LinearRegression: 从Sklearn库的linear_model模块中导入LinearRegression类。这个类实现了线性回归算法,可以用于预测连续值。

  7. from sklearn.metrics import mean_squared_error: 从Sklearn库的metrics模块中导入mean_squared_error函数。这个函数用于计算均方误差(MSE),是评估回归模型性能的一种常用指标。

2.导入表格

通常我们在导入表格之前,需要先打开表格检查表格的内容是否存在问题,下表就是本次任务所需要导入的表中的内容。分别是父亲与儿子的 身高。确认表的内容没有问题后,我们开始导入所需的表格。

下图的这行代码使用Pandas库中的read_table函数从名为“FSHeight.txt”的文件中读取数据,并将其存储在变量data中。参数encoding="gb2312"指定了文件的编码格式为GB2312。然后通过head查看头五行数据。

随后通过info()这段代码,提供了关于DataFrame的基本信息,包括行数、列数、每列的名称、非空值数量、数据类型以及内存使用情况。这些信息有助于了解数据的结构和规模,从而进行进一步的数据处理和分析。.结果如图所示:

3.构建模型

如图片中的代码,是从DataFrame data中提取两列数据,并将它们分别存储在两个NumPy数组xy中。这样做通常是为了后续的数据处理或机器学习任务,因为许多机器学习库(如Scikit-learn)需要输入数据为NumPy数组格式。

这段代码通过线性回归模型来拟合训练数据,并输出模型的系数和截距,用于解释和预测目标变量的值。模型系数为[0.51400591],表示特征对目标变量的影响程度。截距为33.89280054066168,表示当特征值为0时,目标变量的预测值。

使用训练好的线性回归模型model对输入数据x进行预测,得到预测值y_pred。通过计算真实值和预测值之间的均方根误差来评估回归模型的性能。均方根误差越小,说明模型的预测性能越好。最火回归摸RMSE值为:2.435871609139341(这是实际输出的结果,显示了回归模型的均方根误差值。)

4.画图

这段代码通过matplotlib库绘制了一个包含真实数据点和预测数据的散点图,并添加了坐标轴标签和网格线,以便于数据的可视化分析。代码解释如下:

  1. plt.plot(x, y, 'b.'):使用蓝色圆点('b.')绘制散点图,其中x是横坐标数据,y是纵坐标数据。

  2. plt.plot(x, y_pred, 'r'):使用红色线条('r')绘制预测值y_pred与横坐标x之间的关系。

  3. plt.xlabel("Father"):设置横坐标轴的标签为“Father”。

  4. plt.ylabel("Son"):设置纵坐标轴的标签为“Son”。

  5. plt.grid(True):显示网格线,以便更好地观察数据点的位置。

  6. plt.show():显示绘制的图形。

5.测试模型

 

最后,使用训练好的线性回归模型model对输入数据[[67]]进行预测,并打印出68.33119668的预测结果。总结来说,这段代码通过线性回归模型对新的输入数据进行预测,并输出预测结果。到这里,本次任务就到此结束了。

更多推荐