【问题标题】:Caret package findCorrelation() function插入符号包 findCorrelation() 函数
【发布时间】:2016-05-07 20:16:02
【问题描述】:

您好,我在使用 findCorrelation() 函数时遇到问题,这是我的输入和输出:

findCorrelation(train, cutoff = .50, verbose = FALSE)

findCorrelation_exact 中的错误(x = x,cutoff = cutoff,verbose = verbose) : 相关矩阵不是对称的

有人知道为什么会这样吗?

【问题讨论】:

    标签: r correlation r-caret


    【解决方案1】:

    如果您使用的是数据框,那么您可能必须先将其制成矩阵。

    corval <- findCorrelation(cor(as.matrix(train)), cutoff = 0.80, verbose = FALSE, names = FALSE)

    【讨论】:

      【解决方案2】:

      findCorrelation 函数需要一个相关矩阵作为 x 值,所以试试这个:

      findCorrelation(cor(train), cutoff = .50, verbose = FALSE)
      

      参考:Caret pre-processing

      【讨论】:

      • 我倾向于同意 ?
      【解决方案3】:

      嗯,这是因为矩阵的列可能没有行多(反之亦然)。例如。

      library(caret)
      train <- cor(mtcars)
      findCorrelation(train, cutoff = .50, verbose = FALSE)
      # works
      findCorrelation(train[, -1], cutoff = .50, verbose = FALSE)
      # Error in findCorrelation_exact(x = x, cutoff = cutoff, verbose = verbose) : 
      #   correlation matrix is not symmetric
      dim(train[, -1])
      # [1] 11 10
      

      (至少根据错误消息,这是我的猜测。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-09
        • 2020-07-15
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-19
        • 2015-04-11
        相关资源
        最近更新 更多