创建一个以 Average_Pulse 和 Duration 作为解释变量的线性回归表:
import pandas as pd
import statsmodels.formula.api as smf
full_health_data = pd.read_csv("data.csv", header=0, sep=",")
model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results = model.fit()
print(results.summary())
亲自试一试 »
线性回归函数可以在数学上重写为:
Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194
四舍五入到小数点后两位:
Calorie_Burnage = Average_Pulse * 3.17 + Duration * 5.84 - 334.52
在 Python 中定义线性回归函数来执行预测。
如果满足以下条件,什么是 Calorie_Burnage:
def Predict_Calorie_Burnage(Average_Pulse, Duration):
return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)
print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))
亲自试一试 »
答案:
看一下系数:
查看每个系数的 P 值。
所以这里我们可以得出结论,Average_Pulse和Duration与Calorie_Burnage有关系。
如果我们有多个解释变量,R 平方就会出现问题。
如果我们添加更多变量,R 平方几乎总是会增加,并且永远不会减少。
这是因为我们在线性回归函数周围添加了更多数据点。
如果我们添加不影响 Calorie_Burnage 的随机变量,我们就有可能错误地得出线性回归函数非常合适的结论。调整后的 R 平方针对此问题进行了调整。
因此,如果我们有多个解释变量,最好查看调整后的 R 平方值。
调整后的 R 平方为 0.814。
R-Squared 的值始终在 0 到 1(0% 到 100%)之间。
结论:模型与数据点拟合得很好!
恭喜!您现在已经完成了数据科学库的最后一个模块。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!