机器学习实战:这里没有艰深晦涩的数学理论,我们将用简单的案例和大量的示例代码,向大家介绍机器学习的核心概念。我们的目标是教会大家用Python构建机器学习模型,解决现实世界的难题。
本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。数据黑客 - 专注金融大数据的内容聚合和数据聚合平台finquanthub.com
1. 降维和PCA
PCA即主成分分析(Principal Component Analysis),要理解PCA,首先要理解一个更广义的概念:降维。
降维即降低数据集的维度,这里的维度指的是输入变量或者特征的数量。机器学习算法要求输入是大小为(n_samples, n_features)的二维矩阵(类似excel表格),n_samples是观测值的数量(行),n_features是特征的数量(列)。
当数据集包含很多特征时,例如100个,如果把所有数据全部喂入模型,可能会导致糟糕的结果。在高维数据集中,往往只有部分特征有良好的预测能力,很多特征纯粹是噪音(没有预测能力),很多特征彼此之间也可能高度相关,这些因素会降低模型的预测精度,训练模型的时间也更长。降低数据集的维度在某种程度上能解决这些问题。
降维算法的原理是通过捕捉特征之间的关联,创建新的特征来代替旧的特征,降维后的数据集要求保留原始数据的大部分变异。
PCA是最广泛使用的降维技术之一,它把大量的相关变量转化为几组无关变量,这些无关变量称为"主成分"。原理如下图所示。
下方的数学公式能帮助我们更好地理解PCA。假设数据集有10个特征:$X_1, X_2, X_3,