首页 > 解决方案 > 优化 Lifetime 的 BG/NBD fitter 的执行

问题描述

阅读文档和 Lifetimes 的特定装配工

我有一个约 166K 客户(行)的数据集,这些数据集采用模型适应所需的新近度、频率和 T 格式。我使用以下代码,类似于快速入门部分中概述的代码:

# similar API to scikit-learn and lifelines.
bgf = BetaGeoFitter(penalizer_coef=0.0)
bgf.fit(data['frequency'], data['recency'], data['T'])
print(bgf)

# bgf fit time: 2.42 seconds
# total runtime: 2.56 seconds

我的目标是缩短健身时间。对于上下文,我正在运行多次拟合此模型的模拟。这里多次表示,如果可以的话,~ 720 * 10,000。那是很多时间。即使在保守的水平(~ 180 * 100),这仍然需要半天时间。

在模型拟合后,我确实有大约 3 个其他功能可以运行。设法矢量化一个,现在它们都运行低于/大约 0.04 秒。该模型的拟合是运行时间的最大贡献者。

所以,我想这里的一般问题是如何优化开箱即用的装配工?我怀疑这是可能的,但不确定。

我是这个领域的新手,充其量是一个体面的编码器/开发人员。我可以在需要的地方添加更多上下文,但认为上述内容已经足够合适了。欢迎提供建议、指导和有用的评论!谢谢!

标签: pythonpython-3.xpandaslifetimes-python

解决方案


推荐阅读