smartcorelib/smartcore
A comprehensive library for machine learning and numerical computing. Apply Machine Learning with Rust leveraging first principles.
해결하는 문제
smartcore는 Rust에서 프로덕션 친화적인 머신러닝 라이브러리의 필요성을 해결합니다. 강력한 타입과 좋은 기본값을 갖춘 고전적인 지도 및 비지도 알고리즘을 제공하여 개발자가 Rust 생태계를 떠나지 않고도 ML 모델을 구축하고 배포할 수 있습니다. 또한 이 라이브러리는 인체공학적으로 설계되어 연구와 실험에 접근하기 쉽고 프로덕션 사용에도 실용적입니다.
작동 방식
smartcore는 알고리즘을 일관된 특성을 가진 명확한 모듈로 구성합니다. 모듈식 선형 대수 추상화를 사용하고 선택적으로 ndarray를 지원하며 이식성을 위해 WASM 우선 자세를 기본값으로 합니다. 알고리즘에는 선형 모델(OLS, Ridge, Lasso, ElasticNet, 로지스틱 회귀), 트리 기반 방법(랜덤 포레스트, Extra Trees), SVM, KNN, 클러스터링(K-Means, DBSCAN, 응집), 분해(SVD, EVD 등) 및 전처리 유틸리티가 포함됩니다. 사용자는 일관된 API를 통해 상호 작용합니다. 예를 들어 KNN 분류기를 피팅하려면 벡터에서 DenseMatrix를 만들고 기본 매개변수로 fit을 호출합니다. 이 라이브러리에는 데이터셋 생성기, CSV 리더, Lasso 및 ElasticNet의 메모리 사용량을 줄이는 지연 정규화 모드와 같은 선택적 기능이 포함되어 있습니다. README는 객체 안전 특성과 더 적은 구조체를 선호하는 특성 시스템 리팩터링을 강조하며, 라이브러리는 Rust 2024 에디션(MSRV 1.85)으로 이동했습니다.
대상 사용자
smartcore는 강력한 타입과 효율적인 언어에서 고전적인 머신러닝 알고리즘이 필요한 Rust 개발자를 대상으로 합니다. 안정적인 API와 좋은 기본값을 통한 프로덕션 사용과 Jupyter 노트북 및 유연한 기능을 통한 연구 또는 실험 모두에 적합합니다. WASM 우선 접근 방식은 브라우저 및 임베디드 배포에 매력적이며, 선택적 ndarray 통합은 배열 우선 워크플로를 선호하는 개발자에게 어필합니다.
주요 특징
- 광범위한 범위: 선형 모델, 트리, 앙상블, SVM, 이웃, 클러스터링, 분해 및 전처리.
- 선택적 ndarray 통합을 갖춘 강력한 선형 대수 특성.
- WASM 우선 기본값과 선택 기능(serde, datasets)으로 이식성과 최소 설치 공간.
- 실용적인 유틸리티: 모델 선택, 평가, CSV 리더, 데이터셋 생성기, 내장 데이터셋.
- 최근 추가: XGBoost 스타일 회귀, 단일 연결 클러스터링, Extra Trees 및 다중 클래스 SVM 개선.
- 성능 추세를 추적하기 위한 라이브 벤치마크 차트(criterion 벽시계 및 iai-callgrind 명령어 수)가 GitHub Pages에 게시됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트