Naive Bayes Classifier를 만들기 위해 교수가 제공 한 코드를 살펴 보겠습니다. 우리는 내장 된 패키지를 사용하지 않고 있음을 주목하십시오. 오히려 그것을 학습 목적으로 쓰는 것. 교수가 사용했다고 진술의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
그가 어디 다시 t 변수를 재사용 않는다? –
@ AlihanZıhna, 맞습니다. 나는 그 질문을 갱신했다. –
't'는'Xtrain [, 11]'이 클래스'c'와 같은 위치를 나타내는 논리의 벡터 여야합니다. 벡터의 합계는'c' 클래스의 위치에서'n '에 할당하는 발생 횟수를 제공합니다. – Val