如何用weka做预测

How to do prediction with weka

我正在使用 weka 进行一些文本挖掘,我有点困惑,所以我来这里是想问一下我怎么能(用一组评论在某种程度上 class化为:注释、工作状态、不合格、警告)预测新评论是否属于特定 class,所有评论 (9551) 我已经使用过滤器 [=12= 进行了预处理] 一个标记向量,然后我使用简单的 kmeans 获得了一些集群。 所以问题是:如果用户 post 一条新评论,我可以用这些数据预测它是否属于评论类别吗? 对不起,如果我的问题有点混乱,但我也是。 谢谢

简单的训练-验证-测试

  1. 根据您标记的实例创建两个数据集。一个将是训练集,另一个将是验证集。训练集将包含大约 60% 的标记数据,验证集将包含 40% 的标记数据。这种分配没有硬性规定,但 60-40 的分配是一个不错的选择。
  2. 对训练数据使用 K 均值(或任何其他聚类算法)。开发一个模型。记录模型在训练集上的错误。如果错误很低并且可以接受,那你就没事了。保存模型。
  3. 现在,您的验证集将是您的测试数据集。应用您在验证集上保存的模型。记录错误。训练误差和验证误差有什么区别?如果两者都很低,则模型的泛化 "seemingly" 好。
  4. 准备一个测试数据集,其中您拥有训练和测试数据集的所有特征,但 class/cluster 未知。
  5. 在测试数据上应用模型。

10 折交叉验证

  1. 为此任务使用所有标记的数据实例。
  2. 使用 10 倍 CV 设置应用 K-means(或您选择的任何其他算法)。
  3. 记录训练误差和CV误差。他们低吗?误差之间的差异是低的吗?如果是,则保存模型并将其应用于 class/cluster 未知的测试数据。

注意:training/test/validation 错误及其差异会让您对模型的 overfitting/underfitting 有一个 "very initial" 的想法。它们是健全性测试。您需要执行其他测试,例如学习曲线,以查看您的模型是过拟合、欠拟合还是完美。如果出现过拟合和欠拟合问题,您需要尝试许多不同的技术来克服它们。