PCA LDA 对鸢尾花降维后的结果

本文通过导入数据包,对鸢尾花数据进行PCA和LDA两种降维方法处理,将数据降至二维并用matplotlib进行可视化。PCA作为无监督方法,而LDA是有监督方法,目标是使类别间投影距离最大化。虽然作者不确定理论是否准确,但结果显示尚可。
摘要由CSDN通过智能技术生成

先导入数据包

比我是直接下好的数据,没有用网上的

import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
data = pd.read_excel('IRIS数据集.xls',usecols =[1,2,3,4,5])#usecols这个函数可以获得你想要的数据部分

对数据进行pca  跟lda  操作

他俩都是降维

pca = PCA(n_components=2)
reduced_x = pca.fit_transform(x)
lda = LDA(n_components=2)
reduced_x_lda = lda.fit_transform(x,y)#用lda进行降维

都是把你要的东西降维为你想要的维度(我这里是二维)

降维后我们进行可视化

我这里用的是matplotlib

把降维后的二维数据存入三个列表中,把三个列表的数据进行可视化(用点)

这是lda后的结果

 

这是用pca降维后的结果

 

pca更是无监督的降维,lda是有监督的降维。lda是使投影尽可能的分开,然后让判断的数据离样本更接近。

 

。。。。。其实我也不知道对不对,感觉训练出来的结果还能接受。哈哈

 

 

PCA(Principal Component Analysis)是一种常用的降维算法,可以用于处理鸢尾花数据集中的特征向量。 鸢尾花数据集包含四个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。首先,我们需要对数据进行标准化处理,将每个特征的均值调整为0,标准差调整为1,这样可以确保每个特征对降维的结果的贡献度是相同的。 然后,我们计算鸢尾花数据集的协方差矩阵。协方差矩阵是一个对称矩阵,描述了不同特征之间的相关性。接下来,我们对协方差矩阵进行特征值分解,得到特征值和特征向量。 特征值告诉我们每个特征向量的重要程度,特征向量是协方差矩阵的特征方向。我们可以根据特征值的大小来选择保留的特征个数。通常情况下,我们选择特征值最大的前k个作为主成分,因为这些特征值对应的特征向量可以解释原始数据中大部分的方差。 最后,我们可以通过将原始数据与选定的主成分进行点积运算,得到降维后的数据集。新数据集的每个样本都是原始特征的线性组合,这些线性组合使得新的特征集上样本的方差最大化。 Python中可以使用sklearn库实现PCA算法。通过对鸢尾花数据集调用PCA算法,我们可以获得一个降维后的数据集,其中维度较低且保留了大部分原始数据的信息。 使用PCA算法可以将鸢尾花数据集从原始的四维降至更低的维度,这在可视化和数据分析中非常有用。这可以帮助我们更好地理解数据集,并更方便地进行后续的分析和建模。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值