我在Python中尝试使用PCA和朴素贝叶斯分类器。
简而言之,使用数字灰度图像数据库,我用PCA缩小尺寸,然后使用Naive Bayes进行分类。
我分别使用2,4,10,30,60,200,500,784个组件。 我得到的分类错误率分别是: 0.25806452,0.15322581,0.06290323,0.06451613,0.06451613,0.10322581,0.28064516和0.31774194。我认为采用更多组件总能提高分类的准确性。这是真的?如果是这样,那我就做错了。
答案 0 :(得分:1)
我认为您的问题没有一个有效的答案,但减少输入的维数可以防止过度拟合。更多功能并不总能使您的分类器更准确。您可以在此处查看详细说明:http://www.visiondummy.com/2014/04/curse-dimensionality-affect-classification/
答案 1 :(得分:1)
确实减少尺寸可以减少过度拟合,但总是存在最佳组件数,如果不向数据集添加其他数据,则可以提供最佳精度。在您的情况下,它 10 ,因为它提供的0.06290323
错误率最低。因此,如果您要增加维度,则还应增加用于培训的数据集,以期望更高的准确性。否则,您应该在它附近尝试Grid search以获得更高的准确性。
此外,如果您的数据集是平衡的,那么accuracy
可能是评估您的表现的一个很好的衡量标准。如果数据集不平衡,请尝试Precision,Recall或f-score。
如果仍然存在,您对分类器不满意使用其他分类算法。