训练贝叶斯分类器

Training Bayesian Classifier

我正在尝试在 Python 中训练和测试贝叶斯分类器。

这些代码行来自我找到的一个示例 here,但我不明白它们的作用。

train_labels = np.zeros(702)
train_labels[351:701] = 1
train_matrix = extract_features(train_dir)

后面的测试集中有类似的代码块:

test_matrix = extract_features(test_dir)
test_labels = np.zeros(260)
test_labels[130:260] = 1

想知道它的作用以及如何将它应用于不同的分类示例? []中的数字是什么意思? 非常感谢

您的 post 中引用的示例代码正在使用 Naive-Bayes 和 SVC 模型训练二元分类器。

train_labels = np.zeros(702)
train_labels[351:701] = 1
train_matrix = extract_features(train_dir)

这是为初始全0的702条记录设置标签。并将后半部分设置为 1。二进制标签,如:垃圾邮件或火腿、真或假等。 extract_features 构建 {(docid, wordid)->wordcount,..} 作为这些模型的输入。

训练模型后,您需要查看它在测试集上的表现如何。在这里,您使用 260 条记录作为测试集,前半部分全为 0,后半部分全为 1。

test_matrix = extract_features(test_dir)
test_labels = np.zeros(260)
test_labels[130:260] = 1

最后,您 运行 针对测试集进行预测,并评估这两个模型(NB 和 SVC)与 test_set 的准确性有多接近。