我有一个包含10列的.csv文件。前9列与特定项目的属性相关,而第10列是“Class”,表示这是哪种项目。
我试图运行以下分类器 –
- 朴素贝叶斯
- ZeroR
- IBK
- 神经网络
我在尝试继续进行时遇到了一些麻烦。我应该将数据分成两半 – 前一半用于训练,并使用后一半的数据来测试结果。
我首先进入“Explorer”并打开.csv文件。我选择了所有属性,包括“CLASS”,然后转到分类标签页。
在那里,我选择了“百分比分割”为50%,然后简单地“开始”不同的分类器(如前所述)。
所以这些是我的问题 –
- 这种方法正确吗?
- 我是否也需要将“CLASS”列作为属性包含在内?
- 在不更改数据的情况下,我可以在GUI中进行哪些修改来改善分类器的测试结果?我也想了解这些算法在WEKA中的工作原理,因此想尝试不同的事情。
谁能帮我解决这个问题?
谢谢!
回答:
- 是的,这种方法是正确的(至少对于WEKA来说)。
- 是的,你需要包含CLASS。特别是对于需要监督训练的算法。它用于训练算法。如果没有它,训练器如何知道答案应该是什么?
- 你可以尝试调整参数,但你应该这样做以获得对训练数据更好的响应。当然,总是存在过拟合的可能性。如果你允许测试影响训练,那么你只是将测试数据用作辅助训练集——它不再是测试数据了。
有人在这里问了一个类似的问题如何构建一个好的机器学习和预测的训练数据集?它们看起来是不同的问题,但涉及相同的考虑因素。