gpt4 book ai didi

r - 使用 MASS :lda() 在 LDA 中观察线性判别式的访问分数

转载 作者:行者123 更新时间:2023-12-01 01:25:33 25 4
gpt4 key购买 nike

library(MASS)
example(lda)
plot(z)

如何访问 z 中的所有点?我想知道 LD1 和 LD2 上每个点的值,具体取决于它们的 Sp (c,s,v)。

最佳答案

您正在寻找的是 "lda" 类对象的 predict() 方法的一部分(参见 ?predict.lda)。它作为 predict(z) 生成的对象的组件 x 返回:

## follow example from ?lda
Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]),
Sp = rep(c("s","c","v"), rep(50,3)))
set.seed(1) ## remove this line if you want it to be pseudo random
train <- sample(1:150, 75)
table(Iris$Sp[train])
## your answer may differ
## c s v
## 22 23 30
z <- lda(Sp ~ ., Iris, prior = c(1,1,1)/3, subset = train)

## get the whole prediction object
pred <- predict(z)
## show first few sample scores on LDs
head(z$x)

最后一行显示线性判别式上对象分数的前几行

> head(pred$x)
LD1 LD2
40 -8.334664 0.1348578
56 2.462821 -1.5758927
85 2.998319 -0.6648073
134 4.030165 -1.4724530
30 -7.511226 -0.6519301
131 6.779570 -0.8675742

这些分数可以这样绘制

plot(LD2 ~ LD1, data = pred$x)

生成以下图(针对此训练样本!)

lda scores plot

关于r - 使用 MASS :lda() 在 LDA 中观察线性判别式的访问分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com