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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

统计学习方法第十八章作业:PLSA 概率潜在语义分析算法 代码实现

發布時間:2025/3/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 统计学习方法第十八章作业:PLSA 概率潜在语义分析算法 代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PLSA 概率潛在語義分析

import numpy as np import collections import jiebaclass PLSA:def __init__(self,text_list,k):self.k = kself.text_list = text_listself.text_num = len(text_list)self.get_X()def get_X(self):self.cuted_text = [jieba.lcut(text,cut_all=True) for text in self.text_list]self.word_all = []for i in self.cuted_text:self.word_all.extend(i)self.word_set = list(set(self.word_all))self.word_num = len(self.word_set)self.word_dict = {}for index,word in enumerate(self.word_set):self.word_dict[word] = indexself.X = np.zeros((self.word_num,self.text_num))for i in range(self.text_num):count_ = collections.Counter(self.cuted_text[i])for k, v in count_.items():self.X[self.word_dict[k],i] = vdef update_p_z_wd(self):self.z_wd = np.zeros((self.word_num,self.text_num,self.k))for i in range(self.word_num):for j in range(self.text_num):self.z_wd[i,j] = np.array([self.w_z[i]*self.z_d[:,j]]) / np.sum([self.w_z[i]*self.z_d[:,j]])def fit(self,max_iter):self.w_z = np.random.random((self.word_num,self.k))self.z_d = np.random.random((self.k,self.text_num))for iter in range(max_iter):self.update_p_z_wd()for k in range(self.k):for i in range(self.word_num):self.w_z[i,k] = np.sum(self.X[i]*self.z_wd[i,:,k])/\np.sum(self.X*self.z_wd[:,:,k])for j in range(self.text_num):self.z_d[k,j] = np.sum(self.X[:,j]*self.z_wd[:,j,k])/np.sum(self.X[:,j])def main():text_list = ['一個月前,足協杯十六進八的比賽,遼足費盡周折對調主客場,目的只是為了葫蘆島體育場的啟用儀式。那場球遼足50痛宰“主力休息”的天津泰達。幾天后中超聯賽遼足客場對天津,輪到遼足“全替補”,\13輸球,甘為天津泰達保級的祭品。那時,遼足以“聯賽保級問題不大,足協杯拼一拼”作為主力和外援聯賽全部缺陣的理由。','被一腳踹進“忘恩負義”坑里的孫楊,剛剛爬出來,又有手伸出來,要把孫楊再往坑里推。即使是陪伴孫楊參加世錦賽的張亞東(微博)教練,\也沒敢大義凜然地伸出援手,“孫楊愿意回去我不攔”,球又踢給了孫楊。張亞東教練怕什么呢?','孫楊成績的利益分配,以及榮譽的分享,圈里人都知道,拿了世界冠軍和全運冠軍,運動員都會有相應的高額獎金,那么主管教練也會得到與之對應的豐厚獎勵,\所以孫楊獲得的榮譽,也會惠及主管教練。']lsa = PLSA(text_list,k=2)lsa.fit(10)print(lsa.w_z)print(lsa.z_d)if __name__ == '__main__':main()##result------------------------------ Building prefix dict from the default dictionary ... Loading model from cache /var/folders/3w/zr18wp210691hlwzbw96h3fh0000gn/T/jieba.cache Loading model cost 0.689 seconds. Prefix dict has been built successfully. [[4.67969591e-02 3.78213435e-02][6.02791423e-03 6.12287057e-04][6.35791395e-03 2.18506271e-04][6.54102855e-03 1.05119379e-23][6.54102855e-03 9.97133787e-24][6.18450808e-03 4.25427360e-04][5.29082580e-17 3.12210120e-02]……………………[7.27607559e-18 1.56105060e-02][6.54102855e-03 1.71549969e-21]][[6.23685583e-05 9.99991157e-01 8.38329548e-01][9.99937631e-01 8.84278606e-06 1.61670452e-01]]

總結

以上是生活随笔為你收集整理的统计学习方法第十八章作业:PLSA 概率潜在语义分析算法 代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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