We will learn ...
Machine learning has been shown powerful on many specific problems. To make things work, one has to clean up the data and apply appropriate algorithms on it. In this course, we will learn how to process and analyze data with Python. We will introduce Python packages including NumPy (for scientific computing on arrays), pandas (for processing data), and scikit-learn (for machine learning). If time allowed, we will go through some examples on Keras (for neural network) and matplotlib (for data visualization). With these tools at hand, you will find it much easier to learn further and newer techniques on machine learning.
NumPy
a package for scientific computing on arrays
pandas
a package for data processing
matplotlib
a package for plotting
scikit-learn
a package for machine learning
You need to do ...
HW0: Tell me your email before February 21 to get extra 2pt — this is a required work. Important information will be announced through email.
Homework (40%): There will be homework every week.
NumPy, pandas, matplotlib
Midterm (30%):
Machine learning
Final exam (30%):
A few tips for learning mathematics ...
Mistakes Make You Smarter: Everyone learns through experiences and mistakes. For each new concept you learn, generate as many examples as possible to train your brain to distinguish between right and wrong.
Ask Questions: Beyond knowledge, mathematics is fundamentally about logic. Question everything you encounter—why it is defined this way, why an assumption is required, why a proof needs a particular step, and so on.
Think Carefully: Sound arguments should hold true in any circumstance. Verify the examples you generate to ensure they align with your argument.
Help Each Other: Learning together can make the process easier. Teaching others is also an effective way to reinforce your own understanding.
Course Info
- Term: Feb 17, 2025 – Jun 20, 2025
- Meeting time: Monday, 2:10 pm – 5:00 pm @ SC4009-1
- Instructor: Jephian Lin | 林晉宏
- Email: chlin [at] math.nsysu.edu.tw
- Office: SC2002-5
- Office Hours: Tuesday, 3:10 pm – 5:00 pm
- Office Hours: Thursday, 3:10 pm – 5:00 pm
- Discord: https://discord.com/invite/behbC9NmqNJ
Textbook
Python Data Science Handbook [on GitHub]
Jake VanderPlas, O'Reilly Media, 2016Course website
Further Resources
A Whirlwind Tour of Python [on GitHub pdf]
Jake VanderPlas, O'Reilly Media, 2016
Neural Networks and Deep Learning
Michael Nielsen
Linear Algebra with NumPy
Jephian Lin
Machine Learning with NumPy
Jephian Lin
Tentative Schedule
Policies/Ethics
Accessibility
Students with diverse learning styles and needs are welcome in this course. In particular, if you have a disability/health consideration that may require accommodations, please feel free to approach me.
Grading
Percentage scores will be converted to letter grades according to the university-wide standard table.
Attendance
You are expected to attend the classes.
Missing work
If you miss some course components due to illness, accident, family affliction, or religious observances, please talk to me and provide the documentation. In such cases, the course component is excused, and your course score will be calculated by distributing the weight of the missed item(s) across the other course components. Missing components are limited to at most 20%.
Academic integrity
Do not copy others' work, including others' homework, the textbook, online materials, and others' answers in an exam; if it is really necessary, add proper citations to your references. It makes no point (and gives you no point) if the work is not yours since you learned nothing.