Fisher判别

Fisher判别的基本思路就是投影,针对P维空间中的某点x=(x1,x2,x3,…,xp),寻找一个能使它降为一维数值的线性函数y(x)= ∑Cjxj,然后应用这个线性函数把P维空间中的已知类别总体以及求知类别归属的样本都变换为一维数据,再根据其间的亲疏程度把未知归属的样本点判定其归属。这个线性函数应该能够在把P维空间中的所有点转化为一维数值之后,既能最大限度地缩小同类中各个样本点之间的差异,又能最大限度地扩大不同类别中各个样本点之间的差异,这样才可能获得较高的判别效率。

library(ggplot2)    
library(lattice)
library(kernlab)
library(caret)

#将数据使用留出采样法进行划分成训练集、测试集
train <- createDataPartition(y=iris$Species, p=0.75, list=FALSE)
training <- iris[train,]
testing <- iris[-train,]

library(MASS)

model <- lda(Species ~ ., data = training)
table(testing$Species, predict(model, testing[, c(1, 2, 3, 4)])$class)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容