ml-core is an open-source repository under the HashSlap Summer of Code initiative, dedicated to implementing core Machine Learning projects across various domains. It's beginner-friendly, contribution-ready, and built entirely in Python.
Each folder in this repository represents a subdomain of machine learning. Contributors can choose issues or create projects under:
ml-core/
├── computer-vision/
├── natural-language-processing/
├── supervised-learning/
├── unsupervised-learning/
├── deep-learning/
├── time-series/
├── generative-models/
└── reinforcement-learning/
Each project should include:
- Well-structured code
- A
README.mdexplaining the approach - Sample results/outputs
- Computer Vision
- NLP
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
- Neural Networks
- Data Analysis
We welcome first-time contributors and experienced ML practitioners alike!
-
Fork the repository - Click the Fork button at the top-right corner of this repository to create your own copy.
-
Pick an Issue or Propose Your Own Project - Check the Issues tab or open a new issue describing your idea or improvement.
-
Clone the repository
git clone https://github.com/<your-username>/<repo-name>.git cd <repo-name>
-
Create a new branch
git checkout -b <your-branch-name>
-
Create your project in the relevant domain folder.
mkdir <domain>/<your_project_name>
-
Add your code + README
-
Stage and Commit your changes.
git add . git commit -m "Added my project on <topic>"
-
Push to your created branch
git push origin <your-branch-name>
-
Submit a Pull Request (PR)
Go to your forked repository on GitHub → Click on Compare & pull request → Describe your changes clearly → Submit!
📌 Tip: Before pushing, always pull the latest changes to avoid merge conflicts:
git pull origin main --rebase
Contributions will be reviewed and merged by mentors.
Located at: utils/experiment_logger.py
- Logs training results (accuracy, loss, hyperparameters, etc.) to CSV
- Supports multiple experiments for comparison
- Visualize performance trends using matplotlib/seaborn
pip install matplotlib seaborn pandasfrom utils.experiment_logger import log_experiment, plot_metrics
log_experiment( model_name='Perceptron', metrics={'accuracy': 0.9, 'loss': 0.12}, hyperparams={'learning_rate': 0.01, 'epochs': 20}, dataset_name='Iris' )
plot_metrics(metric='accuracy')
Just import and call log_experiment(...) at the end of your model training script. It works across all subdomains like supervised-learning/, deep-learning/, etc.
- Build real ML projects
- Deepen conceptual knowledge
- Boost your GitHub profile
- Get featured in contributor spotlights
- Earn participation certificates and digital badges
A reusable and beginner-friendly Python script that demonstrates a typical Machine Learning pipeline.
Supports CLI usage with argparse for flexible input and automation.
📂 Location: templates/ml_pipeline_template.py
- Load data from CSV/JSON
- Preprocess and split into train/test
- Train a simple ML model (e.g., Logistic Regression)
- Evaluate performance
- Easily adaptable for your own datasets
python templates/ml_pipeline_template.py --data iris.csv --target species
This repository is licensed under the MIT License.