我一直在尝试在python中建立文本分类,以确定有关灾难的高音帖子。它必须确定有关灾难的帖子是正面的还是负面的。我已经成功集成了数据收集并将其保存到文本文件中。
不幸的是,每次我检查收集到的数据的准确性时,它总是返回0.0。很抱歉,因为我是这种技术的新手。
有人可以帮助我确定为什么结果总是以0结尾吗?
这是我得到的data.txt
和labels.txt
这是我用来确定模型准确性的代码
#!/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)
自昨天以来,我一直在试图理解和调试它,但是仍然没有运气。