Machine Learning BSCS (CS-4090)
Course, Fast University, CS Department, 2025
Course Description
This basic course explores the concepts, techniques, and applications of Machine Learning (ML), providing students with the theoretical foundations and hands-on skills required to design, train, and evaluate predictive models. Students will work with Python-based ML tools and libraries such as Scikit-learn, NumPy, and Pandas to solve real-world problems.
Key Topics Covered
- Introduction to Machine Learning
- History and evolution of ML.
- Overview of ML categories: supervised, unsupervised, and reinforcement learning.
- Python for Machine Learning
- Data manipulation with Pandas and NumPy.
- Data visualization with Matplotlib and Seaborn.
- Regression Models
- Simple and multiple linear regression.
- Model evaluation metrics for regression tasks.
- Data Preprocessing and Pipelines
- Feature scaling, encoding, and transformation.
- Building automated ML pipelines.
- Classification Models
- Logistic regression, k-NN, Naïve Bayes.
- Evaluation metrics: accuracy, precision, recall, F1-score, ROC-AUC.
- Neural Networks and Deep Learning
- Perceptron and multilayer perceptron architectures.
- Backpropagation and activation functions.
- Optimization and Regularization
- Gradient descent variants (SGD, Adam, RMSProp).
- L1/L2 regularization, dropout.
- Advanced Models
- Support Vector Machines (SVM) and kernel tricks.
- Decision trees, random forests, gradient boosting.
- Unsupervised Learning
- Clustering (K-means, hierarchical, DBSCAN).
- Dimensionality reduction (PCA, t-SNE).
- Project Work
- Applying ML models to real datasets.
- Presentations and discussions on project outcomes.
Learning Outcomes:
By the end of the course, students will:
- Understand the foundational principles of machine learning and its applications in robotics.
- Develop and evaluate machine learning models for real-world problems using Python and Scikit-learn.
- Analyze the impact of various machine learning techniques on learning applications and optimize models for performance.
- Apply neural network architectures for predictive modeling tasks.
Hands-On Labs and Projects
- Implement regression and classification models using Scikit-learn.
- Create automated ML pipelines for end-to-end workflows.
- Build a neural network for a classification or regression problem.
- Compare performance of various ML algorithms on benchmark datasets.
- Present a complete ML project from data preprocessing to model deployment.