日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python做马尔科夫模型预测法_Python 3 爬虫学习笔记 8 马尔科夫模型

發布時間:2023/12/10 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python做马尔科夫模型预测法_Python 3 爬虫学习笔记 8 马尔科夫模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

此學習筆記整理于 Ryan Mitchell Web Scraping with Python- Collecting Data from the Modern Web (2015) Chapter 8 Reading and writing natural languages

這一章比較有意思,值得一看!

首先上代碼

上面的沒什么可說的,urlopen,read,utf-8 解碼(好像是),str變成文本。

下面的這是一個構造對應字典的函數。哦,差點忘了介紹馬爾科夫模型和這一章作者拿來玩的東西。馬爾科夫模型,我也說不清,大致就是一個分析流程,看A后面可能發生什么東東(BCDEFG等等,各有各的概率),隨機從一個字母開始,隨機生成其跟隨的字母,最后組成一系列流程。作者根據一篇演講(http://pythonscraping.com/files/inaugurationSpeech.txt)分析,看某個單詞后面都跟了哪些單詞,然后再從I 出發,構造一段話。就是I 然后后面隨機選擇一個單詞,比如believe,然后再根據這個believe再隨機選取一個單詞,最后構成一段話。聽起來挺簡單的,大致分析下,流程如下:

1,找到頻率分析文本,我們已經做了

2,構造對應關系,比如I后面都有哪些單詞,出現了幾次之類的

3,隨機生成一個單詞

4,重復2-4 N 次

下面我們看構造對應關系的函數,作者用的是嵌套字典。舉個栗子,{‘我’:{‘愛’:1,‘恨’:1}} 在第一層 的字典‘我’是key,然后value是第二層的字典,里面有兩個key 愛,恨,兩個value 1 1.表示頻次。

8-15很清楚,也有注釋,可以看清楚的。

17行真的是讓我打開眼界啊。還可以這么簡潔地表達!正常應該寫

words=[]

for word in 集合:

if word != ""

words.append(word)

作者四行寫作一行也是讓我看得一個形容詞。

21行到28行:首先,為第一個單詞甲來一個字典A,然后它的value是個字典B,字典B是否包括甲后面的單詞乙。不包括的話加進去,字典B的key就是乙,value設為0,后面加一,沒出現一次再加一。效果是{‘甲’:{‘乙’:1}}

上面完成了步驟2,然后就需要隨機選擇一個了。舉個栗子:{‘我’:{‘愛’:1,‘恨’:1}}。現在需要我們在‘我’的后面隨機選擇一個字。作者用的方法非常巧妙,先算出有多少個字,這個栗子是2個,然后隨機生成數字1或者2,然后用這個1或者2依次減去‘愛’和‘恨’的頻次,出現0或者負數的時候,選取這個key值。比如,生成了1,1-1=0符合條件,那么就選擇‘愛’,生成了2,2-1=1不符合條件,然后再次減去‘恨’的頻次數,1(上一次計算剩下的1)-1(恨的品次數)=0,符合條件就選擇‘恨’了。

這里需要 from random import randint 來生成隨機整數

P.S.:沒能上車的小伙伴歡迎留言,如果我會我直接回答你!如果不會,我谷歌后回答你!如果要加我微信,不行。

總結

以上是生活随笔為你收集整理的python做马尔科夫模型预测法_Python 3 爬虫学习笔记 8 马尔科夫模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。