DSC 478 Programming Machine Learning Applications
Summary
The course will focus on the implementations of various data mining and machine learning techniques using a high-level programming language. Students will have hands on experience developing both supervised and unsupervised machine learning algorithms and will learn how to employ these techniques in the context of popular applications including automatic personalization, recommender systems, searching and ranking, text mining, group and community discovery, and social media analytics.
This course and its material was designed by Dr. Bamshad Mobasher.
Texts
We will use numerous online resources and documents throughout the course. The required and recommended textbooks are listed below. The resources directly relevant to topics covered in the course are listed in the course schedule.
Required:
Optional:
- Python Data Science Handbook: Essential Tools for Working with Data, by Jake VanderPlas, 2023.
- Python Data Science Essentials, by Alberto Boschetti and Luca Massaron, 2018.
- Python for Data Analysis, by Wes McKinney, 2017.
- Data Mining, Practical Machine Learning Tools and Techniques, by Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, 2016.
Grading
The structure and grading in the class will be centered around 4 assignments and a final project. The assignments will involve Python implementations of selected machine learning techniques and their applications in various domains. They will also involve the use of various Python libraries to perform preprocessing, data exploration/visualization, and data analysis using different data sets. These assignments must be done individually, unless otherwise specified. You may discuss the assignments with others in the class, but you must develop your own solution to the problems in the assignment. Late assignments will be penalized 10% per day (with weekends counting as one day).
The final project will involve either developing and evaluating an application that uses one or more machine learning algorithms to perform a specific task; or they may involve performing a complete analysis of a complex data set using Python tools. The goal of the project is to integrate several concepts covered during the quarter to achieve a more complex task than those explored in the assignments. Students can propose their own project idea (to be approved) and may complete the project either individually or in groups of up to three members.
The final grade will be determined (tentatively) based on the following components:
- Assignments = 65%
- Final Project = 35%
The general grading scheme will be based on a curve. At the end of the quarter, some adjustments may be made based on overall class performance as well as signs of individual effort. Plusses and minuses will be given at the high/low ends of each grade range.
Prerequisites
(DSC 441 and DSC 430) or CSC 480 are prerequisites for this class.
Tentative List of Topics
The following issues and topics will be covered throughout the course. Many of these topics will be revisited several times during the course in a variety of contexts.
- Data Mining and Knowledge Discovery
- The KDD process and methodology
- Data preparation for knowledge discovery and machine learning
- Exploratory data analysis
- Overview of machine learning tasks
- Review of Python and overview of Python tools for data analysis and visualization
- Supervised Learning
- Classification and prediction using K-Nearest-Neighbor
- Probabilistic models:Naïve Bayes
- Building decision trees
- Linear regression models and regularization
- Gradient descent optimization
- Support vector machines
- Evaluating predictive models
- Hyper-parameter tuning
- Feature selection
- Ensemble models: bagging and boosting, including Random Forest, AdaBoost, etc.
- Unsupervised Learning
- Clustering: K-Means, HSCAN, etc.
- Hierarchical clustering algorihtms
- Principal Component Analysis and dimensionality reduction
- Singular Value Decomposition
- Matrix factroization
- Possible Applications (covered throughout the course)
- Recommender systems and personalization
- Document categorization
- Concept discovery from text
- Finding groups using social or behavioral data
- Building predictive models for target marketing
- Customer or user segmentation
- Image segmentation
This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.
Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course
content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The
evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely
separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation.
Students complete the evaluation online in CampusConnect.
This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you
have any questions be sure to consult with your professor.
All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.
All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.
Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that
you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296