This project focuses on implementing various Machine Learning algorithms from scratch without using pre-built ML libraries. The goal is to understand the inner workings of algorithms like linear regression, decision trees, and more by building them step-by-step in Python. This project was developed as part of a university course.
- Python
- Jupyter Notebook
- Pandas
- NumPy
- Matplotlib
- Clone the repository or download the Jupyter Notebooks.
- Ensure you have Python installed (preferably Python 3.x).
- Install the required libraries:
pip install pandas numpy matplotlib
- Open the Jupyter Notebooks in your preferred environment (e.g., Jupyter Lab, Jupyter Notebook, or any IDE that supports Jupyter).
- Build ML algorithms from scratch: Understand and implement key algorithms such as:
- Clustering (e.g., K-Means)
- Decision Trees
- Linear Regression
- MAP Classifiers (Maximum A Posteriori)
- Step-by-step development: Each algorithm is built and explained incrementally in the Jupyter Notebooks.
- No pre-built ML libraries: Algorithms are implemented without using machine learning libraries like Scikit-learn, focusing on foundational concepts.
- Open each Jupyter notebook to explore and run the algorithms.
- Follow the explanations within each notebook to understand how each algorithm is constructed and applied.
Contributions are welcome! If you’d like to contribute:
- Fork the repository.
- Create a new branch for your feature or fix.
- Submit a pull request with a clear description of your changes.
This project does not currently have a specified license. Feel free to fork and use it as you wish.
Each Jupyter notebook contains detailed explanations, code implementations, and outputs for each algorithm. Check inside the notebooks for examples and results.