GitHub: https://github.com/RealEmperor/Python-for-Data-Analysis
为何要降维?
1.使数据集更易使用
2.降低算法计算开销
3.去除噪声
4.使得结果易懂
降维的方式主要有两种方式:
1.主成分分析(PCA)——坐标系转换
2.因子分析——隐变量
主成分分析(PCA)
优点:降低数据的复杂性,识别最重要的多个特征
缺点:不一定需要,且可能损失有用信息
适用数据类型:数值型数据
基本概念
协方差矩阵
# 协方差矩阵
import numpy as np
X = [[2, 0, -1.4],
[2.2, 0.2, -1.5],
[2.4, 0.1, -1],
[1.9, 0, -1.2]]
print(np.cov(np.array(X).T))
[[ 0.04916667 0.01416667 0.01916667]
[ 0.01416667 0.00916667 -0.00583333]
[ 0.01916667 -0.00583333 0.04916667]]
特征值与特征向量
# 特征值与特征向量
w, v = np.linalg.eig(np.array([[1, -2], [2, -3]]))
print('特征值:{}\n特征向量:{}'.format(w, v))
特征值:[-0.99999998 -1.00000002]
特征向量:[[ 0.70710678 0.70710678]
[ 0.70710678 0.70710678]]
点积
a = [[-0.27, -0.3],
[1.23, 1.3],
[0.03,