Class V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 republican n y n y y y n n n y y y y n y
2 republican n y n y y y n n n n n y y y n
3 democrat y y y y n n n n y n y y n n
4 democrat n y y n y n n n n y n y n n y
5 democrat y y y n y y n n n n y y y y y
6 democrat n y y n y y n n n n n n y y y y
Koľko je v jednotlivých stĺpcoch NA hodnôt:
apply(HouseVotes84,2, # po stlpcochFUN =function(x) sum(is.na(x)))
Class V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15
2 republican n y n y y y n n n n n y y y n
6 democrat n y y n y y n n n n n n y y y
9 republican n y n y y y n n n n n y y y n
20 democrat y y y n n n y y y n y n n n y
24 democrat y y y n n n y y y n n n n n y
25 democrat y n y n n n y y y n n n n n y
Rozdelíme dáta na trénovaciu a testovaciu časť.
Poznámka: Prečo nie je cieľom len presne nafitovať dáta a potom to použiť na predikcie:
library(caret)set.seed(123)train_index <-createDataPartition(votes$Class, p =0.8, # podiel dat v trenovacej castilist =FALSE)votes_train <- votes[train_index, ]votes_test <- votes[-train_index, ] nrow(votes_train)
[1] 225
nrow(votes_test)
[1] 56
head(votes_train)
Class V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15
2 republican n y n y y y n n n n n y y y n
6 democrat n y y n y y n n n n n n y y y
25 democrat y n y n n n y y y n n n n n y
26 democrat y n y n n n y y y y n n n n y
27 democrat y n y n n n y y y n y n n n y
28 democrat y y y n n n y y y n y n n n y
Spravme na základe dát votes_train naivný Bayesovský model, ktorý bude využívať výsledky hlasovaní 1, 8, 15.
Naive Bayes Classifier for Discrete Predictors
Call:
naiveBayes.default(x = X, y = Y, laplace = laplace)
A-priori probabilities:
Y
democrat republican
0.5866667 0.4133333
Conditional probabilities:
V1
Y n y
democrat 0.4090909 0.5909091
republican 0.7741935 0.2258065
V8
Y n y
democrat 0.1893939 0.8106061
republican 0.8602151 0.1397849
V15
Y n y
democrat 0.3636364 0.6363636
republican 0.8709677 0.1290323
predikcie_raw <-predict(bayes, newdata = votes_test, type ="raw")head(predikcie_raw)