运用Fisher判别法,使用iris数据进行判别分析。请用R语言写出代码回答以下问题: 1、第一判别函数对判别模型的贡献是多大(判别效率)? 2、请写出第一判别函数和第二判别函数的表达式(非标准化)? 3、请解释两个判别函数的大致含义。 4、某鸢尾花的四个变量取值分别为5.1,3.5,1.4,0.2,假设三种鸢尾 花在第一判别函数上的方差没有显著差异,请采用第一判别函数,为 该鸢尾花判断类型。 5、利用Fisher判别法使用iris的前135样本点进行建模分析,井用 prodict()对后15个样本点进行预测
时间: 2024-03-10 14:49:35 浏览: 144
判别分析 R语言实现 自编程实现对鸢尾花的判别分析 拟从统计年鉴上至少自选一个近年数据作判别分析
以下是使用R语言回答问题的代码:
```R
# 加载iris数据集
data(iris)
# 取出前135个样本点进行建模分析
iris.train <- iris[1:135,]
# 定义鸢尾花类别
iris.types <- unique(iris$Species)
# Fisher判别法
fisher <- lda(Species ~ ., data = iris.train)
# 查看第一判别函数对判别模型的贡献
fisher$scaling[1]
# 输出第一判别函数和第二判别函数的表达式
fisher$scaling[,1]
fisher$scaling[,2]
# 解释两个判别函数的大致含义
# 第一判别函数:对花萼长度、花萼宽度和花瓣长度有较大的权重,对花瓣宽度有较小的权重,可以很好地区分不同种类的鸢尾花。
# 第二判别函数:对花萼宽度和花瓣宽度有较大的权重,对花萼长度和花瓣长度有较小的权重,可以进一步提高分类的准确性。
# 利用第一判别函数为该鸢尾花判断类型
new.data <- data.frame(Sepal.Length = 5.1,
Sepal.Width = 3.5,
Petal.Length = 1.4,
Petal.Width = 0.2)
predict(fisher, newdata = new.data)
# 利用Fisher判别法对后15个样本点进行预测
iris.test <- iris[136:150,]
predict(fisher, newdata = iris.test)
```
注意:以上代码仅供参考,实际使用时需要根据具体情况进行调整。
阅读全文