Java,Weka:如何预测数字属性?

时间:2013-04-25 18:52:09

标签: machine-learning weka bayesian

我试图使用Weka的NaiveBayesUpdateable分类器。我的数据包含名义和数字属性:

  @relation cars
  @attribute country {FR, UK, ...}
  @attribute city {London, Paris, ...}
  @attribute car_make {Toyota, BMW, ...}
  @attribute price numeric   %% car price 
  @attribute sales numeric   %% number of cars sold

我需要根据其他属性预测销售数量(数字!)。

据我所知,我不能在Weka中使用数字属性进行贝叶斯分类。 一种技术是在长度为k的N个区间中拆分数值属性的值,而使用标称属性,其中n是类名,如下所示:@attribute class {1,2,3,... N}。

我需要预测的数字属性范围从0到1 000 000.创建1 000 000个类根本没有意义。 如何使用Weka预测数字属性或者在Weka没有用于此任务的工具的情况下查找哪些算法?

2 个答案:

答案 0 :(得分:0)

这根本不是分类问题。您应该使用regression模型,例如LinearRegression

答案 1 :(得分:0)

正如@larsmans所说,它不是分类,而是回归模型。问题是回归只适用于数字数据。分类数据的标准方法是使用所谓的dummy variables。每个虚拟变量代表一个分类变量状态,并且是1或0.因此,您的属性列表可能会更改为以下内容:

@relation cars
@attribute country_FR
@attribute country_UK
...
@attribute city_London
@attribute city_Paris
...

例如,如果city为London,则变量city_London将设置为1,所有其他city_*变量将设置为0.