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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

基于朴素贝叶斯的书籍评价信息分类

發布時間:2024/1/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于朴素贝叶斯的书籍评价信息分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 中文文本數據集預處理

假設現在需要判斷一封郵件是不是垃圾郵件,其步驟如下:

(1) 數據集拆分成單詞,中文分詞技術;

(2) 計算句子中總共多少單詞,確定詞向量大小;

(3) 句子中的單詞轉換成向量,BagofWordsVec;

計算 P(Ci),P(Ci|w)=P(w|Ci)P(Ci)/P(w),表示 w 特征出現時,該樣本被分為 Ci 類的條

件概率;

判斷 P(w[i]C[0])和 P(w[i]C[1])概率大小,兩個集合中概率高的為分類類標。

下面講解一個具體的實例。

2 數據集讀取

假設存在如下所示 10 條 Python 書籍訂單評價信息,每條評價信息對應一個結果(好評

和差評),如下圖所示:

?

3、代碼實現

#-*-coding:utf-8-*- import pandas as pd import jieba from sklearn.feature_extraction.text import CountVectorizer data=pd.read_csv('./data.csv',encoding='ansi') #確定特征值與目標 feature=data.loc[:,'內容 '] target=data.loc[:,'評價'] #將特征值與目標值轉化為數值類型 data.loc[data.loc[:,"評價"]=='好評','評價']=0 data.loc[data.loc[:,"評價"]=='差評','評價']=1 #將object轉化為int類型 data.loc[:,'評價']=data.loc[:,'評價'].astype('int') #轉化特征值為數值型 content_list=[] for tmp in data.loc[:,'內容 ']:res=jieba.cut(tmp,cut_all=False)#組裝分詞res_str=','.join(res)content_list.append(res_str) #print(content_list) #處理停用詞 stop_words=[] with open('./stopwords.txt',encoding='utf-8')as f:lines=f.readlines()for line in lines:line_obj=line.strip()#去除空格stop_words.append(line_obj) #去除重復的停用詞 stop_words=list(set(stop_words)) print(stop_words) #進行統計詞數 con_vet=CountVectorizer(stop_words=stop_words) #統計分詞 X=con_vet.fit_transform(content_list) #獲取分詞結果 names=con_vet.get_feature_names() print(names) #print(X.toarray()) #將特征值與目標值組成完整的數據 import numpy as npnew_data=np.concatenate((X.toarray(),data.loc[:,'評價'].values.reshape((-1,1))),axis=1) #數組拼接concatenate print(new_data)

?

總結

以上是生活随笔為你收集整理的基于朴素贝叶斯的书籍评价信息分类的全部內容,希望文章能夠幫你解決所遇到的問題。

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