情感分析(支持向量机,逻辑回归)

以某宝购物评论为例(表分为好评和差评)

好评
df = pd.read_excel("F:/文本大数据/购物评论.xlsx",sheet_name="正向",header=None)
df

在这里插入图片描述

标记为1
df['class']=1
df.head()

在这里插入图片描述

差评
df1 = pd.read_excel("F:/文本大数据/购物评论.xlsx",sheet_name="负向",header=None)
df1

在这里插入图片描述

标记为0
df1['class']=0
df1.head()

在这里插入图片描述

合并
df2 = df.append(df1,ignore_index=True)
df2

在这里插入图片描述

分词和预处理

import jieba
cuttxt = lambda x:" ".join(jieba.lcut(x))
df2["segment"]=df2[0].apply(cuttxt)
df2.head()

在这里插入图片描述

词袋模型

from sklearn.feature_extraction.text import CountVectorizer
# 词袋模型
countvec = CountVectorizer()
countvec = countvec.fit_transform(df2["segment"])
countvec

在这里插入图片描述

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(countvec,df2['class'],test_size=0)
x_train

在这里插入图片描述

from sklearn.svm import SVC
clf = SVC()# 支持向量机
clf.fit(x_train,y_train)

在这里插入图片描述

clf.score(x_train,y_train)

在这里插入图片描述

这里会花较长的时间,需要耐心等待!
如果想提高准确率可以通过改变参数:

在这里插入图片描述

逻辑回归模型

from sklearn.linear_model import LogisticRegression
logistic = LogisticRegression()
logistic.fit(x_train,y_train)

在这里插入图片描述

logistic.score(x_train,y_train)

在这里插入图片描述

模型评估

SVM
from sklearn.metrics import classification_report
print(classification_report(y_test,clf.predict(x_test)))
s = """输入你想预测的评论"""
s_seg = " ".join(jieba.lcut(s))
s_seg_vec = countvec.transform([s_seg])
result = clf.predict(s_seg_vec)
result
逻辑回归
from sklearn.metrics import classification_report
print(classification_report(y_test,logistic.predict(x_text)))
s = """输入你想预测的评论"""
s_seg = " ".join(jieba.lcut(s))
s_seg_vec = countvec.transform([s_seg])
result = logistic.predict(s_seg_vec)
result
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章