A comprehensive collection of assignments, labs, and projects from the Stanford & DeepLearning.AI Machine Learning Specialization
This repository contains my complete work and solutions for the Machine Learning Specialization offered by Stanford University and DeepLearning.AI on Coursera. It includes all completed mandatory programming assignments and most optional labs from the three courses in the specialization. The repository serves as a comprehensive resource for anyone interested in learning machine learning concepts through practical implementation.
├── 1-Supervised Machine Learning Regression and Classification
│ ├── Week 1 - Introduction to ML, Linear Regression
│ ├── Week 2 - Multiple Linear Regression, Feature Scaling
│ └── Week 3 - Logistic Regression, Regularization
│
├── 2-Advanced Learning Algorithms
│ ├── Week 1 - Neural Networks, Forward Propagation
│ ├── Week 2 - Neural Network Training, Activation Functions
│ ├── Week 3 - Decision Trees, Tree Ensembles
│ └── Week 4 - ML Development Process, Bias/Variance
│
└── 3-Unsupervised Learning, Recommenders, Reinforcement Learning
├── Week 1 - Clustering, K-means, Anomaly Detection
├── Week 2 - Recommender Systems, Collaborative Filtering
└── Week 3 - Reinforcement Learning, State-Action Value
-
Clone the repository
git clone https://github.com/rezwanqkhan/Machine-Learning-Specialization-Stanford-DeepLearning.AI.git cd Machine-Learning-Specialization-Stanford-DeepLearning.AI -
Environment setup
Option 1: Conda (Recommended for TensorFlow)
# Install Conda if you don't have it already # Download from: https://docs.conda.io/en/latest/miniconda.html # Create a conda environment with Python 3.9 conda create -n ml_env python=3.9 # Activate the environment conda activate ml_env # Install TensorFlow and other dependencies conda install tensorflow numpy pandas matplotlib scikit-learn jupyter
Option 2: Standard Python venv
# Create a virtual environment python -m venv ml_env # Activate the environment # On Windows: ml_env\Scripts\activate # On macOS/Linux: source ml_env/bin/activate # Install dependencies pip install -r requirements.txt
-
IDE Recommendations
- PyCharm: Excellent for working with Python projects, but note that for Course 2 (Neural Networks with TensorFlow), you should use the Conda environment option to manage Python version compatibility issues.
- VS Code: Good alternative with excellent Jupyter notebook integration.
- JupyterLab: Perfect for interactive exploration of the notebooks.
-
Launch Jupyter Notebook
jupyter notebook
- Week 1: Introduction to Machine Learning, Linear Regression with One Variable
- Cost function implementation
- Gradient descent algorithm
- Week 2: Linear Regression with Multiple Variables, Feature Scaling, Gradient Descent
- Feature normalization
- Vectorized implementations
- Week 3: Logistic Regression, Regularization, Gradient Descent for Logistic Regression
- Binary classification problems
- Sigmoid function implementation
- Regularized logistic regression
- Week 1: Neural Networks, Forward Propagation, TensorFlow Implementation
- Neural network architecture
- TensorFlow basics
- Week 2: Neural Network Training, Activation Functions, Multiclass Classification
- Backpropagation algorithms
- ReLU, Sigmoid, and Softmax activations
- Week 3: Decision Trees, Tree Ensembles, Random Forests, Boosting
- Decision tree implementation
- Random forest applications
- Week 4: Advice for Applying Machine Learning, Bias/Variance, Machine Learning Development Process
- Error analysis techniques
- Training/testing data splits
- Week 1: Clustering, K-means Algorithm, Anomaly Detection
- K-means implementation
- Anomaly detection systems
- Week 2: Recommender Systems, Collaborative Filtering, Content-based Filtering
- Collaborative filtering algorithm
- Content-based recommendations
- Week 3: Reinforcement Learning, State-Action Value Function, Continuous State Spaces
- Q-learning implementation
- Deep Q-learning neural networks
- Python: Primary programming language for all implementations
- NumPy: Numerical computations and array operations
- Pandas: Data manipulation and analysis
- Matplotlib/Seaborn: Data visualization and result plotting
- Scikit-learn: Implementation of various ML algorithms and tools
- TensorFlow: Neural network implementation and deep learning frameworks
- Jupyter Notebooks: Interactive code development and visualization
- Linear and Logistic Regression algorithms
- Neural Networks and Deep Learning architectures
- Decision Trees and Ensemble Methods
- Clustering and Anomaly Detection techniques
- Recommender Systems algorithms
- Reinforcement Learning approaches
- Feature Engineering and Selection methods
- Model Evaluation and Validation techniques
- Bias and Variance Analysis
- Hyperparameter Tuning strategies
Feel free to use these materials to enhance your understanding of machine learning concepts. The notebooks are designed to be interactive and educational. I encourage you to:
- Experiment with the parameters to see how they affect model performance
- Modify the existing code to solve similar problems
- Use these implementations as a foundation for your own machine learning projects
- Practice implementing these algorithms from scratch to deepen your understanding
For Course 2 (Advanced Learning Algorithms), TensorFlow requires specific Python versions (Python 3.9 is recommended). Using Conda for environment management solves many compatibility issues:
# Create TensorFlow-compatible environment
conda create -n tf_env python=3.9
conda activate tf_env
conda install tensorflowThis approach helps avoid common dependency issues that occur with TensorFlow installations.
This repository is created for educational purposes. The code and solutions are meant to serve as a learning resource for students and practitioners interested in machine learning. While the assignments are from the Coursera specialization, this repository is intended to help others learn through example implementations and thorough documentation.
Created with ❤️ by Rezwanullah Khan QURAISHI
Connect with me: