处理回归问题中的分类变量使用哪种方法?

数据挖掘 回归 数据清理 机器学习模型 分类数据
2022-02-18 23:48:00

通常,如果我有回归问题并且我的初始数据集包含分类变量,例如:

column 1:  
Math
Science 
Science 
English 

我会将这个非数值变量转换为数值变量,例如:数学:0,科学:1,英语:2。但是,我最近发现一个教程说这个解决方案没有性能,因为那里没有最喜欢的类这些类之间没有增加,如果存在,我们无法量化它。

谁能为我解释一下,因为我通常使用解决方案一?

1个回答

仅当您的值有顺序时,此解决方案才会有效。一些模型使用点之间的距离作为学习函数,如果你使用你的方法,一个数学学生和一个英语学生(0 和 2 形成 2 距离)将比数学学生和科学学生有更多的距离(0 和 1 形成 1 的距离)。使用这种方法会产生偏见,因此您必须采用另一种方式。一种众所周知的方法是 One Hot Encoding,它将创建 3 个二进制变量 Column1_Math、Column1_Science、Column1_English,其值为 0 或 1(例如,如果第 1 列是数学,那么您将拥有 Column1_Math = 1、Column1_Science = 0、 Column1_English = 0)。这样,您就可以避免使模型出现偏差。

我已经在这个答案中解释了我知道处理您的问题的其他方法,我强烈建议您看一下