“维度”这个词在机器学习里面,应该是一个高频词,它经常出现在人们的视野中,比如说随机森林是通过随机抽取特征来建树,以避免高维计算;再比如说,sklearn中导入特征矩阵,必须是至少二维;特征选择的目的是通过降维来降低算法的计算成本……这些语言都很正常地被用来使用,直到有一天,一个小伙伴问了我,”维度“到底是什么?我……
我认真思考之后,总结如下:
1. 对于数组和Series来说
对于数组和Series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。索引以外的数据,不分行列的叫一维(此时shape返回唯一的维度上的数据个数),有行列之分叫二维(shape返回行x列),也称为表。一张表最多二维,复数的表构成了更高的维度。当一个数组中存在2张3行4列的表时,shape返回的是(2,3,4)(更高维,行,列)。当数组中存在2组2张3行4列的表时,数据就是4维,shape返回(2,2,3,4)。
数组中的每一张表,都可以是一个特征矩阵或一个DataFrame,这些结构永远只有一张表,所以一定有行列,其中行是样本,列是特征。针对每一张表,维度指的是样本的数量或特征的数量ÿ