如何在python中使用决策树中的分类数据

如何在python中使用决策树中的分类数据,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我有一个数据集,我从中提取了12个特征,用于使用决策树进行共指消解的任务。这些功能的一些示例包括: 距离\特征():i和j之间根据句子数量的距离。输出:0或1 Ispronoun_功能():如果名词短语是代词,则此功能设置为true 同位_功能():此功能检查j是否与i同位 创建所有这些功能以从数据集中提取结果后,我不知道如何选择根节点或如何使用sci kit学习决策树算法,因为数据不是结构化的,是分类的。我读到的一篇论文提到了熵和信息增益,但这两个属性的所有示例都基于结构化数据集 使用

我有一个数据集,我从中提取了12个特征,用于使用决策树进行共指消解的任务。这些功能的一些示例包括:

  • 距离\特征():i和j之间根据句子数量的距离。输出:0或1

    • Ispronoun_功能():如果名词短语是代词,则此功能设置为true

    • 同位_功能():此功能检查
      j
      是否与
      i
      同位

创建所有这些功能以从数据集中提取结果后,我不知道如何选择根节点或如何使用sci kit学习决策树算法,因为数据不是结构化的,是分类的。我读到的一篇论文提到了熵和信息增益,但这两个属性的所有示例都基于结构化数据集

使用一个热编码

df = pd.get_dummies(df, [categorical_columns_you_want_to_encode])

如果列过多,您可以对列进行预处理,删除不常见的值,例如小于1%的值,以避免列过多。

如果您有不同类别的不同功能,并且不想自己花时间对它们进行编码,我建议使用比标准scikit树实现更快的框架


检查这一点的执行情况

实际上,数据不是结构化的,我提取I和j的数据如下:I=[' نجیب الله خواجه عمری ', ' محمد میرویس بلخی ', ' محمد نادر نادری ', ' محمد اشرف غنی ', ' رئیس جمهور غنی ', ' رئیس جمهور غنی ', ' اعضای کاروان صلح هلمند ', ' این کاروان ', ' سرپرست دفتر سخنگوی این وزارت ', ' وی ', '在各15775555151515151515555555555151515151515151515155555551515151515151515555555555555555555的的自自自自自自自自自自自自自1515157555555555151555555555的的的自自自自自自自自自自自自151515151515155555555555555555555555的的的的的自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自各各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区各区ز㶎㶎㶎㶇㶇㶊㶌㶎㶌㶌]然后我为
I
j
的这些值创建了12个特性。因此,每个特性都有它自己的输出,基于特性规范。如果你想训练一个模型,我非常确定的方法是结构化这些数据,例如将所有数据放在同一个数据框中,而不仅仅是拥有唯一的类别。Basica首先,返回到源数据,并在一行->一个标签的基础上提取它们。实际上,任务是从非结构化数据中提取。因此更改数据集非常复杂。因为我们只有一些文本的标签具有不同的属性。分类的思想基于1个事件->1个结果。您需要从中提取数据集包含事件,由于您识别了12个特征,每个事件将有12列和1个结果(或更多),将它们放入字典、数组或pandas表中,sklearn可以处理其余部分。