From 6e76087223b05ea57d357e345d120504dba9665c Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 3 Oct 2019 14:11:29 +0200 Subject: gnu: Add cl-libsvm-format. * gnu/packages/machine-learning.scm (sbcl-cl-libsvm-format, cl-libsvm-format, ecl-cl-libsvm-format): New variables. --- gnu/packages/machine-learning.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu/packages/machine-learning.scm') diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index e48c91a2cf..a5b86b8010 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Nicolas Goaziou +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (guix utils) #:use-module (guix download) #:use-module (guix svn-download) + #:use-module (guix build-system asdf) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system ocaml) @@ -58,6 +60,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages ocaml) @@ -1918,3 +1921,38 @@ that: @item Runs seamlessly on CPU and GPU. @end itemize\n") (license license:expat))) + +(define-public sbcl-cl-libsvm-format + (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb") + (revision "0")) + (package + (name "sbcl-cl-libsvm-format") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/masatoi/cl-libsvm-format.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf))) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (synopsis "LibSVM data format reader for Common Lisp") + (description + "This Common Lisp library provides a fast reader for data in LibSVM +format.") + (home-page "https://github.com/masatoi/cl-libsvm-format") + (license license:expat)))) + +(define-public cl-libsvm-format + (sbcl-package->cl-source-package sbcl-cl-libsvm-format)) + +(define-public ecl-cl-libsvm-format + (sbcl-package->ecl-package sbcl-cl-libsvm-format)) -- cgit v1.2.3 From 7a15aab83651afb90c4d8835b6a15370f996cce6 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 3 Oct 2019 14:11:30 +0200 Subject: gnu: Add cl-online-learning. * gnu/packages/machine-learning.scm (sbcl-cl-online-learning, cl-online-learning, ecl-cl-online-learning): New variables. --- gnu/packages/machine-learning.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu/packages/machine-learning.scm') diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index a5b86b8010..2b46148095 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1956,3 +1956,42 @@ format.") (define-public ecl-cl-libsvm-format (sbcl-package->ecl-package sbcl-cl-libsvm-format)) + +(define-public sbcl-cl-online-learning + (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423") + (revision "0")) + (package + (name "sbcl-cl-online-learning") + (version (git-version "0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/masatoi/cl-online-learning.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf))) + (inputs + `(("cl-libsvm-format" ,sbcl-cl-libsvm-format) + ("cl-store" ,sbcl-cl-store))) + (arguments + `(;; FIXME: Tests pass but then the check phase crashes + #:tests? #f)) + (synopsis "Online Machine Learning for Common Lisp") + (description + "This library contains a collection of machine learning algorithms for +online linear classification written in Common Lisp.") + (home-page "https://github.com/masatoi/cl-online-learning") + (license license:expat)))) + +(define-public cl-online-learning + (sbcl-package->cl-source-package sbcl-cl-online-learning)) + +(define-public ecl-cl-online-learning + (sbcl-package->ecl-package sbcl-cl-online-learning)) -- cgit v1.2.3 From 5a65fede0b44424a420c905b59fa16282285de77 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 3 Oct 2019 14:11:31 +0200 Subject: gnu: Add cl-random-forest. * gnu/packages/machine-learning.scm (sbcl-cl-random-forest, cl-random-forest, ecl-cl-random-forest): New variables. --- gnu/packages/machine-learning.scm | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gnu/packages/machine-learning.scm') 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)) -- cgit v1.2.3