2017-02-07 4 views
0

e1071パッケージを使ってIris DataSetでNaiveBayesを使っていくつかの分類をしようとしていますが、Rpartのように述語を作ることはできません。どのようにこれを解決するために私は予測しようとしているp4に基づいて混乱行列を構築することができます。RのNaiveBayesは予測できません

> table(iris$Species) 

    setosa versicolor virginica 
     50   50   50 
> head(iris) 
    Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
1   5.1   3.5   1.4   0.2 setosa 
2   4.9   3.0   1.4   0.2 setosa 
3   4.7   3.2   1.3   0.2 setosa 
4   4.6   3.1   1.5   0.2 setosa 
5   5.0   3.6   1.4   0.2 setosa 
6   5.4   3.9   1.7   0.4 setosa 
> set.seed(9850) 
> g<-runif(nrow(iris)) 
> irisr <- iris[order(g),] 
> m4 <- naiveBayes(Species~., data=irisr[1:100,], method="class") 
> m4 

Naive Bayes Classifier for Discrete Predictors 

Call: 
naiveBayes.default(x = X, y = Y, laplace = laplace, method = "class") 

A-priori probabilities: 
Y 
    setosa versicolor virginica 
     0.34  0.35  0.31 

Conditional probabilities: 
      Sepal.Length 
Y    [,1]  [,2] 
    setosa  5.000000 0.3797926 
    versicolor 5.857143 0.4545752 
    virginica 6.658065 0.7017949 

      Sepal.Width 
Y    [,1]  [,2] 
    setosa  3.461765 0.4221264 
    versicolor 2.717143 0.3212894 
    virginica 2.990323 0.3543584 

      Petal.Length 
Y    [,1]  [,2] 
    setosa  1.450000 0.1619016 
    versicolor 4.197143 0.4273624 
    virginica 5.600000 0.6066300 

      Petal.Width 
Y     [,1]  [,2] 
    setosa  0.2558824 0.1159707 
    versicolor 1.2800000 0.1827889 
    virginica 2.0000000 0.2708013 
> summary (m4) 
     Length Class Mode  
apriori 3  table numeric 
tables 4  -none- list  
levels 3  -none- character 
call 5  -none- call  
> p4<- predict(m4, irisr[101:150,], type="class") 
#Gives me this error ! How can I solve this ? 
Error in UseMethod("predict") : 
    no applicable method for 'predict' applied to an object of class "naiveBayes" 
+1

使用するパッケージを指定する必要があります。私はe1071を仮定していますか? – Dason

+0

はい私はe1071パッケージを使用しています! –

答えて

0

私は答えを見つけます!

> m4 <- naiveBayes(as.factor(Species)~., data=irisr[1:100,], method="class") 
> p4<-predict(m4, irisr[101:150,]) 
> p4 
[1] virginica setosa  versicolor virginica versicolor 
[6] setosa  setosa  versicolor versicolor versicolor 
[11] versicolor versicolor virginica setosa  versicolor 
[16] virginica virginica virginica versicolor virginica 
[21] setosa  virginica virginica setosa  virginica 
[26] setosa  setosa  versicolor setosa  versicolor 
[31] setosa  virginica virginica virginica setosa  
[36] virginica versicolor virginica setosa  setosa  
[41] virginica setosa  virginica virginica virginica 
[46] setosa  virginica virginica virginica setosa  
Levels: setosa versicolor virginica 
> table(irisr[101:150,5], predicted=p4) 
      predicted 
      setosa versicolor virginica 
    setosa   16   0   0 
    versicolor  0   11   4 
    virginica  0   1  18 
関連する問題