微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将情感分析模型应用于 Python 中的 1 个气味?

如何解决如何将情感分析模型应用于 Python 中的 1 个气味?

我制作了不同的模型来预测评论是正面的还是负面的(情绪)。现在我想测试不同的模型或只有一种气味的单一模型(例如“食物是美味”)。我该怎么做?

我的代码如下:

# Train model with vectorizer and classifier
# Random Forest
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report

from sklearn.pipeline import Pipeline
from sklearn.metrics import confusion_matrix,classification_report

RandomForestClassifier = RandomForestClassifier()
LogisticRegression = LogisticRegression(solver = "lbfgs")
LinearSVC = LinearSVC()
KNeighborsClassifier = KNeighborsClassifier(n_neighbors=5)
clf_list = [RandomForestClassifier,LogisticRegression,LinearSVC,KNeighborsClassifier]
# Model training
from sklearn.model_selection import train_test_split

Independent_var = reviews_english['Review Gast']
Dependent_var = reviews_english['sentiment'] # positive or negative

IV_train,IV_test,DV_train,DV_test = train_test_split(Independent_var,Dependent_var,test_size = 0.2,random_state = 500 )

print('IV_train :',len(IV_train))
print('IV_test :',len(IV_test))
print('DV_train :',len(DV_train))
print('DV_test :',len(DV_test))

tvec_1 = TfidfVectorizer (lowercase=True,stop_words=STOPWORDS,ngram_range=(1,2))
#tvec_1 = TfidfVectorizer (binary=True,norm=False,use_idf = False,smooth_idf=False,lowercase=True,stop_words='english',min_df=1,max_df=1.0,max_features=None,1))

for n,clf in enumerate(clf_list):

  model_tvec1 = Pipeline([('vectorizer',tvec_1),('classifier',clf)])

  # Model learning
  model_tvec1.fit(IV_train,DV_train)

  # Model prediction on training and test data
  pred_train_tvec1 = model_tvec.predict(IV_train)
  pred_test_tvec1 = model_tvec.predict(IV_test)

  # Performances
  report_training_tvec1 = classification_report(DV_train,pred_train_tvec1)
  report_test_tvec1 = classification_report(DV_test,pred_test_tvec1)
  print("*************************" " Training report",clf,"*********************")
  print(report_training)

  print("*************************" " Test report","*********************")
  print(report_test)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。