Python/Scikitlearn中的分类变量没有一次性编码

问题描述:

在Python/Scikit-learn GLM模型中是否可以像使用分类变量那样使用分类变量?我确实意识到单热编码的另一种选择。我对这种方法的问题是,我将无法测试整个变量的重要性。我只能测试编码变量(这是部分的)。Python/Scikitlearn中的分类变量没有一次性编码

为什么SAS可以处理这样的变量而不是Python?请指教。

+2

最终,您需要了解SAS在“引擎盖下”所做的工作:计算机处理的是数值,而不是“类别” – dartdog

它实际上取决于您拥有的数据。例如,如果您可以为分类变量(序号值)指定某种顺序,如low,mediumhigh,则可以将它们分配为像1,2和3那样的编号。但是,如果没有顺序,它会变得有点棘手任何。除了单独编码,您可以尝试Helmert Coding Scheme。您还可以阅读this blog post以获取更多分析。也有sklearn其他各种编码方案分类变量:

你可以阅读更多关于其他Categorical Encoders in Sklearn here