制作决策树时如何处理数据

时间:2017-10-22 07:54:24

标签: classification data-mining decision-tree data-science kaggle

我正在尝试为我从Kaggle获得的数据集做出决策树。 由于我没有处理现实数据集的经验,我不知道如何处理清理,集成和扩展数据(主要是缩放)。

例如,假设我有一个具有实数的功能。因此,我希望通过将其扩展为特定数量的组(用于制作决策树),使该功能成为分类数据。

在这种情况下,我不知道有多少组数据对决策树来说是合理的。 我确信它取决于特征数据的分布和目标数据集中唯一值的数量,但我不知道如何通过查看分布和目标数据集找到好的猜测。 我最好的猜测是将要素的数据划分为与目标数据集的唯一值的数量相似的数字。 (我甚至不知道这是否有意义。)

当我从学校学习时,我已经获得了每个功能的2-5个分类数据,因此我不必担心,但现实生活与学校完全不同。

请帮帮我。

2 个答案:

答案 0 :(得分:2)

  1. 对于DT,您需要数字数据,分类 ​​- 以虚拟样式。数字列不需要缩放。
  2. 要处理分类数据,请使用单热编码。请确保在单热编码之前,您有相当多的每个功能(> = 5%),否则将小变量分组。
  3. 并考虑其他模型。 DT很好但是它的老派很容易过度装修。

答案 1 :(得分:1)

您可以使用决策树回归量,无需对类别中的实数进行分层:http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html

当你这样做时,它将有助于将输入数据缩放到零均值和单位方差;这有助于防止任何大类输入占据模型

话虽如此,决策树可能不是最佳选择。尝试SVM或ANN。或者(很可能)许多模型的一些集合(甚至只是一个随机的森林)。