Python 马尔可夫链转移矩阵

Python 马尔可夫链转移矩阵,python,matrix,probability,hidden-markov-models,markov-chains,Python,Matrix,Probability,Hidden Markov Models,Markov Chains,我正在寻找一种方法来计算一个马尔可夫转移矩阵从一个电子商务网站的客户交易清单 基本上,我需要一个nxn矩阵,其中n是购买产品的数量,在每一行中有购买产品1的概率,我有购买产品2的X概率,再次购买产品1的y概率,依此类推。我们可以假设初始状态是一个数组,产品1上有一个1,其他所有产品上有一个0(我们现在刚买了产品1) 是否有某种python包能够为我计算传递购买数据的转移矩阵概率?在我看到的所有例子中,人们只是在输入一个预先计算好的矩阵 提前感谢作为第一步,您可以使用markovchain软件包。

我正在寻找一种方法来计算一个马尔可夫转移矩阵从一个电子商务网站的客户交易清单

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

是否有某种python包能够为我计算传递购买数据的转移矩阵概率?在我看到的所有例子中,人们只是在输入一个预先计算好的矩阵


提前感谢

作为第一步,您可以使用
markovchain
软件包。您可以找到有关此软件包的更多详细信息。您可以使用
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')

作为第一步,您可以使用
markovchain
package。您可以找到有关此软件包的更多详细信息。您可以使用
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')