我使用e1071包为朴素贝叶斯分类器创建了一个模型。我需要以下面的格式打印条件概率。
P(C = c1)= 0.32 P(A1 = x1 | c1)= 0.33 P(A1 = x2 | c1)= 0.67 P(A2 = y1 | c1)= 0.25 P(A2 = y2 | c1)= 0.75 P(A3 = z1 | c1)= 0.26 P(A3 = z2 | c1)= 0.49 P(A3 = z3 | c1)= 0.25
当我输入模型名称时,我可以看到条件概率但不知道如何访问单个值并使用它以上述格式打印结果。
我是R的新手,不知道如何解析模型并以此形式获取数据。如何解析模型并分离数据?
答案 0 :(得分:1)
只需打印$ tables
> data(Titanic)
> m <- naiveBayes(Survived ~ ., data = Titanic)
> m$tables
$Class
Class
Survived 1st 2nd 3rd Crew
No 0.08187919 0.11208054 0.35436242 0.45167785
Yes 0.28551336 0.16596343 0.25035162 0.29817159
$Sex
Sex
Survived Male Female
No 0.91543624 0.08456376
Yes 0.51617440 0.48382560
$Age
Age
Survived Child Adult
No 0.03489933 0.96510067
Yes 0.08016878 0.91983122
现在你可以读出例如P(Age=Child|Survived=No) = 3%
和P(Age=Child|Survived=yes) = 8%
,P(Class=Crew|Survived=No) = 45%
等等。