我从here找到了一个很好的 Naive Bayes Classifier 示例。我无法理解这些步骤。
from nltk.classify import SklearnClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.svm import SVC
train_data = [({"a": 4, "b": 1, "c": 0}, "ham"),
({"a": 5, "b": 2, "c": 1}, "ham"),
({"a": 0, "b": 3, "c": 4}, "spam"),
({"a": 5, "b": 1, "c": 1}, "ham"),
({"a": 1, "b": 4, "c": 3}, "spam")]
classif = SklearnClassifier(BernoulliNB()).train(train_data)
test_data = [{"a": 3, "b": 2, "c": 1},
{"a": 0, "b": 3, "c": 7}]
classif.classify_many(test_data)
['ham', 'spam']
classif = SklearnClassifier(SVC(), sparse=False).train(train_data)
classif.classify_many(test_data)
['ham', 'spam']
什么是:
基本目的是了解ML算法的工作原理。 我是情感分析的新手。我希望有人会帮忙。
答案 0 :(得分:1)
您发布的代码示例使用无意义数据来训练分类器。
什么是:
- 上面代码中的功能?
- " a":4," b":1," c":0?
- ham,垃圾邮件?
醇>
数组train_data
包含名为" a"," b"和" c"的功能。
分类类别是" ham"和#"垃圾邮件"。情感分析可能会使用类别"积极"和"否定"。
- 情绪的实际数据?
醇>
此演示中没有实际的情绪数据。
请注意,您无法从此代码段了解学习算法的工作原理。它只是向您展示训练分类器的黑匣子的API。要了解机器学习,请阅读有关培训的工作原理。要学习如何训练分类器(不知道训练如何在幕后工作),请从NLTK书的Chapter 6开始。