【问题标题】:KSVM (in r) giving - Error in indexes[[j]] : subscript out of boundsKSVM(在 r 中)给出 - 索引 [[j]] 中的错误:下标超出范围
【发布时间】:2018-02-02 13:40:25
【问题描述】:

我每次尝试实现 ksvm 时都会遇到此错误。 我的代码:

Train11<- read.csv('Train.csv', head=TRUE) 
Train11 <- (sapply(Train11, as.numeric)) #convert all data to numeric
Train11 <- as.data.frame(Train11)
ModelV2<-ksvm(CityAssessment~., data=Train11, type= "C-svc", kernel="vanilladot", C=0.1,prob.model=TRUE)  
 Setting default kernel parameters  
Error in indexes[[j]] : subscript out of bounds

我不确定我哪里出错了。数据集的尺寸为 686 x 72。数据集中没有任何 NA 值(我已经检查过!),也没有无限值。

非常感谢!

【问题讨论】:

    标签: r svm kernlab


    【解决方案1】:

    我遇到了同样的问题,结果我的目标向量中只有一个类。

    【讨论】:

      【解决方案2】:

      供以后阅读本文的任何人使用。我遇到了同样的问题。

      这可能是由于 kernlab 包在内部处理类概率 (prob.model = TRUE) 的方式。如果 n 很小或类严重不平衡,则内部 3-fold cv 失败,可能是由于 user2173836 描述的原因。

      解决方案:

      1.) 设置 ksvm(..., prob.model = FALSE)

      2.) 只运行具有足够大的 n 和类平衡的模型。对于我的问题,运行许多单个 SVM 作为与 MTL-SVM 的基线比较,我可以跳过这些“坏”任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-27
        • 1970-01-01
        • 2017-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多