- Bernouilli naive bayes in [linfa-bayes] by [@wildart]
- Bootstrap aggregation (aka Bagging) in new ensemble methods crate [linfa-ensemble] by [@jk1015]
- add
max_featuresandtokenizer_functiontoCountVectorizerinlinfa-preprocessing - add
predict_proba()toGaussian mixture modelinlinfa-clustering - add
predict_proba()andpredict_log_proba()to algorithms inlinfa-bayes - add target names to
dataset - fix SVR parameterization in
linfa-svm - fix serde support for algorithms in
linfa-pls - fix confusion matrix: use predicted and ground thruth labels, make it reproducible
- fix dataset names after shuffling
- bump
ndarrayto 0.16,argminto 0.11.0,kdtreeto 0.7.0, statrs to0.18, sprs to0.11 - bump MSRV to 1.87.0
- Random Projection added to
linfa-reductionby [@GBathie]
- add
serdesupport tolinfa-clustering - add accessors for classes in
linfa-logistics - add accessors for
Pcaattributes inlinfa-reduction - add
wasm-bindgenfeature to use linfa in the browser - fix covariance update for
GaussianMixtureModelinlinfa-clustering - bump
ndarray-linalgto 0.16 andargminto 0.9.0 - bump MSRV to 1.71.1
- add
array_from_gz_csvandarray_from_csvinlinfa-datasets - make Serde support in
linfa-linear,linfa-logistic, andlinfa-ftrloptional - bump
argminto 0.8.1 - add Serde support to
linfa-preprocessingandlinfa-bayes - make licenses follow SPDX 2.1 license expression standard
- Removed Approximate DBSCAN from
linfa-clusteringdue to performance issues. It's now an alias to regular DBSCAN. - Removed
partitionsdependency, which breaks in current versions of Rust.
- Isotonic regression added to
linfa-linearby [@wildart] - Mean absolute percentage error (MAPE) added to
linfaby [@bernado-sb]
- add constructor for
LpDist - add
Send + Syncto trait objects returned bylinfa-nn - remove
anyhow <= 1.0.48version restriction - bump
ndarrayto 0.15 - fix
serdesupport forLogisticRegression
- Multinomial Naive Bayes added to
linfa-bayesby [@sgrigory] - Follow The Regularized Leader added as
linfa-ftrlby [@MilaKyr]
- BLAS backend no longer required to build Linfa
- remove
SeedableRngtrait bound fromKMeansandGaussianMixture - replace uses of Isaac RNG with Xoshiro RNG
- parametrize
AsTargetsby the dimensionality of the targets and introduceAsSingleTargetsandAsMultiTargets DatasetandDatasetViewcan now be parametrized by target dimensionality, with 2D being the default- single-target algorithms no longer accept 2D target arrays as input
cross_validatechanged tocross_validate_single,cross_validate_multichanged tocross_validatePrhas been constrained to0. <= prob <= 1.with new constructors
Note that the commits for this release are in the 0-5-1 branch.
- remove
Floattrait bound from manyDatasetimpls, making non-float datasets usable - fix build errors in 0.5.0 caused by breaking minor releases from dependencies
- fix bug in k-means where the termination condition of the algorithm was calculated incorrectly
- fix build failure when building
linfaalone, caused by incorrect feature selection forndarray
- Nearest neighbour algorithms and traits have been added as
linfa-nnby [@YuhanLiin] - OPTICS has been added to
linfa-clusteringby @xd009642 - Multinomial logistic regression has been added to
linfa-logisticby [@YuhanLiin]
- use least squares solver from
ndarray-linalginlinfa-linear(3dc9cb0) - optimized DBSCAN by replacing linear range query implementation with KD-tree (44f91d0)
- allow distance metrics other than Euclidean to be used for KMeans (4e58d8d)
- enable models to write prediction results into existing memory without allocating (37bc25b)
- bumped
ndarrayversion to 0.15 and reduced duplicated dependencies (603f821) - introduce
ParamGuardtrait to algorithm parameter sets to enable both explicit and implicit parameter checking (01f912a) - replace uses of HNSW with
linfa-nn(208a762)
- Partial Least Squares Regression has been added as
linfa-plsby [@relf] - Barnes-Hut t-SNE wrapper has been added as
linfa-tsneby [@frjnn] - Count-vectorizer and IT-IDF normalization has been added as
linfa-preprocessingby [@Sauro98] - Platt scaling has been added to
linfa-svmby [@bytesnake] - Incremental KMeans and KMeans++ and KMeans|| initialization methods added to
linfa-clusteringby [@YuhanLiin]
- bumped
ndarrayversion to 0.14 (8276bdc) - change trait signature of
linfa::Fitto returnResult(a5a479f) - add
cross_validateto perform K-folding (a5a479f)
In this release of Linfa the documentation is extended, new examples are added and the functionality of datasets improved. No new algorithms were added.
The meta-issue #82 gives a good overview of the necessary documentation improvements and testing/documentation/examples were considerably extended in this release.
Further new functionality was added to datasets and multi-target datasets are introduced. Bootstrapping is now possible for features and samples and you can cross-validate your model with k-folding. We polished various bits in the kernel machines and simplified the interface there.
The trait structure of regression metrics are simplified and the silhouette score introduced for easier testing of K-Means and other algorithms.
- improve documentation in all algorithms, various commits
- add a website to the infrastructure (c8acc785b)
- add k-folding with and without copying (b0af80546f8)
- add feature naming and pearson's cross correlation (71989627f)
- improve ergonomics when handling kernels (1a7982b973)
- improve TikZ generator in
linfa-trees(9d71f603bbe) - introduce multi-target datasets (b231118629)
- simplify regression metrics and add cluster metrics (d0363a1fa8ef)
- Approximated DBSCAN has been added to
linfa-clusteringby [@Sauro98] - Gaussian Naive Bayes has been added to
linfa-bayesby [@VasanthakumarV] - Elastic Net linear regression has been added to
linfa-elasticnetby [@paulkoerbitz] and [@bytesnake]
- Added benchmark to gaussian mixture models (a3eede55)
- Fixed bugs in linear decision trees, added generator for TiKZ trees (bfa5aebe7)
- Implemented serde for all crates behind feature flag (4f0b63bb)
- Implemented new backend features (7296c9ec4)
- Introduced
linfa-datasetsfor easier testing (3cec12b4f) - Rename
DatasettoDatasetBaseand introduceDatasetandDatasetView(21dd579cf) - Improve kernel tests and documentation (8e81a6d)
- Ordinary Linear Regression has been added to
linfa-linearby [@Nimpruda] and [@paulkoerbitz] - Generalized Linear Models has been added to
linfa-linearby [VasanthakumarV] - Linear decision trees were added to
linfa-treesby [@mossbanay] - Fast independent component analysis (ICA) has been added to
linfa-icaby [@VasanthakumarV] - Principal Component Analysis and Diffusion Maps have been added to
linfa-reductionby [@bytesnake] - Support Vector Machines has been added to
linfa-svmby [@bytesnake] - Logistic regression has been added to
linfa-logisticby [@paulkoerbitz] - Hierarchical agglomerative clustering has been added to
linfa-hierarchicalby [@bytesnake] - Gaussian Mixture Models has been added to
linfa-clusteringby [@relf]
- Common metrics for classification and regression have been added
- A new dataset interface simplifies the work with targets and labels
- New traits for
Transformer,FitandIncrementalFitstandardizes the interface - Switched to Github Actions for better integration
- First release of
linfa-clustering:v0.1.0with theKMeansalgorithm (by @LukeMathWalker) - First (real) release of
linfa, re-exportinglinfa-clustering(by @LukeMathWalker)