高维中的核方法不太实用,直接跳过到6.6节。
先来看图6.13
SAheart <- read.csv("SAheart.data")
attach(SAheart)
sbp.chd <-sort(SAheart[chd==1,2])#需要排序,不然不是曲线图
#sbp.chd.test <- seq(105,215,by=1)
n <- length(sbp.chd)
hist(sbp.chd, border="white", main="", freq=FALSE)
rug(sbp.chd, col="green", lwd=2)
for (i in 1:n) lines(sbp.chd, dnorm(sbp.chd,sbp.chd[i],5)/10, col="blue", lwd=1)#权值用dnorm函数来算。
#先生成数据,然后按照估算密度。
d <- density(sbp.chd, bw=5,kernel="gaussian")#密度估算
lines(d, lwd=3,col="red")
上面的代码稍作修改,就 能生成图6.14
核密度估计可以基于贝叶斯定力用来做核密度分类。
图6.14分类的结果