马尔可夫链转移矩阵

问题描述 投票:0回答:1

我正在寻找一种从电子商务网站的客户交易列表中计算Markov过渡矩阵的方法。

[基本上,我需要一个nxn矩阵,其中n是所购买产品的数量,并且在每一行中都可以说是购买产品1的概率,我有X购买产品2的概率,y具有购买产品1的概率。再次,依此类推。我们可以假定初始状态是一个数组,其中产品1上为1,而所有其他产品上为0(我们现在才购买产品1)。

是否有某种python软件包能够为我提供购买数据来计算转换矩阵概率?在我看到的所有示例中,人们只是在提供预先计算的矩阵。

提前感谢

python matrix probability hidden-markov-models markov-chains
1个回答
0
投票

第一步,您可以使用markovchain软件包。您可以找到有关此软件包here的更多详细信息。您可以使用pip install markovchain进行安装,然后通过训练基于文本的Markov模型来计算转换矩阵。例如:

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')
© www.soinside.com 2019 - 2024. All rights reserved.