主成分分析(PCA)降维

在上一篇文章中,介绍过使用L1正则化和随机森林算法来进行特征选择。在这篇文章中,将介绍使用PCA来进行特征抽取实现降维。特征选择,是从原始的特征中选出一个特征子集。特征抽取,是通过对现有特征的信息进行推演,构造出一个新的特征子空间。可以理解为特征抽取是尽可能多地保证相关信息的情况下,来实现数据的压缩,特征抽取也可以提高计算效率。

一、什么是主成分分析?

主成分分析(principal component analysis,PCA)是一种广泛应用于无监督线性数据的转换技术,主要应用于降维处理。广泛应用于股票交易市场数据的探索性分析和去燥,以及生物信息学领域的基因组和基因表达水平数据分析等。PCA的目的是从高维数据中找到最大方差的方向,并将数据映射到一个维度不大于原始数据的新的特征子空间上。

假设原始数据的维度为d,通过PCA映射之后产生的子空间维度为k(d >= k)。通过PCA降维,我们可以构建出一个d×k维的转换矩阵W,通过矩阵W将原始数据为d维的数据转换到k维数据上。转换之后,第一主成分的方差是最大的,各个主成分之间是不相关的,通过PCA降维之后,每个主成分之间是正交的。主成分对数据值的范围是高度敏感的,所以通常情况下,我们需要先将特征值进行标准化之后,再使用PCA降维技术。PCA算法由以下6个步骤组成:

1、对数据做标准化处理
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

if __name__ == "__main__":
    #获取葡萄酒的数据
    data = pd.read_csv("G:/dataset/wine.csv"

你可能感兴趣的:(机器学习,python机器学习)