Это небольшой образец моего data.frameR - ансамбль с нейронной сетью?
naiveBayesPrediction knnPred5 knnPred10 dectreePrediction logressionPrediction correctClass
1 non-bob 2 2 non-bob 0.687969711847463 1
2 non-bob 2 2 non-bob 0.85851872253358 1
3 non-bob 1 1 non-bob 0.500470892627383 1
4 non-bob 1 1 non-bob 0.77762739066215 1
5 non-bob 1 2 non-bob 0.556431439357365 1
6 non-bob 1 2 non-bob 0.604868385598237 1
7 non-bob 2 2 non-bob 0.554624186182919 1
Я факторизуется все,
'data.frame': 505 obs. of 6 variables:
$ naiveBayesPrediction: Factor w/ 2 levels "bob","non-bob": 2 2 2 2 2 2 2 2 2 2 ...
$ knnPred5 : Factor w/ 2 levels "1","2": 2 2 1 1 1 1 2 1 2 1 ...
$ knnPred10 : Factor w/ 2 levels "1","2": 2 2 1 1 2 2 2 1 2 2 ...
$ dectreePrediction : Factor w/ 1 level "non-bob": 1 1 1 1 1 1 1 1 1 1 ...
$ logressionPrediction: Factor w/ 505 levels "0.205412826873861",..: 251 415 48 354 92 145 90 123 28 491 ...
$ correctClass : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
Затем я попытался ансамблю его с помощью neuralnet
ensembleModel <- neuralnet(correctClass ~ naiveBayesPrediction + knnPred5 + knnPred10 + dectreePrediction + logressionPrediction, data=allClassifiers[ensembleTrainSample,])
Ошибка в нейронах [[i]]% *% веса [[i]]: требуется числовой/комплексный аргументы матрицы/вектора
Затем я попытался поместить в матрицу
m <- model.matrix(correctClass ~ naiveBayesPrediction + knnPred5 + knnPred10 + dectreePrediction + logressionPrediction, data = allClassifiers)
Ошибка в
contrasts<-
(*tmp*
, значение = contr.funs [1 + ISOF [пп]]):
контрасты могут быть применены только для коэффициентов с 2 или более уровнями
Я думаю, что это должно быть связано с тем, что одна функция «decistreePrediction» имеет только 1 уровень, но она только находит один уровень из 2 возможных результатов (bob или non-bob), поэтому я понятия не имею, куда идти оттуда.
Возможно ли, что вы случайно переименовали свои 'allClassifiers $ dectreePrediction' в одно и то же (re: [ваш предыдущий вопрос] (http://stackoverflow.com/questions/29711067/r-how-to -Изменение-имя-фактор-уровней))? Кроме того, я не думаю, что имеет смысл сделать '$ logressionPrediction' фактором, если только вы его не сперва. – alexforrence
alexforrence Спасибо за ваш ответ. Я не понимаю вопроса, я обновил свой код дерева решений, чтобы узнать, может ли его использовать, если что-то еще полезно, я тоже могу это показать. –