通过DecisionTreeClassifier sklearn装箱数据?

问题描述 投票:3回答:1

假设我有一个数据集:

    X     y
   20     0
   22     0
   24     1
   27     0
   30     1
   40     1
   20     0
   ...

我试图通过最小化熵离散X成几箱。所以我做了以下内容:

clf = tree.DecisionTreeClassifier(criterion = 'entropy',max_depth = 4)
clf.fit(X.values.reshape(-1,1),y.values)

threshold = clf.tree_.threshold[clf.tree_.threshold>-2]
threshold = np.sort(threshold)

“门槛”应该给劈分,这是装箱数据的正确方法是什么?

有什么建议么?

python scikit-learn decision-tree entropy binning
1个回答
0
投票

第一,你做了什么是正确的。

有许多方法来斌您的数据:

  1. 基于列的值(如:除以分钟,该列的值的最大值之间的10个相等的组中的列)。
  2. 根据列值的分布,例如它可能是基于列的十分位数10组(最好使用该pandas.qcut)
  3. 根据目标,像你这样。我发现有关这个博客给你,我想你寻找最佳的分裂法工作得很好https://towardsdatascience.com/discretisation-using-decision-trees-21910483fa4b
© www.soinside.com 2019 - 2024. All rights reserved.