2016-05-19 15 views
0

したがって、4つのクラスのオブジェクトでデータを設定しました。私はNaive Bayesクラシファイアを使って新しいオブジェクトを分類しています。新しいオブジェクトがどのクラスにも属してはならないかどうかを判断することは可能ですか(=何とか新しいクラス "Unclassified"を挿入しますか?)RのNaive Bayes:オブジェクトを新しい「Unclassified」クラスに分類する方法

convert_counts <- function(x) { 
x <- ifelse(x > 0, 1, 0) 
x <- factor(x, levels = c(0, 1), labels = c("No", "Yes")) 
return(x) 
} 
sntcs_train1 <- apply(sntcs_train1, MARGIN = 2, convert_counts) 
sntcs_test1 <- apply(sntcs_test1, MARGIN = 2, convert_counts) 
library(e1071) 
sntcs_classifier <- naiveBayes(sntcs_train1, sntcs_train$Author) 
sntcs_test_pred <- predict(sntcs_classifier, sntcs_test1) 
+0

単純なアプローチは、「Unclassified」であるべきデータの例を取得し、それらを「naiveBayes」に供給することです(したがって、4ではなく5つのクラスがあります)。あなたは4つのクラスを持つアルゴリズムによって確率を得る方法を考えるかもしれないし、何らかの理由で==>基準を確立することは本当に恣意的です。乾杯。 – lrnzcig

答えて

0

技術的に可能です。あなたが使用しているのは、多項式ナイーブベイズ分類子です。以下のように数学を表現することができる。

nまであなたが分類し、Pたい別個のクラスです
      P(B|A)*P(A) 
    P(A|B) =   ____________________ 

      P(B|A)*P(A) + P(B|C)*P(C) +...+P(B|n)*P(n) 

(B | A)Bの確率は、Aが発生したことを与え発生しているとP( )は、Aが発生する確率である。

あなたには、いくつかの第5回「未分類」の分類を追加したい場合は、以下の2つの値を把握する必要があります。

P(B| unclassified)*P(unclassified) 

A非機密扱いである確率は、単にため

1-P(A)-P(B)-P(C)-P(D) 

になりますがあなたの現在の4つのクラスのそれぞれ。しかし、必要な分析を実行して、あなたの内容が何であるか把握する必要があります。

P(B| unclassified) 

用語は次のとおりです。

関連する問題