2016-04-09 13 views
2

Ich versuche das Paket frabs zu starten, um ein Klassifikationsproblem zu lösen, am Beispiel eines Iris-Datasets.R - frbs Paketfehler - falsche Anzahl von Dimensionen

Mein Datensatz (Dataset_match) enthält 9 Eingabevariablen (alle numerisch), 1 binäre Ausgabevariable und 27 196 Beobachtungen.

Ich habe die Daten in folgenden Weise aufgeteilt:

data.train<-Dataset_match[1 : 17200, ] 
data.test<-Dataset_match[17201 : 27196, 1:9] 
data.real<-matrix(Dataset_match[17201 : 27196, 10],ncol = 1) 
range.data.input<-apply(Dataset_match[, -ncol(Dataset_match)], 2, range) 

Das Verfahren und seine Parameter wurden wie folgt definiert:

method.type <- "FRBCS.W" 
control <- list(num.labels = 15, type.mf = "GAUSSIAN", type.tnorm = "MIN",type.snorm = "MAX", type.implication.func = "ZADEH") 

Aber wenn ich versuche, um das Modell zu generieren, unter Verwendung von :

object.cls <- frbs.learn(data.train, range.data.input, method.type, control) 

bekomme ich folgende Fehlermeldung:

Error in MF.temp[m, ] : incorrect number of dimensions. 

Kann mir bitte jemand einen Hinweis geben?

Ich bin nicht sehr wohl mit R und ich kann nicht viel Information über das fragliche Paket finden.

+0

Der Code, den Sie oben angegeben haben, gibt es kein Objekt namens MF.temp ?? Könnten Sie bitte Ihren vollständigen Code einfügen? –

+0

Hallo. Das ist mein vollständiger Code, ich weiß auch nicht, woher das Objekt kam ... – PCruz

Antwort

1

Ich fange an, das frbs-Paket auch zu verwenden. Das habe ich bezüglich der Klassenvariablen gefunden.

muss die Klassenvariable numerisch sein, monoton, und größer als 0

Werte von {0,1} in einem Fehler sein würde; {-1, 1} führte zu einem Fehler, aber {1,2} funktionierte.

Sie können dies in den Beispielen von demo() in der Zeile sehen, wo die Klassenvariable für das Iris-Dataset "unklass()" - ed ist.

irisShuffled[,5] <- unclass(irisShuffled[,5]) 

Diese Zeile nimmt die ursprüngliche Faktorvariable und wandelt sie in eine Zahl mit den Werten {1,2,3} um.

Hoffe, das hilft.