gpt4 book ai didi

python - Python 中 PALIVE 的语法类似于 R 中的 pnbd.PAlive?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:03 26 4
gpt4 key购买 nike

谁能帮我用Python计算PALIVE(在校准期结束时他们仍然活着的概率。)?

我知道 R 具有帕累托负二项分布 function pnbd.PAlive(params, r, s, apha, beta)但是 Python 中有什么类似的东西呢?

最佳答案

您可以使用lifetimes中的conditional_probability_alive方法包裹。您需要为每个客户传递频率新近度T。以 BetaGeoFitter(BG/NBD 型号)为例:

from lifetimes import BetaGeoFitter
from lifetimes.datasets import load_cdnow_summary

# load data
data = load_cdnow_summary(index_col=[0])
print(data.head())

# fit lifetimes model
bgf = BetaGeoFitter(penalizer_coef=0.0)
bgf.fit(data['frequency'], data['recency'], data['T'])
print(bgf)

# predict p_alives for customers
p_alive1 = bgf.conditional_probability_alive(2, 30.43, 38.86)
p_alive2 = bgf.conditional_probability_alive(1, 30, 30)
print(p_alive1, p_alive2)

输出:

    frequency  recency      T
ID
1 2 30.43 38.86
2 1 1.71 38.86
3 0 0.00 38.86
4 0 0.00 38.86
5 0 0.00 38.86
<lifetimes.BetaGeoFitter: fitted with 2357 subjects, a: 0.79, alpha: 4.41, b: 2.43, r: 0.24>
0.7266084620654866 0.753658243186767

关于python - Python 中 PALIVE 的语法类似于 R 中的 pnbd.PAlive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857571/

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