{"id":13671902,"url":"https://github.com/cmccomb/rust-automl","last_synced_at":"2025-04-07T10:21:47.835Z","repository":{"id":46017010,"uuid":"427050474","full_name":"cmccomb/rust-automl","owner":"cmccomb","description":"Automated Machine Learning in Rust 🦀","archived":false,"fork":false,"pushed_at":"2025-01-02T17:34:05.000Z","size":833,"stargazers_count":34,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T09:03:52.366Z","etag":null,"topics":["automl","machine-learning","ml","rust","rust-crate","smartcore"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/automl","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmccomb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-11T15:28:59.000Z","updated_at":"2025-03-22T02:44:10.000Z","dependencies_parsed_at":"2024-10-27T11:48:53.164Z","dependency_job_id":"dd1660c2-c3e3-40e7-bfbb-c6934578e301","html_url":"https://github.com/cmccomb/rust-automl","commit_stats":{"total_commits":175,"total_committers":1,"mean_commits":175.0,"dds":0.0,"last_synced_commit":"5ed332ddcc5411536ab82b76fcf025ef4e9ace50"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmccomb%2Frust-automl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmccomb%2Frust-automl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmccomb%2Frust-automl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmccomb%2Frust-automl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmccomb","download_url":"https://codeload.github.com/cmccomb/rust-automl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247631833,"owners_count":20970069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automl","machine-learning","ml","rust","rust-crate","smartcore"],"created_at":"2024-08-02T09:01:21.474Z","updated_at":"2025-04-07T10:21:47.799Z","avatar_url":"https://github.com/cmccomb.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"[![Github CI](https://github.com/cmccomb/rust-automl/actions/workflows/tests.yml/badge.svg)](https://github.com/cmccomb/automl/actions)\r\n[![Crates.io](https://img.shields.io/crates/v/automl.svg)](https://crates.io/crates/automl)\r\n[![docs.rs](https://img.shields.io/docsrs/automl/latest?logo=rust)](https://docs.rs/automl)\r\n\r\n# AutoML with SmartCore\r\n\r\nAutoML (_Automated Machine Learning_) streamlines machine learning workflows, making them more accessible and efficient \r\nfor users of all experience levels. This crate extends the [`smartcore`](https://docs.rs/smartcore/) machine learning framework, providing utilities to \r\nquickly train, compare, and deploy models.\r\n\r\n# Install\r\n\r\nAdd AutoML to your `Cargo.toml` to get started:\r\n\r\n**Stable Version**\r\n```toml\r\nautoml = \"0.2.9\"\r\n```\r\n**Latest Development Version**\r\n```toml\r\nautoml = { git = \"https://github.com/cmccomb/rust-automl\" }\r\n```\r\n\r\n# Example Usage\r\n\r\nHere’s a quick example to illustrate how AutoML can simplify model training and comparison:\r\n\r\n\r\n```rust\r\nlet dataset = smartcore::dataset::breast_cancer::load_dataset();\r\nlet settings = automl::Settings::default_classification();\r\nlet mut classifier = automl::SupervisedModel::new(dataset, settings);\r\nclassifier.train();\r\n```\r\n\r\nwill perform a comparison of classifier models using cross-validation. Printing the classifier object will yield:\r\n\r\n```text\r\n┌────────────────────────────────┬─────────────────────┬───────────────────┬──────────────────┐\r\n│ Model                          │ Time                │ Training Accuracy │ Testing Accuracy │\r\n╞════════════════════════════════╪═════════════════════╪═══════════════════╪══════════════════╡\r\n│ Random Forest Classifier       │ 835ms 393us 583ns   │ 1.00              │ 0.96             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ Logistic Regression Classifier │ 620ms 714us 583ns   │ 0.97              │ 0.95             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ Gaussian Naive Bayes           │ 6ms 529us           │ 0.94              │ 0.93             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ Categorical Naive Bayes        │ 2ms 922us 250ns     │ 0.96              │ 0.93             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ Decision Tree Classifier       │ 15ms 404us 750ns    │ 1.00              │ 0.93             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ KNN Classifier                 │ 28ms 874us 208ns    │ 0.96              │ 0.92             │\r\n├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤\r\n│ Support Vector Classifier      │ 4s 187ms 61us 708ns │ 0.57              │ 0.57             │\r\n└────────────────────────────────┴─────────────────────┴───────────────────┴──────────────────┘\r\n```\r\n\r\nYou can then perform inference using the best model with the `predict` method.\r\n\r\n## Features\r\n\r\nThis crate has several features that add some additional methods.\r\n\r\n| Feature | Description                                                                                             |\r\n| :------ | :------------------------------------------------------------------------------------------------------ |\r\n| `nd`    | Adds methods for predicting/reading data using [`ndarray`](https://crates.io/crates/ndarray).           |\r\n| `csv`   | Adds methods for predicting/reading data from a .csv using [`polars`](https://crates.io/crates/polars). |\r\n\r\n## Capabilities\r\n\r\n- Feature Engineering\r\n  - PCA \r\n  - SVD\r\n  - Interaction terms\r\n  - Polynomial terms\r\n- Regression\r\n  - Decision Tree Regression\r\n  - KNN Regression\r\n  - Random Forest Regression\r\n  - Linear Regression\r\n  - Ridge Regression\r\n  - LASSO\r\n  - Elastic Net\r\n  - Support Vector Regression\r\n- Classification\r\n  - Random Forest Classification\r\n  - Decision Tree Classification\r\n  - Support Vector Classification\r\n  - Logistic Regression\r\n  - KNN Classification\r\n  - Gaussian Naive Bayes\r\n- Meta-learning\r\n  - Blending\r\n- Save and load settings\r\n- Save and load models","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmccomb%2Frust-automl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmccomb%2Frust-automl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmccomb%2Frust-automl/lists"}