【问题标题】:Clojure: incanter.stats Linear Regression Model Not WorkingClojure:incanter.stats 线性回归模型不起作用
【发布时间】:2013-05-26 22:11:09
【问题描述】:

我正在关注线性回归示例here

(use '(incanter core stats datasets))
(def plant-growth (to-matrix (get-dataset :plant-growth) :dummies true))
(def y (sel plant-growth :cols 0))
(def x (sel plant-growth :cols [1 2]))
(def lm (linear-model y x))

但是我得到了这个错误:

=> (def lm (linear-model y x))
ClassCastException clojure.lang.LazySeq cannot be cast to java.lang.Number clojure.lang.Numbers.lt (Numbers.java:219)

这是怎么回事?

更新:最新的1.4.1 (Stable) docs中的这个例子也没有:

(use '(incanter core stats datasets charts))
(def iris (to-matrix (get-dataset :iris) :dummies true))
(def y (sel iris :cols 0))
(def x (sel iris :cols (range 1 6)))
(def iris-lm (linear-model y x)) ; with intercept term

输出:

=>  (def iris-lm (linear-model y x))
ClassCastException clojure.lang.LazySeq cannot be cast to java.lang.Number  clojure.lang.Numbers.lt (Numbers.java:219)

我正在使用 Clojure 1.5.1 和 Incanter 1.4.1。这是一个需要修复的错误吗?在哪里可以找到权威的工作示例?

【问题讨论】:

  • 试过你的代码。 Clojure 1.4.0 和 Incanter 1.4.0 出现同样的错误。
  • 我刚刚尝试了最新的 Incanter 快照,它可以正常工作...
  • @leonid,感谢您抽出宝贵时间进行复制。 @alex,clojars 上的版本似乎包含错误。我的 project.clj 包含:` :dependencies [ [org.clojure/clojure "1.5.1"] [incanter "1.4.1"]]`
  • 我刚刚发布了 Incanter 1.5.0 - 你可以试试吗?
  • 是的,看起来不错,谢谢 Alex!

标签: clojure incanter


【解决方案1】:

根据 cmets,在 Incanter 1.5.0 中修复。

【讨论】:

    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2019-10-09
    • 2013-11-04
    • 2021-01-11
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    相关资源
    最近更新 更多