【问题标题】:How to classify real continuous data for WEKA如何对 WEKA 的真实连续数据进行分类
【发布时间】:2012-04-07 04:02:32
【问题描述】:

这是我的数据

@attribute Service_type {Fund,Loan,CD,Bank_Account,Mortgage}
@attribute Customer {Student,Business,Other,Doctor,Professional}
@attribute Monthly_fee real
@attribute Advertisement_budget real
@attribute Size {Small,Large,Medium}
@attribute Promotion {Web&Email,Full,Web,None}
@attribute Interest_rate real
@attribute Period real
@attribute Label real

这是对应的一行。

Fund,Student,0.64,0.95,Small,Full,0,10,26.72

问题是我想预测真实的 LABEL 属性,但 weka 没有给我 J48 决策树的选项。

我得到这个提示,我需要将我的 LABEL 属性分类为范围,例如 LABEL 大于 25 && LABEL 小于 30 为 C1 以此类推。

我的问题是,对于 J48 是否有任何其他方法可以做到这一点,或者是否有任何特定的方法或理由来至少对数据进行分类?

【问题讨论】:

    标签: machine-learning weka


    【解决方案1】:

    您必须定义“对数据进行分类”的含义,因为这在实值类标签的上下文中是模棱两可的。如果假设的分类器为您的示例行预测 Label=26.7200000000001,那应该被认为是正确的吗?如果是这样,那在多大程度上不再正确?如果不是这样,您可能会因为计算机处理实数的固有性质而被搞砸了。

    J48 没有(也不能真正)解决这些问题。它需要有限数量的值可供选择。正如您的提示所说,执行此操作的传统方法是离散化变量。因此,不是有无限数量的标签,而是有一个标签用于“0

    如果您不想像那样离散化输出变量,另一种方法是将其视为回归问题而不是分类问题。在那里,目标是输出一个实数,以使某些误差度量(例如,整个训练集的均方误差)最小化。 J48 不是这种方法的好选择。我对 Weka 做的不多,但似乎 weka.classifiers.functions 命名空间拥有对回归模型的基本 Weka 支持。或者,如果您想坚持使用基于决策树的东西,您可以查看weka.classifiers.trees.M5P

    请注意,这并不是我真正的专业领域,但由于您在 18 小时左右没有收到任何其他答案,我认为这可能会有所帮助。请记住,如果您看到与我相矛盾的内容,请不要自动认为我的细节是正确的。

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 2015-02-01
      • 2015-10-04
      • 2017-03-17
      • 2017-04-24
      • 2023-04-06
      • 1970-01-01
      • 2018-12-26
      • 2012-10-13
      相关资源
      最近更新 更多