2017-09-03 14 views
-1

私は以下の問題を抱えています。Bayesクラシファイアで2つの変数 "sex"と "agegroup"を使用して、因子変数 "cancer"(yesまたはno)を指定したいと思います。Naive Bayes R - strange結果の分類

install.packages("e1071") 
install.packages("gmodels") 
library(e1071) 
library(gmodels) 

data<-read.csv("http://www.reduts.net/cancer.csv", sep=";", stringsAsFactors = T) 

## Sex and Agegroup ## 
###################### 

# classification 
testset<-data[,c("sex", "agegroup")] 
cancer<-data[,"cancer"] 
model<-naiveBayes(testset, cancer) 
model 

# apply model on testset 
testset$predicted<-predict(model, testset) 
testset$cancer<-cancer 

CrossTable(testset$predicted, testset$cancer, prop.chisq=F, prop.r=F, prop.c=F, prop.t = F) 

結果は私のデータによると、男性と若い人が癌を持っている可能性がありますことを私に示しています これらは私の(架空の)サンプルデータです。実際のがん分類と比較して、私のモデルでは、200例中147例(73%)が正しく分類されています。

    | testset$original 
testset$predicted |  no |  yes | Row Total | 
------------------|-----------|-----------|-----------| 
       no |  88 |  12 |  100 | 
------------------|-----------|-----------|-----------| 
       yes |  54 |  46 |  100 | 
------------------|-----------|-----------|-----------| 
    Column Total |  142 |  58 |  200 | 
------------------|-----------|-----------|-----------| 

しかし、その後、私は唯一の1つの分類変数(性別)を使用して同じことをやっていた:

## Sex only   ## 
###################### 

# classification 
testset2<-data[,c("sex")] 
cancer<-data[,"cancer"] 
model2<-naiveBayes(testset2, cancer) 
model2 

を次のようにモデルがある:明らかに

Naive Bayes Classifier for Discrete Predictors 

Call: 
naiveBayes.default(x = testset2, y = cancer) 

A-priori probabilities: 
cancer 
    no yes 
0.645 0.355 

Conditional probabilities: 
     x 
cancer   f   m 
    no 0.4573643 0.5426357 
    yes 0.5774648 0.4225352 

、男性であります女性と比較して癌を有する可能性がより高い(54%対46%)。私は元のデータに私のモデルを適用すると今、すべての場合は、同じクラスに分類されている

# apply model on testset 
testset2$predicted<-predict(model2, testset2) 
testset2$cancer<-cancer 

CrossTable(testset2$predicted, testset2$cancer, prop.chisq=F, prop.r=F, prop.c=F, prop.t = F) 

Total Observations in Table: 200 

        | testset2$cancer 
testset2$predicted |  no |  yes | Row Total | 
-------------------|-----------|-----------|-----------| 
       no |  129 |  71 |  200 | 
-------------------|-----------|-----------|-----------| 
     Column Total |  129 |  71 |  200 | 
-------------------|-----------|-----------|-----------| 

両方の女性と男性が割り当てられている、なぜ誰もが、私に説明していただけます同じクラス

答えて

1

これらの出力を誤解しています。あなたはMODEL2をプリントアウトし、「明らかに、男性は、女性(46%対54%)に比べて、がんを持っている 可能性が高くなります。」と結論することが間違っている

Conditional probabilities: 
     x 
cancer   f   m 
    no 0.4573643 0.5426357 
    yes 0.5774648 0.4225352 

を参照してください この表は、4つの数字

P(female | no cancer)  P(male | no cancer) 
P(female | cancer)  P(male | cancer) 

最初

table(cancer, testset2) 
     testset2 
cancer f m 
    no 59 70 
    yes 41 30 

の出力を見て、これを簡単に確認することができ、私たちがされて言っている何

モデルからの条件付確率線は、次のように計算することができる。 129人ががんを持っていません。 59/129 = 0.4573643は女性です。 70/129 = 0.5426357は男性です。その最初の行を読む方法は です "患者が癌にかかっていないことを考えると、彼らは男性より多い可能性があります(54%対46%)"。

質問:誰でも私に説明してください。なぜなら、 女性と男性が同じクラスに割り当てられているのですか?男性はに割り当てされるクラスを決定する

、あなたはP(No Cancer | male)
P(Cancer | Male)を比較する必要があります。どちらが大きいかは、 クラスを示すために宣言します。ナイーブベイズを使用する場合は、これらの は、我々は、我々は唯一の大きいどの程度 ケアので、もし

P(Cancer | Male) = P(Male | Cancer) * P(Cancer)/P(Male) 
with 
P(No Cancer | Male) = P(Male | No Cancer) * P(No Cancer)/P(Male) 

分母は、どちらの場合も同じです比較として、これを再定式するベイズルールを適用することにより推定されていますP(Male | No Cancer) * P(No Cancer)

P(Male | Cancer) * P(Cancer)の大きさを比較することができ、これらは正確トンです彼はあなたがモデルをプリントアウトするときに報告されます。男性

P(Male | Cancer) * P(Cancer)  = 0.4225352 * 0.355 = 0.15 
P(Male | No Cancer) * P(No Cancer) = 0.5426357 * 0.645 = 0.35 

ためので

、(注意:私たちは分母 P(Male)を無視しているため、これらは本当の確率ではありません)いいえがんは、より高い番号を持っているので、私たちは、男性のためのがんを予測していません。

同様に、メスのために我々は

P(Female | Cancer) * P(Cancer)  = 0.5774648 * 0.355 = 0.205 
P(Female | No Cancer) * P(No Cancer) = 0.4573643 * 0.645 = 0.295 

を計算して、女性のために、あまりにも、私たちは何のがんを予測しません。女性のためにこの の計算を強調することは有用かもしれません。 P(Female | Cancer) > P(Female | No Cancer)でも、 これらは全体の確率P(Cancer)P(No Cancer)によって重み付けされます。
全体的にCancerではなくNo Cancerがある可能性が高いので、それより大きいスイッチ があります。 NaïveBayesは、両方の性別のためにがんがないと予測しています。

関連する問題