主成分分析(PCA)是一个很好的工具,可以用来降低特征空间的维数。PCA的显著优点是它能产生不相关的特征,并能提高模型的性能。
它可以帮助你深入了解数据的分类能力。在本文中,我将带你了解如何使用PCA,同时提供Python代码,完整的项目可以在GitHub链接:https://github.com/conorosully/medium-articles。
什么是PCA
我们先来复习一下这个理论,但是如果你想确切了解PCA是如何工作的,我们不会详细介绍,网上有大量学习资源。
PCA用于减少用于训练模型的特征维度数量,它通过从多个特征构造所谓的主成分(PC)来实现这一点。
PC的构造方式使得PC1方向在最大变化上尽可能地解释了你的特征,然后PC2在最大变化上尽可能地解释剩余特征,PC1和PC2通常可以解释总体特征变化中的绝大部分信息。
另一种思考方法是,前两个PC可以很好地概括大部分特征。这很重要,因为正如我们将看到的,它允许我们在二维平面上可视化数据的分类能力。
数据集
让我们来看看一个实际的例子,我们将使用PCA来探索乳腺癌数据集(http://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(diagnostic)),我们使用下面的代码导入该数据集。
import numpy as npimport pandas as pdfrom sklearn.datasets import load_breast_cancercancer = load_breast_cancer()
data = pd.DataFrame(cancer['data'],columns=cancer['feature_names'])data['y'] = cancer['target']
目标变量是乳腺癌检测的结果,恶性或良性。每次测试,都要取多个癌细胞;然后从每个癌细胞中采取10种不同的测量ÿ