在这种情况下如何构建决策树?

时间:2014-04-19 17:59:48

标签: machine-learning decision-tree

在我的应用中,我有Item s。

Item

  • 一个基本名称(剑,盾等)
  • 罕见(正常,神奇,罕见,独特)
  • 从大约400个池中取出最多6个mod(可以减少,因为其中许多是不常见或无用的)。大多数mod都有值(+ 100 到最大寿命)。一个项目的价值也很大程度上取决于那些值,而不仅仅是mod的存在。
  • 一个价格

我的目标是输入一个项目并获得价格估算。

不确定如何为此构建决策树,特别是因为有大量的mods

我想到了类似的东西,但是,即使在修剪之后,这也会产生一棵疯狂的大树。

tree

有关如何构建此树的任何指示都可以让我预测商品价格吗?

1 个答案:

答案 0 :(得分:0)

首先要做的事情。您的问题被定义为回归问题,因为您估算的值是数字(价格)。在分类问题中,您正在估计一个实例的类,其中包含有限数量的类。决策树用于“决定”实例所属的类,因此可以直观地用于分类,因此您无法将其用于解决问题。

所以,现在您知道您的问题是回归,并且有许多方法用于回归问题。我建议你看看以下内容:

  • 线性回归
  • 回归树
  • 模型树

他们的力量不仅在于预测部分,而且在于相对容易理解所建模型。这意味着您将通过检查模型来理解为什么某些物品价格便宜而且价格昂贵。

您可以在名为Weka的机器学习套件中找到所有这些方法。但在使用之前,您必须先准备好数据。这不仅意味着将其转换为正确的文件格式,更重要的是,决定如何表示数据。前两个属性是所谓的名义,目标属性是数字,所以在.arff格式中它们应该看起来像:

@attribute base_name {sword, shield, ... }
@attribute rarity {normal, magic, rare, unique}
@attribute price numeric

现在如果我正确地解决了问题,mods要么打开要么关闭,所以我用以下代表它们:

@attribute mod1 {0,1}
@attribute mod2 {0,1}
...
@attribute mod400 {0,1}

这也意味着,您必须准备所有400个数据,这些数据最多为零,最多6个数据,表示正在使用的模式,打开或者您为其命名。