我正在寻找一种从电子商务网站的客户交易列表中计算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')