# Ducky-Learn

![Ducky img](https://img.freepik.com/free-icon/rubber-duck_318-763202.jpg?w=2000)

Welcome to Ducky-Learn, a small machine learning package for Rust! This repository aims to provide a simple and user-friendly environment for implementing machine learning algorithms in Rust programming language.

## Features

- **StdNaiveBayes Algorithm**: The repository currently includes an implementation of the `StdNaiveBayes` algorithm, a simple yet effective classifier for text classification tasks.

- **Basic Neural Network**: We are actively working on adding a basic neural network to the package. This will allow you to build and train neural networks for more complex machine learning tasks.

## Getting Started

To get started with Ducky-Learn, follow the instructions below:

1. Ensure you have Rust installed. If not, you can download and install it from the official Rust website: [https://www.rust-lang.org](https://www.rust-lang.org).

2. Clone the Ducky-Learn repository to your local machine:

   ```bash
   git clone https://github.com/your-username/ducky-learn.git
   ```

3. Navigate to the cloned directory:

   ```bash
   cd ducky-learn
   ```

4. Build and run the examples:

   ```bash
   cargo run --example example_name
   ```

   Replace `example_name` with the name of the example you want to run.

5. Explore the examples and the existing implementation to understand how to use the `StdNaiveBayes` algorithm in your own projects. Feel free to modify the code to suit your specific needs.

## Contribution Guidelines

We welcome contributions to Ducky-Learn! If you would like to contribute to the project, please follow the guidelines below:

1. Fork the repository and clone it to your local machine.

2. Create a new branch for your feature or bug fix:

   ```bash
   git checkout -b feature/your-feature-name
   ```

3. Implement your changes, keeping the code style consistent with the existing codebase.

4. Write tests to ensure the correctness of your implementation.

5. Run the existing tests and ensure they pass:

   ```bash
   cargo test
   ```

6. Commit your changes with clear and descriptive commit messages.

7. Push your branch to your forked repository.

8. Submit a pull request to the `main` branch of the Ducky-Learn repository. Provide a detailed description of your changes and the problem they solve.

## License

Ducky-Learn is distributed under the MIT License. See the [LICENSE](LICENSE) file for more information.

## Acknowledgments

We would like to express our gratitude to the open-source community for their valuable contributions and support.

## Contact

If you have any questions, suggestions, or feedback, please feel free to open an issue in the Ducky-Learn repository or reach out to us via email at [chrisgraham908@gmail.com](mailto:chrisgraham908@gmail.com).

Happy machine learning with Ducky-Learn! 🦆