使用SVM和NB算法在高音扬声器收集的数据中准确性分数始终返回0.0

时间:2018-09-16 04:54:37

标签: python nlp

我一直在尝试在python中建立文本分类,以确定有关灾难的高音帖子。它必须确定有关灾难的帖子是正面的还是负面的。我已经成功集成了数据收集并将其保存到文本文件中。

不幸的是,每次我检查收集到的数据的准确性时,它总是返回0.0。很抱歉,因为我是这种技术的新手。

有人可以帮助我确定为什么结果总是以0结尾吗?

这是我得到的data.txt

enter image description here

和labels.txt

enter image description here

这是我用来确定模型准确性的代码

#!/usr/bin/env python
# coding: utf-8
from sklearn.preprocessing import MultiLabelBinarizer
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.naive_bayes import BernoulliNB

with open("data.txt") as f:
    datas = f.read().split("\n")
with open("labels.txt") as f:
    labels = f.read().split("\n")

data = [datas.split() for datas in datas]

pred = MultiLabelBinarizer()
pred.fit(data)

X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.15, random_state=True)

lsvm = LinearSVC()
lsvm.fit(pred.transform(X_train), y_train)

bnbc = BernoulliNB(binarize=None)
bnbc.fit(pred.transform(X_train), y_train)


svmScore = lsvm.score(pred.transform(X_test), y_test) * 100
print("SVM Accuracy: ", svmScore)

NBscore = bnbc.score(pred.transform(X_test), y_test) * 100
print("Naive Bayes: ", NBscore)

自昨天以来,我一直在试图理解和调试它,但是仍然没有运气。

0 个答案:

没有答案