由c)中构建的模型估计的Y及其期望值E(Y)的偏差衡量模型的拟合优度。偏差越小,模型越好。下面是如何计算它的方程式。
?=2∑??=1{??????(?)−?−?(?)}
如果Y= 0,则表达式logY/exp(E(Y))将被视为零。使用您自己的Python程序来计算D,而不使用scikit-learn包的score()函数。
我该怎么做这个问题呢?请帮帮我!!

发布于 2021-09-11 09:38:06
你得到的是假设泊松分布的模型的偏差,你可以查看wiki了解这个定义是如何推导出来的。使用the poisson regressor中的示例
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)偏差是:
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)
clf.score(X, y)
0.99048551488916
nullD = calculate_dev(y,np.mean(y))
1 - D / nullD
0.99048551488916https://stackoverflow.com/questions/69121704
复制相似问题