如何从CSV文件训练和测试简单的二进制分类器?

时间:2020-10-27 14:45:22

标签: python csv classification svm naivebayes

我制作了一个下面的CSV文件,其中包含推文bigram,我想训练一个模型来预测标签。我在网上找到的大多数示例都包含带有附加参数的数字功能,这很难理解。在这里,我问了一个非常简单的示例,以了解应该使用python(使用scikit-learn之类的库)使用此最简单的CSV数据集训练和测试分类模型(任何模型)的确切方法。

bigram, label
I love, 0
love you, 0
I hate, 1
hate you, 1
...

我希望这篇文章也对其他机器学习初学者有所帮助。

2 个答案:

答案 0 :(得分:1)

您正在尝试解决NLP问题。典型的机器学习算法不适用于文本。您需要将此文本转换为数字。 Python Spacy或NLTK库旨在解决此问题。通常,它将创建单词词汇,并且每个单词都将分配给一个数字。这意味着输入将连接到数字列表,并且可以应用算法。

答案 1 :(得分:0)

这又是示例代码,但是,还有更多示例代码。

from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.svm import LinearSVC

# Naïve Bayes:
text_clf_nb = Pipeline([('tfidf', TfidfVectorizer()),
                     ('clf', MultinomialNB()),
])

text_clf_nb.fit(X_train, y_train)

predictions = text_clf_nb.predict(X_test)