Naive Bayes がどのように機能しているかを理解しようとしています。
次のようなデータセットがあります。
> data.flu
chills runnyNose headache fever flu
1 1 0 M 1 0
2 1 1 N 0 1
3 1 0 S 1 1
4 0 1 M 1 1
5 0 0 N 0 0
6 0 1 S 1 1
7 0 1 S 0 0
8 1 1 M 1 1
これらの列の型が次のようになっている場合:
str(data.flu)
'data.frame': 8 obs. of 5 variables:
$ chills : num 1 1 1 0 0 0 0 1
$ runnyNose: num 0 1 0 1 0 1 1 1
$ headache : Factor w/ 3 levels "M","N","S": 1 2 3 1 2 3 3 1
$ fever : num 1 0 1 1 0 1 0 1
$ flu : Factor w/ 2 levels "0","1": 1 2 2 2 1 2 1 2
モデルは次のようになります。
Naive Bayes Classifier for Discrete Predictors
Call:
naiveBayes.default(x = X, y = Y, laplace = laplace)
A-priori probabilities:
Y
0 1
0.375 0.625
Conditional probabilities:
chills
Y [,1] [,2]
0 0.3333333 0.5773503
1 0.6000000 0.5477226
...
私P(chills=1|flu=1) + P(chills=0|flu=1) != 1
の見解では、flu
が陽性の場合、人は悪寒を持っているかどうかのどちらかである..確率に関する私の初歩的な知識に対して、何かが完全に間違っていました。
すべてのタイプを因数に変更することで自分の考えを検証し、すべての数値が私の便利な計算と一致しました。
A-priori probabilities:
Y
0 1
0.375 0.625
Conditional probabilities:
chills
Y 0 1
0 0.6666667 0.3333333
1 0.4000000 0.6000000
...
列に数値列が含まれている場合、最初のシナリオの確率がどのように計算されるかを誰かに説明してもらえますか...本や紙を教えてくれると非常に役立ちます。
どうもありがとう