Я пытаюсь провести наивную байесовскую классификацию в R. Я видел этот пример в следующей ссылке.
http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/Na%C3%AFve_Bayes
Только 2 строки.Сначала классифицируйте, а затем прогнозируйте.
> classifier<-naiveBayes(iris[,1:4], iris[,5])
> table(predict(classifier, iris[,-5]), iris[,5])
Этот же код в "наборе данных iris" работает нормально.Но когда я применил то же самое к своему набору данных, я получаю некоторые ошибки.
Мой набор данных содержит 4 атрибута и 4-й атрибут атрибут класса.
> str(data1)
'data.frame': 1370 obs. of 4 variables:
$ TenScore : num 85 84.2 67.2 91.5 79.3 ...
$ TwelthScore : num 69 87.9 67.5 82.7 72.4 ...
$ GDegreeScore : num 63.3 70.7 61.3 78.2 62.1 ...
$ Got_Admission: chr "No" "No" "No" "No" ...
Итак, я попробовал это.
> classifier<-naiveBayes(data1[,1:3], data1[,4])
> table(predict(classifier, data1[,-4]), data1[,4])
Error in table(predict(classifier, data1[, -4]), data1[, 4]) :
all arguments must have the same length
При выполнении команды я получаю сообщение об ошибке выше.Когда я просто использую прогнозирование, оно дает мне следующий вывод.
> predict(classifier, data1[,-4])
factor(0)
Levels:
str(data1) 'data.frame': 1370 obs. of 4 variables:
$ TenScore : num 85 84.2 67.2 91.5 79.3 ...
$ TwelthScore : num 69 87.9 67.5 82.7 72.4 ...
$ GDegreeScore : num 63.3 70.7 61.3 78.2 62.1 ...
$ Got_Admission: chr "No" "No" "No" "No" ...
Пожалуйста, объясните мне, в чем ошибки и как их решить?