r - 如何使用 GFC.GCCL 方法解决 R 的 frbs 包中的错误?

标签 r rule fuzzy

我在使用 5 折分层交叉验证的数据集上使用 R 中的 frbs 包。我已经实现了分层 CV。我在每个折叠中对 frbs.learn 函数使用 GFS.GCCL 方法,并使用测试数据预测结果。我收到此错误以及 30 条相同的警告消息:

错误:找不到对象“temp.rule.degree”

警告:在 max(MF.temp[m, ], na.rm = TRUE) 中: max 没有非缺失参数;返回 -Inf

我的代码写在下面:

    library(frbs)
    data<-read.csv(file.address)
    data[,30] <- unclass(data[,30]) #column 30 has the class of samples
    data <- data[,c(1,14,20,26,27, 30)] # I choose to have 5 attr. since
                                         #my data is high dimensional    

    k <- 5 # 5-fold 
    seed <- 1
    folds <- strf.cv(data, k, seed) #stratification function for CV


    range.data.inp <- matrix(apply(data[,-ncol(data)], 2, range), nrow=2)

    data<-norm.data(as.matrix(data[,-ncol(data)]),range.data.
            inp,min.scale = 0.1, max.scale = 1)

    ctrl <- list(popu.size = 30, num.class = 2, num.labels= 3,
            persen_cross = 0.9, max.gen = 200, persen_mutant = 0.3,
         name="sim-1")
    for(i in 1:k){

    str <- paste("fold",i)
    print(str)
    test.ind <- folds[[str]]
    test.data <- data[test.ind,]
    train.data <- data[-test.ind,]

    obj <- frbs.learn(train.data , method.type="GFS.GCCL",
                 range.data.inp , ctrl)


    pred <- predict(obj, test.data)
    print("Predicted classes:")
    print(pred)
    }

我对错误和警告一无所知。请让我知道我应该做什么。

最佳答案

我遇到过类似的问题(和其他问题),试图从 iris 示例数据开始重现 SLAVE 学习。在能够使用我的人工数据运行之前,我有 2 个格式项需要解决:

  • 我的数据框导入为我提供了整数,其中 learn 至少需要 numeric
  • 我的标准分布并不平坦。当我拉平分布时(3 个值,因此每个值 n/3 个样本)一切正常。

这就是我所知道的。 希望对您有所帮助。

关于r - 如何使用 GFC.GCCL 方法解决 R 的 frbs 包中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34629099/

相关文章:

R:图例中形状和填充美学之间的 ggplot 不兼容

r - 在 dplyr 中有条件地改变数据

parsing - ANTLR:具有大写规则的语法无法识别输入

algorithm - 比较两个数据结构的相似性

php - 在字符串中搜索单词并根据另一个字符串拆分连接的字符串

r - 将 dplyr 与过滤器、group_by 和尾部一起使用?

r - 如何从数据框中检索与其他列的最大值相对应的列中的值

c++ - 应用关于如何递增枚举的规则

java - JUnit:@Rule 的重写 apply 方法在测试下未执行

string-comparison - 如何检查两个非结构化街道地址字符串是否相同?