训练贝叶斯分类器

问题描述 投票:1回答:1

我正在尝试用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

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

python-3.x naivebayes
1个回答
1
投票

您的帖子中引用的示例代码是使用Naive-Bayes和SVC模型训练二进制分类器。

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

这是为702条记录设置标签,最初为0。并将后半部分设置为1.二进制标签,例如:垃圾邮件或火腿,真或假等.lextra_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的准确度有多接近。

© www.soinside.com 2019 - 2024. All rights reserved.