Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

数据科学 - 线性回归


我们缺少一个影响卡路里燃烧的重要变量,那就是训练课程的持续时间。

持续时间结合平均脉搏将更准确地解释卡路里燃烧。


线性回归

当您尝试查找变量之间的关系时,会使用回归这个术语。

在机器学习和统计建模中,这种关系用于预测事件的结果。

在本模块中,我们将涵盖以下问题

  • 我们能否得出结论,平均脉搏和持续时间与卡路里燃烧有关?
  • 我们能否使用平均脉搏和持续时间来预测卡路里燃烧?

最小二乘法

线性回归使用最小二乘法。

其概念是通过所有绘制的数据点绘制一条线。这条线的位置使之与所有数据点的距离最小化。

该距离称为“残差”或“误差”。

红色虚线表示数据点到绘制的数学函数的距离。

Linear Regression - Least Square

使用一个解释变量的线性回归

在本例中,我们将尝试使用线性回归通过平均脉搏来预测卡路里燃烧。

示例

import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

full_health_data = pd.read_csv("data.csv", header=0, sep=",")

x = full_health_data["Average_Pulse"]
y = full_health_data ["Calorie_Burnage"]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x)
 return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, slope * x + intercept)
plt.ylim(ymin=0, ymax=2000)
plt.xlim(xmin=0, xmax=200)
plt.xlabel("Average_Pulse")
plt.ylabel ("Calorie_Burnage")
plt.show()
自己动手试试 »

示例说明

  • 导入所需的模块:Pandas、matplotlib 和 Scipy
  • 将 Average_Pulse 作为 x 分离出来。将 Calorie_burnage 作为 y 分离出来
  • 获取重要的关键值:slope, intercept, r, p, std_err = stats.linregress(x, y)
  • 创建一个使用斜率和截距值返回新值的函数。此新值表示对应 x 值将在 y 轴上的哪个位置
  • 将 x 数组的每个值都通过函数运行。这将产生一个新的数组,其中包含 y 轴的新值:mymodel = list(map(myfunc, x))
  • 绘制原始散点图:plt.scatter(x, y)
  • 绘制线性回归线:plt.plot(x, mymodel)
  • 定义轴的最大值和最小值
  • 标记轴:“Average_Pulse” 和“Calorie_Burnage”

输出

Linear Regression - One variable - Least Square

您认为这条线能够准确预测卡路里燃烧吗?

我们将证明,仅使用变量 Average_Pulse 无法对卡路里燃烧进行精确预测。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.