aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2019-10-03 14:11:31 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-10-06 14:37:54 +0200
commit5a65fede0b44424a420c905b59fa16282285de77 (patch)
tree6a4f0d919e8dd25de19669f8e6d99f177983284c
parent7a15aab83651afb90c4d8835b6a15370f996cce6 (diff)
downloadpatches-5a65fede0b44424a420c905b59fa16282285de77.tar
patches-5a65fede0b44424a420c905b59fa16282285de77.tar.gz
gnu: Add cl-random-forest.
* gnu/packages/machine-learning.scm (sbcl-cl-random-forest, cl-random-forest, ecl-cl-random-forest): New variables.
-rw-r--r--gnu/packages/machine-learning.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 2b46148095..8d6e4dc0b6 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1995,3 +1995,56 @@ online linear classification written in Common Lisp.")
(define-public ecl-cl-online-learning
(sbcl-package->ecl-package sbcl-cl-online-learning))
+
+(define-public sbcl-cl-random-forest
+ (let ((commit "85fbdd4596d40e824f70f1b7cf239cf544e49d51")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-random-forest")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/masatoi/cl-random-forest.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "097xv60i1ndz68sg9p4pc7c5gvyp9i1xgw966b4wwfq3x6hbz421"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("prove-asdf" ,sbcl-prove-asdf)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
+ ("cl-online-learning" ,sbcl-cl-online-learning)
+ ("lparallel" ,sbcl-lparallel)))
+ (arguments
+ `(;; The tests download data from the Internet
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-sb-cltl2-dependency
+ (lambda _
+ ;; sb-cltl2 is required by lparallel when using sbcl, but it is
+ ;; not loaded automatically.
+ (substitute* "cl-random-forest.asd"
+ (("\\(in-package :cl-user\\)")
+ "(in-package :cl-user) #+sbcl (require :sb-cltl2)"))
+ #t)))))
+ (synopsis "Random Forest and Global Refinement for Common Lisp")
+ (description
+ "CL-random-forest is an implementation of Random Forest for multiclass
+classification and univariate regression written in Common Lisp. It also
+includes an implementation of Global Refinement of Random Forest.")
+ (home-page "https://github.com/masatoi/cl-random-forest")
+ (license license:expat))))
+
+(define-public cl-random-forest
+ (sbcl-package->cl-source-package sbcl-cl-random-forest))
+
+(define-public ecl-cl-random-forest
+ (sbcl-package->ecl-package sbcl-cl-random-forest))