简体   繁体   English

如何在 Python 中为字符串数据构建马尔可夫决策过程 model?

[英]How to build Markov Decision Processes model in Python for string data?

I have a dataset containing data which are represented via URI.我有一个包含通过 URI 表示的数据的数据集。 I'd like to model the data that can predict the predecessor and successor of a data sample from my sequential data.我想要 model 可以从我的顺序数据中预测数据样本的前导和后继的数据。 Dataset looks like this:数据集看起来像这样: 顺序数据集

eg given "HTTP://example.com/112", the model generates "HTTP://example.com/296" as predecessor and "HTTP://example.com/322" as successor.例如给定“HTTP://example.com/112”,model 生成“HTTP://example.com/296”作为前导,“HTTP://example.com/322”作为后继。 I'd like to build a Markov Decision Process model for this dataset to get the aforementioned result.我想为此数据集构建马尔可夫决策过程 model 以获得上述结果。 That would be great if anyone can help me find a suitable package for Python. I checked "hmmlearn" package with which I can implement a hidden Markov model. But my data doesn't have hidden states.如果有人能帮我找到适合 Python 的 package,那就太好了。我检查了“hmmlearn”package,用它我可以实现一个隐藏的马尔可夫 model。但我的数据没有隐藏状态。 Also, I'm not sure if I should convert these data to numerical data and then I am able to build a Markov model.另外,我不确定是否应该将这些数据转换为数值数据,然后我才能构建马尔可夫 model。

Thank you in advance!先感谢您!

If there are no hidden states, you have a Markov Chain.如果没有隐藏状态,则您有一个马尔可夫链。 They are not hard to implement on your own, but if you want a library, there is pomegranate:它们不难自己实现,但如果你想要一个库,石榴:

from pomegranate import MarkovChain
#say you have two sequences of clicks:
sequences = [['uri1', 'uri5', 'uri3', 'uri5'], ['uri2', 'uri3', 'uri1', 'uri2']]
model = MarkovChain.from_samples(sequences)

Learned transition probabilities:学到的转移概率:

print(model.distributions[1])
uri5    uri5    0.0
uri5    uri3    1.0
uri5    uri1    0.0
uri5    uri2    0.0
uri3    uri5    0.5
uri3    uri3    0.0
uri3    uri1    0.5
uri3    uri2    0.0
uri1    uri5    0.5
uri1    uri3    0.0
uri1    uri1    0.0
uri1    uri2    0.5
uri2    uri5    0.0
uri2    uri3    1.0
uri2    uri1    0.0
uri2    uri2    0.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM