Welcome to the GitHub repository for my course: DS 397 Advanced Computational Methods in Data Science. This repository contains Python codes (Jupyter notebooks), datasets, and lecture slides used in class. Note: Some code parts were generated by ChatGPT while others were inspired from Stack Overflow and Kaggle, then modified and extended to fit the purpose of illustration.
DS 397 is intended for PhD in Data Science graduate students at the College of Science and College of Engineering, University of the Philippines, Diliman. Pre-requisite knowledge on linear algebra, optimization theory, basic statistics, and calculus are required, as well as basic programming skills.
In this course, emphasis is placed on learning how to code machine learning (ML) algorithms from scratch. This has two benefits:
- The codes can be used to illustrate known ideas in ML
- The codes can be used to test new ideas in ML
At the end of the course, PhD students should be able to:
- Implement common supervised and unsupervised learning algorithms in code via computational executable notebooks.
- Understand learning algorithms through existing code implementations.
- Solve issues arising from numerical implementations of learning methods.
- Evaluate the performance of popular learning algorithms in terms of time and space complexities.
- Select the right algorithms for data mining and learning in different cases depending on the available time and computational resouces.
- Design new learning algorithms incorporating readable code implementation, good programming practice, sufficient testing, maintenance, and version control.
The repository is organized into folders based on the weekly topics covered in the class, as follows:
- Linear Models
- Kernel Methods
- Neural Networks
- Gaussian Processes
- Tree Ensembles
- Dimensionality Reduction
- Nearest Neighbor Graphs
- Clustering
- Anomaly Detection
- AutoML and Explainable AI
If you find any issues or have any suggestions for improvement, feel free to contact me via kspilario@up.edu.ph. If any codes are not working on your terminal, let me know. :)