2015-03-02 136 views
0

所以这个问题可能看起来有点愚蠢,但我无法把头围住它。 测试数据的目的是什么?只是计算分类器的准确性?我正在使用朴素贝叶斯对推文进行情感分析。一旦我使用训练数据训练分类器,我只使用测试数据来计算分类器的准确性。如何使用测试数据来提高分类器的性能?监督学习中的测试数据的目的?

回答

0

你不 - 喜欢你猜测,测试数据用于测试,不得用于其他任何东西,以免你倾斜你的测量精度。这是任何机器学习的重要基石 - 如果您使用测试数据进行培训,则只会欺骗自己。

如果你正在考虑这样的孤注一掷的措施,提出了正确的解决方法通常是重新审视你的问题的空间,你有解决方案。它是否充分模拟了您正在尝试解决的问题?如果不是,你能设计一个更好的模型来捕捉问题的本质吗?

机器学习是不是银弹。它不会为你解决你的问题。太多失败的实验一遍又一遍地证明,“垃圾进入垃圾”。

+0

所以,增加我的训练集是提高我的分类性能的唯一途径? – CSK 2015-03-02 05:48:25

+0

更好的模式通常是获得实质性改进的唯一方法,这似乎就是您所问的。使用更好的功能,或者如果幸运的话,可以降低噪音功能;或者尝试一种完全不同的方法。 – tripleee 2015-03-02 05:50:37

+0

我尝试从推文中剥离名词和符号,但结果并不理想。如果你不介意,你可以建议任何其他改进以获得更好的功能吗? – CSK 2015-03-02 06:46:53

1

在这样做的一般监督的机器学习,测试数据集在决定模型的效果如何关键的作用。您通常会建立一个模型,其中包含您输入数据的90%,并留下10%用于测试。然后通过观察它对10%训练集的效果,来检查该模型的准确性。模型对测试数据的性能是有意义的,因为模型从未“看到”过这些数据。如果模型在统计上是有效的,那么它应该在训练和测试数据集上表现良好。这个通用程序被称为交叉验证,你可以阅读更多关于它here

+0

你将你的设置到动车组+ DEV-测试设置如[这](http://stackoverflow.com/questions/10059594/a-simple-explanation-of-naive-bayes-classification) – CSK 2015-03-02 06:29:33

+0

我不没有任何与朴素贝叶斯合作的经验,但我曾广泛地使用决策树(以及一些SVM)。您所介绍的文章看起来就是您正在做的事情。 – 2015-03-02 06:44:14