降维:特征提取

用 Python 练习机器学习面试题

Lisa Stuart

Data Scientist

无监督学习方法

  • 主成分分析(PCA) --> 课时 3.1
  • 奇异值分解(SVD) --> 课时 3.1
  • 聚类/分组 --> 课时 3.3
  • 探索性数据挖掘
用 Python 练习机器学习面试题

降维 ≠ 特征选择

PCA 图

特征选择

1 https://slideplayer.com/slide/9699240/ 2 https://www.analyticsvidhya.com/blog/2016/03/practical-guide-principal-component-analysis-python/
用 Python 练习机器学习面试题

维度灾难

维度与性能关系图

1 https://www.visiondummy.com/2014/04/curse-dimensionality-affect-classification/
用 Python 练习机器学习面试题

一维搜索

一维搜索空间

用 Python 练习机器学习面试题

二维搜索

二维搜索空间

用 Python 练习机器学习面试题

三维搜索

三维搜索空间

用 Python 练习机器学习面试题

降维方法

  • PCA
  • SVD
用 Python 练习机器学习面试题

PCA

鸢尾花 PCA 图

  • PCA
    • X 与 y 的关系
    • 通过主轴求解
    • 平移、旋转并缩放
    • 将数据投影到低维
1 https://scikit-learn.org/stable/modules/decomposition.html
用 Python 练习机器学习面试题

SVD

鸢尾花 SVD 图

  • SVD
    • 线性代数与向量微积分
    • 将数据矩阵分解为三个矩阵
    • 得到"奇异"值
    • 数据方差 ≈ 奇异值平方和
1 https://galaxydatatech.com/2018/07/15/singular-value-decomposition/
用 Python 练习机器学习面试题

降维函数

函数/方法 返回
sklearn.decomposition.PCA 主成分分析
sklearn.decomposition.TruncatedSVD 奇异值分解
PCA/SVD.fit_transform(X) 拟合并转换数据
PCA/SVD.explained_variance_ratio_ 各主成分的解释方差比
用 Python 练习机器学习面试题

¡Vamos a practicar!

用 Python 练习机器学习面试题

Preparing Video For Download...