第一章 UCI数据集wine.data主成分分析PCA


前言

学习数据挖掘,用于记录练习和回顾


一、什么是PCA?

经典主成分分析(Classical Principal Component Analysis)的核心思想:PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。


二、PCA算法流程

1.按列计算数据集X的均值Xmean,然后令Xnew=X−Xmean
2. 求解矩阵Xnew的协方差矩阵,并将其记为Cov
3.计算协方差矩阵Cov的特征值和相应的特征向量
4.将特征值按照从大到小的排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵Wnxk
5. 计算XnewW,即将数据集Xnew投影到选取的特征向量上,这样就得到了我们需要的已经降维的数据集XnewW


二、使用步骤

1.引入库

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
import matplotlib.pyplot as plt

2.读入数据

代码如下(示例):


df_wine = pd.read_csv('./UCI/wine/wine.data', header=None) # 加载葡萄酒数据集
X, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values # 把分类属性与常规属性分开
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3, random_state=0) # 把整个数据集的70%分为训练集,30%为测试集

3.数据标准化(规范化)

如果数据特征在不同的范围上,要先对数据集标准化。下面3行代码把数据集标准化为均值0方差1,避免异常值对结果造成影响


sc = StandardScaler()
X_train_std = sc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值