趋近智
在我们分析数据或构建机器学习模型之前,首先要了解所处理数据的类型。可以将数据类型想象成信息所说的不同语言。就像你需要正确的翻译来理解一门语言一样,你也需要针对每种数据类型选择合适的统计方法和可视化工具。将为数值测量设计的方法应用于分类标签,通常没有意义,并可能导致错误的结论。
在统计学和机器学习中,数据通常分为两大类:分类数据和数值数据。接下来我们对它们进行具体说明。
分类数据代表用于对项目进行分组的特征或标签。它们是定性的描述。我们可以将分类数据进一步分为两种类型:
名义数据由没有固有顺序或等级的类别组成。你可以对它们进行计数,但不能按逻辑从低到高排序。
对于名义数据,计算平均值之类的运算是没有意义的。“红色”和“蓝色”的平均值是什么?这无法计算。不过,我们可以计算每个类别的出现次数(例如,有多少红色物品,有多少蓝色物品)。
有序数据代表那些确实具有有意义的顺序或等级的类别,但类别之间的间隔可能不相等或不可量化。
尽管存在顺序,但像加法或平均值这样的算术运算通常仍然不适合有序数据,因为等级之间的差异没有精确定义。不过,我们可以确定中位数(排序后的中间值)或找到百分位数。
数值数据代表可以测量或计数的数量。它们是定量的值。数值数据也有两种形式:
离散数据由可计数且通常取整数值的数据组成。可能的值之间存在明显的间隔。你可以对这些项目进行计数。
你可以对离散数据执行算术运算(加法、减法、平均)。
连续数据可以在给定范围内取任何值。这些值通常是测量而非计数得到的,理论上可以无限精确,仅受限于测量仪器。
算术运算对于连续数据完全有效。这是最常与均值、方差等统计测量相关联的数据类型。
这是一张图表,简要说明了数据类型的层级:
一张图表,说明了常见数据的主要类别和子类型。
理解这些区别非常重要,原因如下:
当你使用像 Pandas 这样的库(我们将在本章稍后简要介绍)加载数据时,它通常会尝试自动推断数据类型。不过,验证这些推断的类型始终是好的做法。
Pandas 通常使用这些常见的 dtype 对象:
object:常用于文本或混合类型列。通常代表分类数据(包括名义数据和有序数据)。int64:代表整数值。通常对应于离散数值数据。float64:代表浮点(小数)数字。通常对应于连续数值数据。bool:代表布尔(真/假)值。这是一种分类数据类型。category:一种专为分类数据优化的特定 Pandas 类型(可以代表名义数据或有序数据)。datetime64:代表日期和时间值。能够识别你所拥有的数据类型,是进行有意义的分析和构建有效机器学习模型的第一步。在后续章节中,我们将看到我们使用的方法如何根据处理的是分类数据还是数值数据而变化。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造