简单的文本情感分析项目总结

2020-04-28  本文已影响0人  番茄酱的汪

简介

主要的步骤

  1. 数据的抓取:通过爬虫抓取相关文本数据
  2. 数据的清洗/预处理:
  1. 文本转化成向量(特征工程)。
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_model = TfidfVectorizer().fit(train_comments_cleaned)
X_train =  tfidf_model.transform(train_comments_cleaned)# 训练数据的特征
y_train =  train_labels# 训练数据的label
X_test =   tfidf_model.transform(test_comments_cleaned)# 测试数据的特征
y_test =   test_labels# 测试数据的label

print(X_train[0],y_train[0])
print (np.shape(X_train), np.shape(X_test), np.shape(y_train), np.shape(y_test))

注意:对于训练数据调用fit_transform, 也就是训练的过程。但是我们要用训练集取训练模型,将测试集进行转化。

  1. 模型选择与参数选择。(与一般的建模过程一样)
from sklearn.model_selection import GridSearchCV
from sklean.linear_model import LogisticRegression
# 定义需要的超参数
params_c = np.logspace(-1,1,20)  #0.01~10,20步
lr = LogisticRegression(penalty = 'l2')
# 三折交叉验证集,评价指标是f1-score
grid_model = GridSearchCV(lr,{'C':params_c},cv = 3,n_jobs = -1,scoring = 'f1')
grid_model.fit(X_train,y_train)
# best_params_就是网格搜索找到的最佳参数
print(grid_model.best_params_)
# 直接再这个网格搜索的最佳结果模型上面进行预测测试集
predictions = grid_model.predict(X_test)

同理,其他的模型也是一样的。

  1. 模型评价。
from sklearn.metrics import classification_report
print(classification_report(y_test, predictions))
image.png
上一篇 下一篇

猜你喜欢

热点阅读