使用Pandas'分类' dtype with sklearn

时间:2015-06-15 18:02:08

标签: python pandas scikit-learn categorical-data

sklearn是否支持在拟合模型中直接使用Panda的 Categorical 数据类型?从我所见,sklearn不支持这种数据类型,这是不幸的,因为Categorical数据类型既编码分类数据又包含数据的映射方案。另外,分类编码纯粹是一个数据处理/处理问题,所以它似乎更自然地由Pandas处理。

注意

我意识到有几种方法可以对Pandas和sklearn中的分类变量进行编码 - 这不是我所要求的。

1 个答案:

答案 0 :(得分:6)

来自issue-tracker

的交叉发布

我认为这至少是两个不同的问题: 1.可以/将sklearn支持带有分类功能的pandas数据帧作为输入 2.可以/将通过pandas分类数据类型对分类变量进行sklearn支持。

  1. 或多或少会将所有分类变量转换为单热编码特征,即虚拟列。这对用户来说真的很容易。我们可以做到这一点"引擎盖下#34;在scikit-learn中,但它会使代码复杂化,我看不到很大的好处。

  2. 基本上不可能。有一个分类数据类型对树很好,但我认为pandas没有稳定的c级接口,所以我们无法真正选择它。即使有,它仍然需要大量重写树代码。我认为这对非树估算器没有帮助。