我有一个二分类问题,大约有15个特征。我使用其他模型选择了这些特征。现在我想对这些特征进行贝叶斯逻辑回归。我的目标类别极不平衡(少数类别占0.001%),我有大约600万条记录。我希望构建一个模型,可以在每晚或周末使用贝叶斯逻辑回归进行训练。
目前,我将数据分成了15个部分,然后我用第一部分数据训练模型,并用最后部分数据进行测试,之后我使用pymc3
的Interpolated
方法更新我的先验概率,并使用第二组数据重新运行模型。每次运行后,我都会检查准确率和其他指标(ROC,F1分数)。
问题:
- 我的得分没有提高。
- 我使用的方法是否正确?
- 这个过程耗时太长。
如果有人能指导我正确的做法并提供代码片段,将对我非常有帮助。
回答:
你可以使用变分推断。这种方法比采样更快,并且产生几乎相似的结果。pymc3本身提供了变分推断的方法,你可以探索一下。
我只知道问题的这部分。如果你能进一步详细说明你的问题,也许…我可以帮助你。