什么是类别数据?
类别数据是一种只有标签值而没有数值的变量。
它的值通常属于一个大小固定且有限的集合。
类别变量也常被称为标称值(nominal)。
下面举例说明:
- 宠物(pet)变量包含以下几种值:狗(dog)、猫(cat)。
- 颜色(color)变量包含以下几种值:红(red)、绿(green)、蓝(blue)。
- 位次(place)变量包含以下几种值:第一(first)、第二(second)和第三(third)。
以上例子中的每个值都代表着一个不同的类别。
有些类别彼此间存在一定的自然关系,比如自然的排序关系。
上述例子中,位次(place)变量的值就有这种自然的排序关系。这种变量被称为序数变量(ordinal variable)。
类别数据有什么问题?
有些算法可以直接应用于类别数据。
比如,你可以不进行任何数据转换,将决策树算法直接应用于类别数据上(取决于具体实现方式)。
但还有许多机器学习算法并不能直接操作标签数据。这些算法要求所有的输入输出变量都是数值(numeric)。
通常来说,这种限制主要是因为这些机器学习算法的高效实现造成的,而不是算法本身的限制。
但这也意味着我们需要把类别数据转换成数值形式。如果输出变量是类别变量,那你可能还得将模型的预测值转换回类别形式,以便在一些应用中展示或使用它们。
更多信息参考:
https://juejin.im/post/5d15840e5188255c23553204