我尝试运行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不太放心,我无法找到有关该套餐的大量信息。
答案 0 :(得分:1)
我也开始使用frbs包。这是我发现的关于类变量的内容。
类变量必须是数字,单调且大于0。
{0,1}的值会导致错误; {-1,1}导致错误,但{1,2}有效。
你可以在demo()示例中看到这一点,其中iris数据集的类变量是“unclass()” - ed。
irisShuffled[,5] <- unclass(irisShuffled[,5])
此行采用原始因子变量并转换为值为{1,2,3}的数字。
希望这有帮助。