具有分类和连续属性的多类多输出分类,无需在 python 中编码 [关闭]
Posted
技术标签:
【中文标题】具有分类和连续属性的多类多输出分类,无需在 python 中编码 [关闭]【英文标题】:Multiclass MultiOutput Classification with both categorical and continous attribute without encoding in python [closed] 【发布时间】:2017-12-23 17:39:48 【问题描述】:我正在做一个机器学习(数据挖掘)项目,我已经完成了数据探索和数据准备步骤,它是在 python 中完成的!
现在我面临这个问题:我的数据集中有分类属性。 经过研究,我发现最适合此类数据的算法是决策树或随机福雷斯特分类器!
但是我已经阅读了一些关于决策树和分类属性的类似问题,发现我正在使用的库 (scikit-learn) 不适用于分类属性。检查here 和here,为了使其与分类一起工作,我需要将分类变量编码为数字变量,但我不想使用编码,因为我会根据@987654323 丢失我的属性的一些属性和一些信息@answer ,而且我的一些属性有 100 多个不同的值。
所以我想知道:
是否有任何其他 python 库可以使用分类数据构建决策树而无需任何编码? 在this 的回答中,有人建议像 WEKA 这样的其他库可以构建具有分类属性的决策树,所以我的问题是我可以在同一个机器学习项目中结合两种语言吗?是否会在 python 中进行数据探索和准备,在 weka (java) 中训练模型,并将其部署到 python-flask Web 应用程序中? 有可能吗?
【问题讨论】:
【参考方案1】:您链接的有关编码分类输入的answer 只是说,当您的类别没有固有顺序时,您应该避免使用数字编码。它正确地建议您在这种情况下使用 one-hot 编码。
简单地说,机器学习模型对数字进行操作,因此即使您找到了一个无需显式编码即可获取原始类别的库,它仍然必须在执行任何计算之前对其进行内部编码。
100 个类别并不多,大多数现成的库都可以很好地处理此类输入。我建议你试试xgboost
【讨论】:
好的!感谢您的回复@Imran,所以我会尝试一种听起来不错的热编码,但会增加我的数据集的维度,所以必须忘记决策树并尝试像 SVN 和 NN 这样的强分类器。以上是关于具有分类和连续属性的多类多输出分类,无需在 python 中编码 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章