前面我们已经训练好词向量了,利用Word2vec将旅游评论数据转化为词向量,也有用最大熵模型来训练模型,利用最大熵模型来训练词向量,这次我们试着用KNN和贝叶斯来做。其实也就是调模型,也没有技术含量,所以直接上代码吧,不解释。
print("knn")
neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(x_train, y_train)
y_pred=neigh.predict(x_test)
# print(neigh.predict_proba([[0.9]]))
target_name = ['score 0','score 1','score 2','score 3','score 4','score 5']
print(classification_report(y_test,y_pred, target_names=target_name))
#贝叶斯模型
print("bayes")
gnb = GaussianNB()
y_pred = gnb.fit(x_train, y_train).predict(x_test)
# print("Number of mislabeled points out of a total %d points : %d"
# % (iris.data.shape[0],(iris.target != y_pred).sum()))
target_name = ['score 0','score 1','score 2','score 3','score 4','score 5']
print(classification_report(y_test,y_pred, target_names=target_name))
训练的结果为
结果不是很理想,等实训结束后再调调吧。
文章代码已上传到github上,传送门