Pierwotnie miałem ramkę danych złożoną z 12 kolumn w N wierszach. Ostatnia kolumna to moja klasa (0 lub 1). Miałem przekonwertować całą ramkę danych do numerycznego zUżycie randomforest() do klasyfikacji w R?
training <- sapply(training.temp,as.numeric)
Ale potem pomyślałem, że potrzebne kolumnę class być kolumna czynnikiem używać lasy losowe() narzędzia jako klasyfikatora, więc zrobiłem
training[,"Class"] <- factor(training[,ncol(training)])
mogę przystąpić do tworzenia drzewa z
training_rf <- randomForest(Class ~., data = trainData, importance = TRUE, do.trace = 100)
Ale dostaję dwa błędy:
1: In Ops.factor(training[, "Status"], factor(training[, ncol(training)])) :
<= this is not relevant for factors (roughly translated)
2: In randomForest.default(m, y, ...) :
The response has five or fewer unique values. Are you sure you want to do regression?
Byłbym wdzięczny, gdyby ktoś mógł wskazać błąd formatowania, który robię.
Dzięki!
Próbujesz użyć '<=' do przypisania zamiast '<-'. Czy tworzysz także nową kolumnę? jeśli tak, powinieneś pozbyć się numerycznej wersji 'Klasy' lub nie używać' .' w formule –
Jedyną informacją, która może rozstrzygnąć to pytanie, jest wynik działania 'str (training)'. – joran
@joran: num [1: 891, 1:12] 1 2 3 4 5 6 7 8 9 10 ... - attr (*, "dimnames") = Lista 2 .. $: NULL .. $: chr [1:12] "ID" "Class" "Sex" "Age" ... – marc