gpt4 book ai didi

python - 字符串的马尔可夫链

转载 作者:行者123 更新时间:2023-12-01 00:54:27 25 4
gpt4 key购买 nike

我目前正在考虑一个问题,考虑马尔可夫链,输入以字符串列表的形式给出。该输入必须转换为马尔可夫链。我已经在这个问题上思考了几个小时了。

我的想法:正如您在下面看到的,我尝试使用集合中的计数器来对所有转换进行计数,这很有效。现在我正在尝试计算 A 和 B 为第一个元素的所有元组。这给了我 A 的所有可能的转换。

然后我将计算 (A, B) 等转换。然后我想用它们来创建一个具有所有概率的矩阵。

def markov(seq):

states = Counter(seq).keys()
liste = []
print(states)
a = zip(seq[:-1], seq[1:])
print(list(a))

print(markov(["A","A","B","B","A","B","A","A","A"]))

到目前为止,我无法对元组进行计数。任何有关如何解决此问题的帮助或新想法将不胜感激

最佳答案

要对元组进行计数,您可以创建另一个计数器。

b = Counter()
for word_pair in a:
b[word_pair] += 1

b 将保留该对的计数。

要创建矩阵,您可以使用 numpy。

c = np.array([[b[(i,j)] for j in states] for i in states], dtype = float)

我将把每行总和标准化为 1 的任务作为练习。

关于python - 字符串的马尔可夫链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56330105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com