Welcome to the Machine Learning Notebooks Collection — a carefully organized set of Jupyter notebooks to help you learn, practice, and explore machine learning in a hands-on way.
Whether you're just starting out, revisiting core concepts, or experimenting with different algorithms, this repository is designed to offer clear, practical examples that you can run, modify, and build on. Each notebook focuses on a specific technique or topic, with clean code, explanations, and visualizations to support your learning.
Covers a wide range of topics across the ML landscape:
- Data preprocessing
- Feature engineering
- Classification, regression, and clustering
- Dimensionality reduction
- Natural Language Processing (NLP)
- Generative models like GANs
- Reinforcement learning algorithms
Each notebook is meant to be run and experimented with:
- Real datasets and real-world use cases.
- Step-by-step code with explanations.
- Visualizations to help you understand what's happening under the hood.
- Clear code structure and consistent formatting.
- Focuses on readability and understanding, not just getting a result.
- Helpful for both self-study and classroom settings.
Throughout the notebooks, you’ll get practice with many of the libraries commonly used in ML projects, including:
scikit-learn,pandas,numpymatplotlib,seabornfor visualizationtensorflow,kerasfor deep learningnltk,spacyfor NLPxgboostfor gradient boosting
- Start with simple models like linear regression and logistic regression.
- Progress into more advanced algorithms like SVMs, Random Forests, and XGBoost.
- Explore deep learning, GANs, and reinforcement learning when you're ready.
- Each topic is isolated in its own notebook, so you can pick and choose what to focus on.
- Great reference material for interviews or real-world projects.
- A good place to test out ideas or quickly prototype models.
- Easy to adapt the code for your own datasets and problems.
This repository is meant to be a practical companion as you learn machine learning — something you can return to as you build your skills and work on real projects.
- Classification
- Regression
- Preprocessing
- NLP
- Generative Models
- Reinforcement Learning
- How to Use
- Contributing
- License
- Decision Tree Classification
- Hierarchical Clustering
- Image Classification
- K-Means Clustering
- K-Nearest Neighbors
- Kernel PCA
- Kernel SVM
- Linear Discriminant Analysis
- Logistic Regression
- MNIST Classification
- Naive Bayes
- Random Forest Classification
- Support Vector Machine
- XGBoost
- Linear Regression (Real Dataset)
- Linear Regression (Synthetic Data)
- Multiple Linear Regression
- Polynomial Regression
- Random Forest Regression
- Simple Linear Regression
- Support Vector Regression
- Data Preprocessing Tools
- Feature Reduction
- Pandas
- Principal Component Analysis
- Visualization
- Natural Language Processing
- NLP Basics
- GAN (Generative Adversarial Networks)
- Thompson Sampling
- Upper Confidence Bound
-
Clone the repository:
git clone https://github.com/dash10107/learn-ml-by-doing.git cd learn-ml-by-doing -
Open any notebook:
- Use Jupyter Notebook or Google Colab to open
.ipynbfiles. - Each folder contains topic-specific notebooks.
- Use Jupyter Notebook or Google Colab to open
Contributions are welcome!
Feel free to open issues or submit pull requests to add new notebooks, improve documentation, or fix bugs.
This project is licensed under the MIT License.