2016-07-23 18 views
0

Ich bekomme Fehler während der Arbeit an C5.0 mit Mushroom Data Set. Ich habe die Zielklasse berücksichtigt und es gibt keine fehlenden Werte.c50 code genannt Ausfahrt mit Wert 1 auf Mushroom Data set

f <-file("https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data", open="r") 
data <- read.table(f, sep=",", header=F) 
str(data) 

gibt

'data.frame': 8124 obs. of 23 variables: 
$ V1 : Factor w/ 2 levels "e","p": 2 1 1 2 1 1 1 1 2 1 ... 
$ V2 : Factor w/ 6 levels "b","c","f","k",..: 6 6 1 6 6 6 1 1 6 1 ... 
$ V3 : Factor w/ 4 levels "f","g","s","y": 3 3 3 4 3 4 3 4 4 3 ... 
$ V4 : Factor w/ 10 levels "b","c","e","g",..: 5 10 9 9 4 10 9 9 9 10 ... 
$ V5 : Factor w/ 2 levels "f","t": 2 2 2 2 1 2 2 2 2 2 ... 
$ V6 : Factor w/ 9 levels "a","c","f","l",..: 7 1 4 7 6 1 1 4 7 1 ... 
$ V7 : Factor w/ 2 levels "a","f": 2 2 2 2 2 2 2 2 2 2 ... 
$ V8 : Factor w/ 2 levels "c","w": 1 1 1 1 2 1 1 1 1 1 ... 
$ V9 : Factor w/ 2 levels "b","n": 2 1 1 2 1 1 1 1 2 1 ... 
$ V10: Factor w/ 12 levels "b","e","g","h",..: 5 5 6 6 5 6 3 6 8 3 ... 
$ V11: Factor w/ 2 levels "e","t": 1 1 1 1 2 1 1 1 1 1 ... 
$ V12: Factor w/ 5 levels "?","b","c","e",..: 4 3 3 4 4 3 3 3 4 3 ... 
$ V13: Factor w/ 4 levels "f","k","s","y": 3 3 3 3 3 3 3 3 3 3 ... 
$ V14: Factor w/ 4 levels "f","k","s","y": 3 3 3 3 3 3 3 3 3 3 ... 
$ V15: Factor w/ 9 levels "b","c","e","g",..: 8 8 8 8 8 8 8 8 8 8 ... 
$ V16: Factor w/ 9 levels "b","c","e","g",..: 8 8 8 8 8 8 8 8 8 8 ... 
$ V17: Factor w/ 1 level "p": 1 1 1 1 1 1 1 1 1 1 ... 
$ V18: Factor w/ 4 levels "n","o","w","y": 3 3 3 3 3 3 3 3 3 3 ... 
$ V19: Factor w/ 3 levels "n","o","t": 2 2 2 2 2 2 2 2 2 2 ... 
$ V20: Factor w/ 5 levels "e","f","l","n",..: 5 5 5 5 1 5 5 5 5 5 ... 
$ V21: Factor w/ 9 levels "b","h","k","n",..: 3 4 4 3 4 3 3 4 3 3 ... 
$ V22: Factor w/ 6 levels "a","c","n","s",..: 4 3 3 4 1 3 3 4 5 4 ... 
$ V23: Factor w/ 7 levels "d","g","l","m",..: 6 2 4 6 2 2 4 4 2 4 ... 

und wenn ich

laufen
C5.model <- C5.0(data[1:4000,-1],data[1:4000,1],trials = 3) 

gibt

c50 code called exit with value 1 

Ich hatte keine Ahnung, wie diese zu finden. Jede Idee zum Debuggen wird geschätzt

Edit1: Fehler ist gleich, aber die Lösung ist anders. Hinweis: Wenn ich den Datensatz geändert habe, funktioniert es.

+0

In diesem Datensatz hat es fehlende Werte, so dass das Problem ist. Dieser Datensatz enthält jedoch keine fehlenden Werte. – krishna

+0

Ihre Daten sind entartet. Zum Beispiel nehmen die Variablen V7 und V17 nur einen Wert an. – tchakravarty

+0

@tchakravarty Das ist korrekt, obwohl V7 eigentlich in Ordnung ist, wenn er nur ein paar Zeilen mehr enthält, da es 2 Ebenen hat. –

Antwort

0
f <-file("https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data", open="r") 
data <- read.table(f, sep=",", header=F) 
str(data) 

pacman::p_load(C50) 
C5.model <- C5.0(data[1:10000,c(2:16,18:23)],data[1:10000,1],trials = 3,na.action = na.pass) 

Spalte 17 war die Ursache dieses Problems, da es keine identifizierende Variation hatte.