Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add first initial readme for the crate #37

Merged
merged 12 commits into from
Oct 3, 2024
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "rustic_ml"
version = "0.0.2"
version = "0.0.3"
authors = ["Kjetil Indrehus <kjetilindrehus@gmail.com>"]
edition = "2021"
license = "MIT"
Expand Down
93 changes: 90 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,92 @@
# rustic_ml
<div align="center">
<h1> rustic_ml </h1>
<p><i>A machine learning library created from scratch</i></p>
<p><strong>Created by Kjetil Indrehus</strong></p>

A machine learning library created from scratch with Rust
<br/>

> Create being worked on as of 25th of May, 2024. Not public yet!
<!-- Badges Section -->

<p>
<img alt="Rust" src="https://img.shields.io/badge/rust-1.74-orange?logo=rust" />
<img alt="version" src="https://img.shields.io/crates/v/rustic_ml" />
<img alt="Downloads" src="https://img.shields.io/crates/dv/rustic_ml" />
</p>

<h4>Status</h4>
<p>
<img alt="Build" src="https://github.com/KjetilIN/rustic_ml/actions/workflows/test.yml/badge.svg" />
<img alt="docs passing ci" src="https://img.shields.io/docsrs/rustic_ml" />
</p>
</div>


## Summary

`rustic_ml` is a machine learning library designed to be easy to use, and give the developer a flexible API to work with.
This library is built of first principles, and the goal is to avoid any dependencies.


> ⚠️ This library is in the prototype stage. Breaking changes can happen.


## Table of content <!-- omit in toc -->

- [Summary](#summary)
- [Feature list](#feature-list)
- [Usage](#usage)
- [Use Cases](#use-cases)
- [Binary classification](#binary-classification)
- [Macros](#macros)
- [Feature Flags](#feature-flags)
- [Deeper Reading](#deeper-reading)


## Feature list

The library includes the following key features:
- `Matrix` implementation
- `Dataframe` implementation
- `Perceptron` binary classifier

## Usage

`rustic_ml` has documentation on docs.rs. It will be very useful to read it through
https://docs.rs/rustic_ml/latest/rustic_ml/

Run the following Cargo command in your project directory:
```terminal
cargo add rustic_ml
```
Or add it to the Cargo manifest. Make sure to pick the newest version:

```toml
[dependencies]
rustic_ml = "0.0.2"
```
Also see the [./examples/](examples/) folder for different examples.
See also the specific use cases in the next section of the README file.

## Use Cases

### Binary classification

`rustic_ml` has implemented the `Perceptron`. It works well when you know your data is linearly separable.
In the example below, we use a Jupyter Notebook with Rust kernel. This makes it easy to build up models with Rust:

![image](https://github.com/user-attachments/assets/29ef6f0c-ab6f-46f9-bc2b-1b748c34e039)

(See the full demo [examples/notebook_binary_classification.ipynb](examples/notebook_binary_classification.ipynb)


## Macros

> Coming soon!

## Feature Flags

> Coming soon!

## Deeper Reading

> Coming soon!
194 changes: 0 additions & 194 deletions examples/DataframeLab.ipynb

This file was deleted.

Loading
Loading