Naive Bayesクラシファイアを作成するために私たちの教授が提供したコードを調べています。組み込みパッケージを使用していないことに注意してください。むしろ学習目的のために自分自身で書くこと。教授が使用されたことを文のR(Naive Bayes Classifier)におけるこのステートメントの意味
一つは、私を混乱させる:Xtrain
は、我々はから分類器を構築するために使用しているデータセットがある
t = (Xtrain[,11] == c);
。私はXtrain[,11] == c
が何をするのか理解していると思いますが、私が得ないのはt
への割り当てです。私はそれが何であり、そしてなぜそれを知らせてくれますか?
編集:
後、彼は分類器を訓練するために使用されるコードです:
X = read.csv("naive_bayes_binary.csv");
tnum = nrow(X)/2;
Xtrain = X[1:tnum,]; # the data we construct the classifier from
p = matrix(0,3,10); # p[c,j] = P(x_j = 1 | Y = c)
prior = rep(0,3); # will be prior probs
n = rep(0,3); # will be class counts
for (c in 1:3) {
t = (Xtrain[,11] == c); ### What is this?
n[c] = sum(t);
for (j in 1:10) {
p[c,j] = sum(Xtrain[t,j] == 1)/n[c]
# empirical prob that jth feat = 1 for cth class
}
}
prior = n/tnum; # the prior probabilities of the classes
を、彼はどこかで再びそのトン変数を再利用していますか? –
@AlihanZıhna、そうです。私は質問を更新しました。 –
't'は' Xtrain [、11] 'がクラス' c'と等しい位置を示す論理のベクトルでなければなりません。ベクトルの合計は、 'c'クラスの位置で' n'に代入する回数を返します。 – Val