首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python scikit-learn (查找偏差)

Python scikit-learn (查找偏差)
EN

Stack Overflow用户
提问于 2021-09-09 16:22:47
回答 1查看 230关注 0票数 0

由c)中构建的模型估计的Y及其期望值E(Y)的偏差衡量模型的拟合优度。偏差越小,模型越好。下面是如何计算它的方程式。

?=2∑??=1{??????(?)−?−?(?)}

如果Y= 0,则表达式logY/exp(E(Y))将被视为零。使用您自己的Python程序来计算D,而不使用scikit-learn包的score()函数。

我该怎么做这个问题呢?请帮帮我!!

EN

回答 1

Stack Overflow用户

发布于 2021-09-11 09:38:06

你得到的是假设泊松分布的模型的偏差,你可以查看wiki了解这个定义是如何推导出来的。使用the poisson regressor中的示例

代码语言:javascript
复制
from sklearn import linear_model
import numpy as np

clf = linear_model.PoissonRegressor()
X = [[1, 2], [2, 3], [3, 4], [4, 3]]
y = [12, 17, 22, 21]
clf.fit(X, y)

偏差是:

代码语言:javascript
复制
def calculate_dev(y_true,y_pred):
    return (2*(y_true * np.log(y_true/y_pred) - (y_true-y_pred))).sum()

D = calculate_dev(y,pred)
D
0.03453083031027196

documentation中的score()函数相比,该函数定义为1-dev(型号)/ dev(null)

代码语言:javascript
复制
clf.score(X, y)
0.99048551488916

nullD = calculate_dev(y,np.mean(y))
1 - D / nullD
0.99048551488916
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69121704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档