在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原文链接:http://tecdat.cn/?p=6592
维度降低有两个主要用例:数据探索和机器学习。它对于数据探索很有用,因为维数减少到几个维度(例如2或3维)允许可视化样本。然后可以使用这种可视化来从数据获得见解(例如,检测聚类并识别异常值)。对于机器学习,降维是有用的,因为在拟合过程中使用较少的特征时,模型通常会更好地概括。 在这篇文章中,我们将研究三维降维技术:
这些方法之间的关键区别在于PCA输出旋转矩阵,可以应用于任何其他矩阵以转换数据。 加载数据集我们可以通过以下方式加载数据集: 关于结果的假设在我们开始减少数据的维度之前,我们应该考虑数据。 由于来自邻近酿酒厂的威士忌使用类似的蒸馏技术和资源,他们的威士忌也有相似之处。
检验统计量在5%水平上是显着的,因此我们可以拒绝零假设(区域对特征没有影响)。 酿酒厂的地理位置由于区域性对威士忌起着重要作用,我们将通过绘制其纬度和经度来探索数据集中的酿酒厂所在的位置。以下苏格兰威士忌地区存在:
PCA使用PCA可视化威士忌数据集
在第二个图中,我们将绘制酿酒厂的标签,以便我们可以更详细地解释聚类。
总的来说,主要成分似乎反映了以下特征:
对集群的合理解释如下:
可视化有两个有趣的观察结果:
这包含了我们对PCA的可视化研究。我们将在本文末尾研究使用PCA进行预测。 核PCA内核PCA(KPCA)是PCA的扩展,它利用了内核函数,这些函数在支持向量机上是众所周知的。通过将数据映射到再现内核Hilbert空间,即使它们不是线性可分的,也可以分离数据。
在R中使用KPCA要执行KPCA,我们使用包中的
其中σσ是反向内核宽度。使用此内核,可以按如下方式减少维数:
检索到新维度后,我们现在可以在转换后的空间中可视化数据:
就可视化而言,结果比我们使用常规PCR获得的结果稍微粗糙一些。尽管如此,来自艾莱岛的威士忌分离得很好,我们可以看到一群斯佩塞特威士忌,而高地威士忌则高度传播。
T-SNEt-SNE已成为一种非常流行的数据可视化方法。
使用t-SNE可视化数据在这里,我们将威士忌数据集的维度降低到两个维度:
与PCA相比,簇的分离更加清晰,特别是对于簇1和簇2。 对于t-SNE,我们必须进行解释:
使用PCA进行监督学习PCA是独立完成的,这一点至关重要。因此,需要遵循以下方法:
为此,我们将使用ķ最近邻模型。此外,因为所有的变量是在特征空间小[0,4][0,4]。我们必须优化kk,因此我们还预留了用于确定此参数的验证集。 PCA转换首先,我们编写一些函数来验证预测的性能。 在下面的代码中,我们将对训练数据执行PCA并研究解释的方差以选择合适的维数
由于有足够百分比的方差用3维解释,我们将使用该值来设置训练,测试和验证数据集。 现在我们已经将训练,验证和测试集转换为PCA空间,我们可以使用kk最近邻居。
让我们研究一下使用PCA的模型是否优于基于原始数据的模型:
现在我们只能根据他们的口味确定苏格兰威士忌的六个区域,但问题是我们是否仍能获得更好的表现。我们知道很难预测数据集中代表性不足的苏格兰地区。那么,如果我们将自己局限于更少的地区,会发生什么?
通过这种方式,问题减少到三个区域:Island / Islay威士忌,Highland / Lowland / Campbeltown威士忌和Speyside威士忌。再次进行分析:
我们可以得出61.9%的准确度,我们可以得出结论,将我们样品较少的威士忌区域分组确实是值得的。 KPCA用于监督学习应用KPCA进行预测并不像应用PCA那样简单。在PCA中,特征向量是在输入空间中计算的,但在KPCA中,特征向量来自核心希尔伯特空间。因此,当我们不知道所使用的显式映射函数ϕϕ,不可能简单地转换新数据点。
摘要在这里,我们看到了如何使用PCA,KPCA和t-SNE来降低数据集的维数。PCA是一种适用于可视化和监督学习的线性方法。KPCA是一种非线性降维技术。t-SNE是一种更新的非线性方法,擅长可视化数据,但缺乏PCA的可解释性和稳健性。 这可能表明以下两点之一:
我倾向于选择第二种选择。为什么?在PCA图中,右下角是没有样本所在的最大区域。看着靠近这个区域的威士忌,我们发现那些是y轴上的Macallan和x轴上的Lagavulin。麦卡伦以其复杂的口味而闻名,Lagavulin以其烟熏味而闻名。 位于二维PCA空间右下方的威士忌将同时具有两种特性:它既复杂又烟熏。我猜这种具有两种特性的威士忌对于口感来说太过分了。
|
请发表评论