python - 有没有办法强制python形成截距等于0的线性回归?
问题描述
我有一个数据集,包括两列age
和flexibility
变量。下图显示了基于我的数据集的人的年龄与其身体柔韧性之间的相关性:
我正在尝试制作一个立方模型,其中灵活性取决于年龄的立方。所以我做了:
from sklearn.linear_model import LinearRegression
df["Age_cubed"] = df["Age"].pow(3)
X = df[["Age_cubed"]]
Y = df["Flexibility"]
model = linear_model.LinearRegression()
model.fit(X, Y)
r_sq = model.score(X, Y)
model.coef_ # 10.02
model.score(X, Y) # 0.93
这个模型有一个 0.034 的 interocept:
print(model.intercept_) # 0.034
有没有办法强制python形成截距等于0的上述线性回归模型?
解决方案
是的,如果将fit_intercept的值设置为 False,有一种方法:
model = linear_model.LinearRegression(fit_intercept=False)
然后当您打印截距时:
print(model.intercept_)
输出是:
0.0
推荐阅读
- c# - WPF Listbox 控件模板不显示 Listboxitem 控件模板和 ItemTemplate 数据模板
- python - 将字符串传递给 Python 函数并将该字符串用作数据框中的列名
- java - 如何从 Android 中的 Google Fit 服务中检索健康数据
- laravel - Vue.js:无法读取未定义的属性“包含”
- java - ArrayList 按优先级排序
- html - 如何防止 SVG 元素之间出现细小的白线?
- vue.js - 为什么我的 Vue.js 项目没有显示我的网站图标?
- python - 重新加载 Jupyter Lab 中已更改的模块的最佳方法是什么?
- javascript - 炮兵:从 CSV 文件加载 JSON 文档
- python - 从加载的张量流分类模型中获取预测,.pd 文件