介绍
在机器学习实战时,如果面对一个数据集具有上千个特征,那么对于模型训练将是一个巨大的挑战。面对如此多的数据变量,如果我们认真的去分析每一个变量将耗费我们几周甚至几个月的时间,那么你估计也要被开除了。因此我们需要一个更好的方法能够帮助我们在高维数据中筛选出对我们有用的变量,减小计算复杂度提高模型训练效率和准确率,这就是我们要说的降维。
降维分析
在网络时代,每天都要产生巨大数量的数据,事实上,世界上近90%的数据是近3年来产生的。我们通过几个例子来看数据的爆炸式增长:
-
Facebook收集用户的爱好、参观的地方、分享的东西以及喜欢的餐馆数据
-
智能手机应用软件收集你的个人信息数据
-
Amazon收集你在网站浏览、点击、购买的商品信息等等
在如此数量级的数据中如何将数据可视化以及挖掘数据的内在信息价值将成为一个重要的问题。最常用的数据可视化方法就是图表,假设我们有身高和年龄2个变量,我们可以在二维坐标系中使用散点图或者折线图表示它们的关系:
那么如果我们有100个变量,我们就需要100x(100-1)/2幅图才能表示出其中两个变量之间的关系。这是非常不切实际的。更聪明的做法是挑选出其中更有价值的变量来研究它们的关系。比如说像下面这幅图
在图中有两个关于体重的变量,x1是kg,x2是英镑,这两个变量都表示一个人的体重信息,那么我们就可以选取其中一个作为我们要使用的变量即可,这样就将二维变成了一维。
同样的,在高维数据