weka 中的机器学习分类和预测

Posted

技术标签:

【中文标题】weka 中的机器学习分类和预测【英文标题】:Machine Learning Classification and predication in weka 【发布时间】:2016-02-25 01:18:57 【问题描述】:

我对机器学习很陌生。对不起,如果我的英语有任何错误。

我正在使用 weka J48 分类来预测真假。我有将近 999K 的训练集用于训练模型。我使用了 3 折交叉验证方法来训练模型,其准确率约为 84%。

现在在存储模型之后。我试图在 50k 数据集上对其进行测试。这给出了非常糟糕的结果,其中 50% 是不匹配的。我有 11 个带有名义和数字字段的属性。

我不知道为什么会这样。

我有两个问题。

    如何训练才能在测试集上表现得更好。 可能存在哪些问题。

我在 java 中使用 weka api。

【问题讨论】:

您是如何选择 50K 集进行测试的? 其实我用了30天的训练数据和1天的数据进行测试和预测。 你是如何获取1天的测试数据的? 我正在获取 CSV 文件,然后将其转换为 ARFF。 【参考方案1】:

这意味着您的模型对于您的 999k 训练集是 overfit,并且不能很好地推广到您的 50k 测试集。

除了 999k 之外,您还应该考虑使用 50k 数据集的(很大一部分,但不是全部)进行交叉验证。

您可能还想尝试比 k=3、k 折交叉验证更高的方法,因为 k=3 折可能过于“粗略”。祝你好运!

【讨论】:

谢谢,我使用 999K 的 1/3 进行 2/3 测试,然后使用测试数据集进行预测。你到底建议什么。你能否详细说明一下。我该如何处理这个过度拟合的问题。我认为用于训练的数据越多,我会得到更好的结果。 (阅读上面的 cmets)你一天用于测试和预测的数据,不像过去 30 天用于训练的那样“表现”。那么,您如何混合使用所有日子的数据,按 AM/PM 或按小时分隔?这样,您用于测试/预测的那一天的任何特征也可以正确建模/训练。您可能还想在机器学习特定论坛上提出更具体的问题。干杯! 我正在尝试根据基于历史数据的模型来预测未来的结果。所以,我不能把这两个混在一起。如果您知道的话,您能否推荐一些可以处理大量决策树数据集的工具。再次感谢,干杯 我个人使用scikit-learn.org/stable,但我认为你的工具或数据大小不是问题,从根本上说你必须问你的建模方式是否有意义,你是否捕获了正确的特征以及使您的模型有利于预测(未来结果)的日期范围。如果今天使用您今天训练的功能与明天有很大不同,那么您将无法可靠地预测明天。您想要寻找泛化良好的特征和模型。祝你好运

以上是关于weka 中的机器学习分类和预测的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android上使用Weka的机器学习模型来预测新值?

如何为机器学习和预测构建良好的训练数据集?

扫一扫所有机器学习分类器?

零基础学Python--机器学习:机器学习算法和开发

机器学习

如何将 WEKA 机器学习用于贝叶斯神经网络和 J48 决策树