在这种情况下可以使用哪些机器学习算法?

时间:2012-12-19 04:20:57

标签: machine-learning weka prediction

我的数据由以下对象组成。

Obj1 - 颜色 - 形状 - 尺寸 - 价格 - 排名

所以我希望能够预测颜色/形状/尺寸/价格的组合是一个很好的组合,以获得高排名。或者甚至组合可以像以下一样工作:为了获得良好的排名,alg预测这种颜色和这种形状的最佳性能。这样的事情。

这种预测的可行算法是什么?

如果你可以简单解释一下我如何接近模型构建,我也会非常感激。比如说:我的数据看起来像

Blue pentagon small $50.00 #5
Red  Squre    large $30.00 #3

那么我应该看一下有用的预测模型是什么?我应该尝试预测哪种算法,比如说最高权重是价格,然后是颜色,然后是尺寸。如果我想像红色小形状一样预测组合比粉红色小形状更不可能更高等级。 (本质上是尝试组合多个名义值列来进行预测)

2 个答案:

答案 0 :(得分:2)

听起来你想要学习你可以解释为人类的模型。根据您的排名变量的类型,可能会有许多不同的学习者。

如果排名是绝对的(例如星星),分类器可能是最好的。 Weka中有很多。有些人能够理解人类可以理解的模型是J48决策树学习者和OneR规则学习者。

如果排名是连续的(例如分数),则回归可能更合适。合适的算法例如是SimpleLogisticLinearRegression

或者,您可以尝试使用Weka中的任何算法对示例进行聚类,然后分析聚类。也就是说,理想情况下,集群中的示例都具有相同(或非常相似)的排名,您可以查看其他属性的值范围并得出自己的结论。

答案 1 :(得分:0)

将组合视为线性方程,并应用蒙特卡罗算法(如遗传算法)来调整方程的参数。


  1. 代码将颜色/形状/尺寸/价格/排名转换为数字值。

  2. 将组合视为线性方程式,例如a*color + b*shape + c*size + d*price = ranking

  3. 将遗传算法应用于调整a / b / c / d ,以使计算出的rankings尽可能接近地面实况。

  4. 最后你得到了等式,你可以用它来:

    1)通过简单的线性规划找到最大排名;

    2)通过分配其他参数来预测排名