采用PCA方法进行鸢尾花数据集的特征提取及分类任务国外研究现状_百度问一问

发布网友 发布时间:2022-04-23 17:08

我来回答

1个回答

热心网友 时间:2023-10-10 06:14

咨询记录 · 回答于2021-12-12采用PCA方法进行鸢尾花数据集的特征提取及分类任务国外研究现状PCA算法的必要性多变量大数据集无疑会为研究和应用提供丰富的信息,但是许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论。因此如果可以在减少需要分析的指标同时,尽量减少原指标包含信息的损失,那么将有利于算法模型的搭建。由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。PCA算法就属于这类降维算法。我们所使用的数据集Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度。数据集的部分数据如下所示:可以看出这个数据集中的数据分为5列,也就是5个特征,5个维度,这5个列分别是:鸢尾花的花萼长度、花萼宽度、花瓣长度、 花瓣宽度、以及花的类别。这样的5个维度很难通过可视化的方式,所以下面我们将通过PCA算法来完成降维的操作,将5维数据将成2维。数据的读取下面我们先读取文件中的数据,并且为每列数据指定其列名,这样更加的有利于查看我们读取到数据。import numpy as npimport pandas as pddf=pd.read_csv('iris.data')df.columns=['sepal_len','sepal_wid','petal_len','petal_wid','class']print(df.hean())部分数据可视化代码可视化效果数据的处理下面我们对数据进行处理,也就是标准化我们的数据集,将数据属性(按列进行)减去其均值,并除以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1标准化标准化完成之后,我们下面的任务是求出协方差矩阵,我们最终算出来的协方差矩阵中的每一个元素表示特征i和特征j之间的之间的协方差,协方差可以理解为两个特征之间的相关性,如果值为正就表示正相关,越大越正相关,如果值为负就表示负相关,越小就表示越负相关,如果值为0

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com