如何使用 pymc3 重新训练我的逻辑模型?

How can re-train my logistic model using pymc3?

我有一个二进制 classification 问题,我有大约 15 个特征。我使用其他模型选择了这些功能。现在我想对这些特征执行贝叶斯逻辑。我的目标 classes 是高度不平衡的(少数 class 是 0.001%),我有大约 600 万条记录。我想建立一个可以在夜间或周末使用贝叶斯逻辑训练的模型。

目前,我已将数据分成 15 个部分,然后我在第一部分训练我的模型并在最后一部分进行测试,然后我使用 Interpolated 方法更新我的先验 pymc3并使用第二组数据重新运行模型。我在每次 运行.

之后检查准确性和其他指标(ROC,f1-score)

问题:

  1. 我的分数没有提高。
  2. 我使用的方法正确吗?
  3. 这个过程花费了太多时间。

如果有人能用正确的方法和代码片段指导我,那将对我很有帮助。

你可以使用变分推理。它比采样更快,并且产生几乎相似的结果。 pymc3本身就提供了VI的方法,大家可以自行探索。

我只知道这部分问题。如果你能进一步阐述你的问题,也许..我可以帮助你。