R语言实现鸢尾花分类预测的分析案例分享!!
R语言实现鸢尾花分类预测的分析案例分享!!
很多小伙伴经常苦恼自己的文章用上什么方法可以显得与众不同呢?小云想来想去,终于想到了一个好用且冷门的机器学习算法!它就是一种用于数据降维以及分类预测的机器学习方法——LDA。是不是很少见过这个名字?今天就让小云带你一起来学习一下吧!
早期的LDA只能处理二分类问题,后来被拓展为了“多类别线性判别分析”又称“多元判别分析”,将LDA改进为多分类模型。那么它是如何降维的呢?其实LDA的本质就是将数据集投影到具有良好分类特征的低维空间上,投影后类内方差最小、类间方差最大R语言实现鸢尾花分类预测的分析案例分享!!,用于表征数据结构以及识别分类,因此它在高维数据集的分析中非常流行。与其它机器学习算法(例如神经网络、随机森林等)相比,LDA的主要优点是可更好避免过拟合以及计算简单。是不是感觉还不错?
多说无益,代码食用起来更佳,接下来小云将通过一个R语言实现鸢尾花分类预测的分析案例来带大家认识LDA 。分析流程主要分为四步:
Step1:导入相关包
Step2:数据准备
Step3:模型训练及预测
Step4:结果可视化
代码展示:
1、导入相关包
(MASS)
()
2、数据准备
下图展示了鸢尾花数据的部分样本表达现代六爻预测的十种分类预测方法,每行代表一个样本,每列为其不同的特征R语言实现鸢尾花分类预测的分析案例分享!!,其中列为每个样本的种类现代六爻预测的十种分类预测方法现代六爻预测的十种分类预测方法,也是本次分析的目标特征。
nx = 150
#获取鸢尾花数据
= iris[1:nx, 1:4]
#获取鸢尾花分类结果
= iris[1:nx, 5]
head()
3、模型训练及预测
#模型搭建并训练
lda.sol = lda(, )
#查看模型
lda.sol
#对数据的分类进行预测
=(lda.sol, )
#展示预测分类结果
table(,$class)
P = lda.sol$
# 将均值向量降维
means = lda.sol$means %*% P
# 加权平均的出总的降维均值向量,权重就是lda.sol$prior
= as.(lda.sol$prior %*% means)
#获取所有样本个数
= nrow()
# 把样本降维并平移
4、结果可视化
#查看关键特征下的样本表达情况
head()
#使用方法对样本分类进行散点图绘制
(cbind(, x), aes(LD1, LD2, color = )) +() +(level = 0.95, show. = FALSE)
分析结果展示:
分类预测结果矩阵
预测准确率
样本在LD1、LD2轴上的散点分布图
由分析结果图可以看出,约98%的数据可以被LDA模型分类到正确的类别,说明LDA分类器的精度是可靠的,且根据可视化结果所得散点图可以看出,样本被分为3类,其中不同颜色代表不同的样本种类,同时可以看到所有样本在LD1轴上具有较好区分度,说明LD1是最能体现出样本类间差异的重要特征,有了重要特征,小伙伴们就可以利用这个特征下的样本表达情况来自由发挥啦!
整个LDA分析流程到这里就结束啦,是不是很简单?但是也不要掉以轻心哦!最好还是亲自动手试一试,用自己手头的数据来试试LDA模型的降维效果以及分类预测的性能,说不定会有意想不到的惊喜哦!
主题测试文章,只做测试使用。发布者:佚名,转转请注明出处:https://jiemeng.link/liuyao/5517.html