具有分类属性和连续属性且不使用python编码的多类多输出分类

具有分类属性和连续属性且不使用python编码的多类多输出分类,python,scikit-learn,classification,categorical-data,one-hot-encoding,Python,Scikit Learn,Classification,Categorical Data,One Hot Encoding,我正在从事一个机器学习(数据挖掘)项目,我已经完成了数据探索和数据准备步骤,这是用python完成的 现在我面临这个问题:我的数据集中有分类属性。 经过研究,我发现最适合这种数据的算法是决策树或随机forrest分类器 但我读过一些关于决策树和分类属性的类似问题,发现我正在使用的库(scikit learn)不适用于分类属性。检查,为了使它与分类工作,我需要将我的分类变量编码为数字变量,但我不想使用编码,因为我会根据答案失去我的属性和一些信息的一些属性,而且我的一些属性有100多个不同的值 所以

我正在从事一个机器学习(数据挖掘)项目,我已经完成了数据探索和数据准备步骤,这是用python完成的

现在我面临这个问题:我的数据集中有分类属性。 经过研究,我发现最适合这种数据的算法是决策树或随机forrest分类器

但我读过一些关于决策树和分类属性的类似问题,发现我正在使用的库(scikit learn)不适用于分类属性。检查,为了使它与分类工作,我需要将我的分类变量编码为数字变量,但我不想使用编码,因为我会根据答案失去我的属性和一些信息的一些属性,而且我的一些属性有100多个不同的值

所以我想知道:

  • 是否有其他python库可以使用分类数据构建决策树而无需任何编码
  • 在回答中,有人建议像WEKA这样的其他库可以构建具有分类属性的决策树,所以我的问题是,我可以在同一个机器学习项目中组合两种语言吗
将用python进行数据探索和准备,用weka(java)训练模型,并将其部署到python flask web应用程序中? 这可能吗?

您链接的关于编码分类输入的内容只是说,当您的类别没有固有的顺序时,您应该避免数字编码。在这种情况下,它正确地建议您使用单热编码

简单地说,机器学习模型是以数字为基础的,因此,即使你发现一个库没有显式编码就接受你的原始类别,它仍然必须先对它们进行内部编码,然后才能执行任何计算


100个类别并不多,大多数书架库都能很好地处理这些输入。我建议你试试

好的!感谢您的回复@Imran,因此我将尝试一种热编码,听起来不错,但会增加数据集的维数,因此必须忘记决策树,尝试SVN和NN等强分类器。