R - frbs包错误 - 维数不正确

时间:2016-04-09 18:10:08

标签: r fuzzy-logic

我尝试运行frbs包以解决分类问题,以虹膜数据集为例。

我的数据集(Dataset_match)包含9个输入变量(所有数字),1个二进制输出变量和27 196个观察值。

我已按以下方式分割数据:

 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)

方法及其参数定义如下:

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

但是当我尝试使用:

生成模型时
 object.cls <- frbs.learn(data.train, range.data.input, method.type, control)

我收到以下错误:

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

有人可以给我一些线索吗?

我对R不太放心,我无法找到有关该套餐的大量信息。

1 个答案:

答案 0 :(得分:1)

我也开始使用frbs包。这是我发现的关于类变量的内容。

类变量必须是数字,单调且大于0。

{0,1}的值会导致错误; {-1,1}导致错误,但{1,2}有效。

你可以在demo()示例中看到这一点,其中iris数据集的类变量是“unclass()” - ed。

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

此行采用原始因子变量并转换为值为{1,2,3}的数字。

希望这有帮助。