- 数据科学与机器学习:数学与统计方法
- (澳)迪尔克·P.克洛泽等
- 866字
- 2024-11-03 18:26:35
1.2 类型结构特征
我们一般将特征分为定量特征和定性特征。定量特征具有“数值量”,如身高、年龄、出生人数等,它可以是连续的,也可以是离散的。连续的定量特征在可能的连续范围内取值,如身高、电压或农作物产量,这种特征体现了总是可以进行更精确测量的思想。离散的定量特征具有可数的可能性,如计数。
与此相反,定性特征没有数值含义,但它们可能的取值可以划分成固定数量的类别,如{M,F}表示性别,{蓝色, 黑色, 棕色, 绿色}表示眼睛的颜色。因此,这样的特征也称为分类特征。一个简单的经验法则是,如果对数据进行平均没有意义,那么它就是分类特征。例如,对眼睛颜色进行平均是没有意义的。当然,我们仍然可以用数字来表示分类数据,比如,1表示蓝色,2表示黑色,3表示棕色,但是这样的数字没有量化意义。分类特征通常称为因子(factor)。
在操作、汇总和显示数据时,正确指定变量(特征)的类型十分重要。我们使用文献[73]提供的nutrition_elderly数据集来说明这一点,该数据集是有关老人营养的研究结果,它包含226名老人(行)的13个特征(列)的营养测量数据。该数据集可以通过网址http://www.biostatisticien.eu/springeR/nutrition_elderly.xls获得。
Excel文件可以通过read_excel方法直接读入pandas:

这将创建一个DataFrame对象nutri。nutri的前三行数据如下:

我们可以通过nutri的info方法来查看变量的类型或结构:

nutri中的13个特征全部都被Python解释为定量变量,实际上是整数,因为它们是作为整数输入的。表1.1显示了应如何对变量类型进行分类。当我们考虑表1.2给出的特征描述时,这些数字的含义就变得很清楚了。
表1.1 DataFrame对象nutri的特征类型

请注意,表1.1中定性特征第二行的类别变量meat到chocol有一个自然顺序。这样的定性特征有时称为序数特征,相反,没有序数属性的定性特征称为标称特征。我们在本书中不做这样的区分。
表1.2 营养研究中的变量说明[73]

我们可以使用Python中的replace和astype方法修改每个分类特征的值和类型。对于分类特征,比如gender,我们可以将1替换为'Male',将2替换为'Female',并将变量的类型修改为'category',方法如下:

其他分类特征的结构也可以用类似的方式改变。像height这样的连续特征,其类型应为float:

我们可以对其他变量重复这样的操作(见习题2),并使用pandas的to_csv方法将修改后的数据帧保存为CSV文件。
