一、维度:
1、对于数组和series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。
2、维度指的是样本的数量或特征的数量,一般无特别说明,指的都是特征的数量。
3、对图像来说,维度就是图像中特征向量的个数,特征向量可以理解为坐标轴,一个特征向量代表一维。也就是说,三维及一下的特征矩阵是可以被可视化的,三维以上的则不能。
二、特征矩阵:
特征矩阵特指二维,一定有行列,一个特征是一维。若将特征矩阵用pandas的DataFrame表示,形式如下:
由上面的DataFrame可知,行数代表样本的个数,列数代表特征的个数,特征的个数往往比样本的个数少的多。
三、降维相关
1、降维算法中的降维,指的是降低特征矩阵中特征的数量。
2、sklearn中的降维算法都被包括在模块decomposition中,其本质是矩阵分解,即使特征矩阵的分解。
3、在高维数据中,必然有一些特征是不带有有效信息的(比如噪音),或者有一些特征带的信息和其他特征的信息是重复的(比如一些特征可能会线性相关),因此我们需要既能减少特征的数量,又能保留大部分有效信息,在PCA中,用方差来衡量有效信息的多少,如果一个特征的方差很小,则意味着这个特征上很有可能大量取值都相同(比如大部分都围绕着一个数),那这个特征的取值对样本来说就没有区分度,这种特征就不带有有效信息;相反,如果一个特征的方差很大,则说明这个特征带有大量的有效信息。
4、解释一下为什么特征的方差越小,带有的信息越小:在机器学习中,我认为衡量特征的好坏看的就是该特征与结果的相关性,即特征的取值变化要引起结果的变化,这样的特征才能说对结果有影响,才能分配权重,若一个特征的方差很小,即所有的值都很集中,那么无论这个特征取什么值,都不会对结果带来太大的影响,也就是说有或者没有这个特征,对最终的结果不会带来太大的影响。
四、sklearn中的降维算法
sklearn中的降维算法如下:(用的时候直接调用即可)
其中,主成分分析(PCA)、高级矩阵分解(LDA、NMF)最重要。