From cdadef64093fc12fd335a2b7b54d4b05c829107e Mon Sep 17 00:00:00 2001 From: Kiran Shila Date: Tue, 9 Aug 2022 22:18:51 -0700 Subject: gnu: Add python-hdbscan. * gnu/packages/machine-learning.scm (python-hdbscan): New variable. Co-authored-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher Change-Id: I13a78dd795490e6d4a8486741e2d5281605b7bb9 --- gnu/packages/machine-learning.scm | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu/packages/machine-learning.scm') diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3a12eb8c2f..92cc468871 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -18,10 +18,12 @@ ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego ;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022, 2023 Nicolas Graves +;;; Copyright © 2022 Kiran Shila ;;; Copyright © 2023 zamfofex ;;; Copyright © 2023 Navid Afkhami ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Troy Figiel +;;; Copyright © 2024 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. ;;; @@ -1834,6 +1836,44 @@ techniques commonly used in datasets showing strong between-class imbalance. It is compatible with @code{scikit-learn}.") (license license:expat))) +(define-public python-hdbscan + (package + (name "python-hdbscan") + (version "0.8.33") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hdbscan" version)) + (sha256 + (base32 "03gr70ys1zrnp15pxzhichvrdj5bj88p6p5k0wj8vx251rgvryjp")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs (list python-joblib + python-numpy + python-scikit-learn + python-scipy)) + (native-inputs (list python-cython + python-nose + python-pytest + python-pandas + python-networkx)) + (home-page "https://github.com/scikit-learn-contrib/hdbscan") + (synopsis "High performance implementation of HDBSCAN clustering") + (description "HDBSCAN - Hierarchical Density-Based Spatial Clustering of +Applications with Noise. Performs DBSCAN over varying epsilon values and +integrates the result to find a clustering that gives the best stability over +epsilon. This allows HDBSCAN to find clusters of varying densities (unlike +DBSCAN), and be more robust to parameter selection. HDBSCAN is ideal for +exploratory data analysis; it's a fast and robust algorithm that you can trust +to return meaningful clusters (if there are any).") + (license license:bsd-3))) + (define-public python-pynndescent (package (name "python-pynndescent") -- cgit v1.2.3