我正在寻找一种方法来计算从一个电子商务网站的客户交易列表的马尔可夫转移矩阵。
基本上,我需要一个n×n矩阵,n是购买产品的数量,在每一行中都有购买产品1的概率,我有X购买产品2的概率,y再次购买产品1的概率,等等。我们可以假设初始状态是一个数组,其中产品1的值为1,所有其他产品的值为0(我们现在刚刚购买了产品1)。
有没有某种python包可以为我提供购买数据来计算转移矩阵的概率?在我看到的所有例子中,人们只是提供了一个预先计算的矩阵。
提前感谢
发布于 2020-01-07 08:49:15
作为第一步,您可以使用markovchain包。你可以找到关于这个包的更多细节,here.You可以使用pip install markovchain安装它,然后通过训练一个基于文本的马尔可夫模型来计算转换矩阵。例如:
from markovchain.text import MarkovText, ReplyMode
markov = MarkovText()
with open('data.txt') as fp:
markov.data(fp.read())
with open('data2.txt') as fp:
for line in fp:
markov.data(line, part=True)
markov.data('', part=False)
print(markov())
print(markov(max_length=16, reply_to='sentence start', reply_mode=ReplyMode.END))
markov.save('markov.json')
markov = MarkovText.from_file('markov.json')https://stackoverflow.com/questions/59620695
复制相似问题