原始图像(左)保留不同数量的方差
我的上一个教程讨论了使用Python的逻辑回归(
为了理解使用PCA进行数据可视化的价值,本教程的第一部分介绍了应用PCA后对IRIS数据集的基本可视化。第二部分使用PCA来加速MNIST数据集上的机器学习算法(逻辑回归)。
现在,让我们开始吧!
本教程中使用的代码如下所示:
“PCA的数据可视化的应用
用PCA来加速机器学习的计算
”PCA在数据可视化的应用
对于许多机器学习应用程序来说,能够可视化你的数据是很有帮助的。将2维或3维数据可视化并不那么困难。然而,即使在本教程的这一部分中使用的Iris数据集也是四维的。你可以使用主成分分析将四维数据减少到2维或3维这样你就能更好地绘制并理解数据。
加载Iris数据集
Iris数据集是scikit-learn附带的数据集之一,不需要从外部网站下载任何文件。下面的代码将加载iris数据集。
import pandas as pd
# load dataset into Pandas DataFrame
df = pd.read_csv(url, names=['sepal length','sepal width','petal length','petal width','target'])
原版pandas df(特征+目标)
标准化数据
主成分分析受尺度影响,所以在应用主成分分析之前,需要对数据中的特征进行尺度分析。使用StandardScaler帮助你将数据集的特性标准化到单元尺度(均值= 0,方差= 1),这是许多机器学习算法实现最佳性能的要求。如果你想看到不缩放数据可能带来的负面影响,scikit-learn有一节是讲关于不标准化数据的影响的(
from sklearn.preprocessing
import StandardScalerfeatures = ['sepal length', 'sepal width', 'petal length', 'petal width']
# Separating out the fea