gpt4 book ai didi

machine-learning - 使用 GLM 的问题

转载 作者:行者123 更新时间:2023-11-30 09:38:08 26 4
gpt4 key购买 nike

我在理解如何使用泊松 GLM 模型时遇到一些困难。

import numpy as np
import scikits.statsmodels as sm

dataset = pd.DataFrame({'A':np.random.rand(100)*1000,
'B':np.random.rand(100)*100,
'C':np.random.rand(100)*10,
'target':np.random.rand(100)})

X = dataset.ix[:,['A','B','C']].values
y = dataset.ix[:,['target']].values
size = 1e5
nbeta = 3

fam = sm.families.Poisson()
glm = sm.GLM(y,X, family=fam)
res = glm.fit()
  • 我使用“目标”列作为目标,我应该将目标标记为 O 还是 1 ?
  • 谁能解释一下我如何获得预测值,因为泊松有另一个函数 predict

最佳答案

Sourceforge 现在已关闭。当它备份时,您应该通读 documentationexamples 。有大量关于预测和 GLM 的使用说明。

如何标记您的目标取决于您,并且可能是一个需要交叉验证的问题。泊松适用于计数,但也可用于连续数据,但您应该知道自己在做什么。

如果您有 0/1,那么您需要 Logit 或 Probit 模型。像这样的东西。您不需要将 pandas 对象转换为 numpy。

import numpy as np
import statsmodels.api as sm

dataset = pd.DataFrame({'A':np.random.rand(100)*1000,
'B':np.random.rand(100)*100,
'C':np.random.rand(100)*10,
'target':np.random.randint(0, 5, 100)})

X = dataset[['A','B','C']]
X['constant'] = 1
y = dataset['target']
size = 1e5
nbeta = 3

fam = sm.families.Poisson()
glm = sm.GLM(y,X, family=fam)
res = glm.fit()

predict = res.predict()

或者您可以直接使用泊松的最大似然估计器。

res = sm.Poisson(y, X).fit()
predict = res.predict()

关于machine-learning - 使用 GLM 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com