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

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

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

提前致谢

最佳答案

第一步,您可以使用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')

关于python - 马尔可夫链转移矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59620695/

10-11 15:40