Tolong izinkan saya untuk mengajukan pertanyaan dasar. Saya memahami mekanisme Naive Bayes untuk variabel diskrit, dan dapat mengulang perhitungan "dengan tangan". (kode HouseVotes84 semua jalan per di bawah ini).
Namun - Saya berjuang untuk melihat bagaimana mekanisme bekerja untuk variabel kontinu (contoh kode per di bawah). Bagaimana paket menghitung probabilitas bersyarat [, 1]
dan [, 2]
dalam tabel per di bawah ini? Karena setiap nilai X individu adalah unik, apakah ia membuat rentang di sekitar setiap titik, dan menghitung frekuensi relatif dalam rentang ini (misalnya jika titiknya adalah +0,311, apakah ia mengevaluasi timbulnya bintik-bintik biru dan oranye di misalnya rentang 0,1 dan +0.5?) Ini mungkin pertanyaan mendasar - permintaan maaf jika demikian.
Meja
A-priori probabilities:
Y
blue orange
0.5 0.5
Conditional probabilities:
values
Y [,1] [,2]
blue 0.08703793 0.9238799
orange 1.33486433 0.9988389
Kode
blue=rep("blue",50); orange=rep("orange",50); colour=c(blue,orange); values1=rnorm(50,0,1); values2=rnorm(50,1,1); values=c(values1,values2)
df=data.frame(colour,values)
(model <- naiveBayes(colour ~ ., data = df))
(predict(model, df[1:10,]))
(predict(model, df[1:10,], type = "raw"))
(pred <- predict(model, df))
table(pred, df$colour)
## Categorical data only:
library(e1071)
data(HouseVotes84, package = "mlbench")
HouseVotes84=HouseVotes84[,1:3]
(model <- naiveBayes(Class ~ ., data = HouseVotes84))
(predict(model, HouseVotes84[1:10,]))
(predict(model, HouseVotes84[1:10,], type = "raw"))
(pred <- predict(model, HouseVotes84))
table(pred, HouseVotes84$Class)