Data science and advanced Python concepts workshop for neuroscience
Course number: 27-5020-01
Data science and advanced Python concepts workshop for neuroscience
Course type: workshop
Academic year: 2023/4
First Semester Scope of hours: 2h per week
Online course website: TBD
Course Goals:
Students will obtain hands-on experience with building a data science pipeline, including collecting data, data preprocessing, training a machine learning model, analyzing the results, and publishing open-source code.
Learning outcomes:
1.Train and evaluate machine learning and deep learning models
2.Write clear and efficient code in Python
3.Demonstrate proficiency in fundamental concepts in machine learning, including supervised, self-supervised and unsupervised learning
4.Apply data science and machine learning techniques to neuroscience-related data
Course content:
The course focuses on hands-on data science with diverse dataset, including dataset from neuroscience, cognitive science, vision, sound, language and text.
Students will review machine-learning related Python modules, and understand advanced Python concepts. They will work to reproduce results that were published in a recent literature of the data science or neuroscience community.
The course of the lessons:
Mainly hands on. Students should bring laptops to class.
A detailed teaching plan for all classes: (a detailed list of the lecture topics in chronological order)
1. Introduction. Data collection and labeling
2. Working with tables and large datasets, pandas
3. Data visualization, matplotlib, seaborn
4. Building and evaluating machine learning models with scikit-learn
5. Deep learning with pytorch
6. Projects overview and discussion
7. Data science pipelines. Discussions after students choose projects
8. Individual Project reviews
9. Individual Project reviews cont.
10. Advanced Python concepts: iterators and generators, Python built-ins, regular expressions
11. Web scraping and web APIs, beautiful soup
12. Explainability, shap, lime
13. Mid-course project presentations all groups
14. Individual Project reviews
15. End-course project presentations
16. End-course project presentations cont.
Prerequisites:
1.Students must have working knowledge of Python programming language. This means they have already completed a course where home assignments were done in Python.
2.Students should have completed, or currently participate in, a course in machine leaning. For example, neural networks (27-504) or equivalent courses.
Duties/requirements/assignments:
Students should submit 80% of home assignments and a final project.
Grading distribution
The course grade is based on home assignments 40%, and the final project 60%.
Bibliography (required and recommended reading):
Machine Learning and Pattern recognition, C. Bishop (2006)
Deep Learning, I. Goodfellow and Y. Bengio (2015)
The Elements of Statistical Learning, T. Hastie et al. (2001)