WEKA中多类的回归

时间:2013-10-08 04:37:26

标签: machine-learning classification weka regression

假设我有一个四类问题,其连续输出值在同一范围内。 (假设在10-50之内)。如果我将所有班级数据(训练数据)放在一个单独的.csv文件(对于WEKA)中,每个训练样本都有连续输出......那么我的回归模型将如何告诉我输出(连续)获得的是哪一类?我想同时量化多类输入数据

1 个答案:

答案 0 :(得分:0)

我现在仍然完全确定你的问题是什么,但是我假设你有四个数据集,每个数据集都有一个回归问题,并且你想对累积数据集进行回归并期望模型不仅仅是恢复回归值,但也恢复“来源”。

  1. 在天真的实施中(只是连接数据),不可能,因为您将丢失有关数据源的任何信息
  2. 您可以增加输出值,因此您还可以添加另一个值来指示它来自哪个集合,而不仅仅是“Y”(回归值),例如:
  3. Set1:
    x11 -> y11
    
    Set2:
    x21 -> y21
    
    Set3:
    x31 -> y31
    
    Set4:
    x41 -> y41
    

    将其转换为

    Big set: 
    x11 -> (y11,1)
    x21 -> (y21,2)
    x31 -> (y31,3)
    x41 -> (y41,4)
    

    或以一元编码

    Big set: 
    x11 -> (y11,1,0,0,0)
    x21 -> (y21,0,1,0,0)
    x31 -> (y31,0,0,1,0)
    x41 -> (y41,0,0,0,1)
    

    这样,经过训练,您不仅可以检索回归值,还可以检索源数据集(您称之为“类”)。

    当然最简单的解决方案是构建两个单独的模型,一个用于回归,一个用于分类,这样您就可以使用为这些任务设计的模型(同时使用一个模型需要为at选择一些次优解决方案)至少一部分)。

    Big set regression: 
    x11 -> y11
    x21 -> y21
    x31 -> y31
    x41 -> y41
    
    Big set classification: 
    x11 -> 1
    x21 -> 2
    x31 -> 3
    x41 -> 4
    

    创建这样的“大集”而不是处理小集合是否有益的问题等同于回答这个问题:

      

    回归的值在每个子问题中都有非常相似的预测值

    所以 - 如果你有合理的理由,那么在每个子问题中,这个特征可以以类似的方式导出(因为它对应于一些独立于你的数据分裂的物理现象),那么是的,这是一个很好的方法。虽然只有在训练集非常有限的情况下才应采取这些步骤 - 假设有足够的数据,最好假设每个子问题具有不同的特征,以防止模型偏差。最后,“最终”答案是“检查两种方法并评估其表现更好”(例如使用交叉验证),这也可以让您深入了解此值是否在子集中真正独立。