This repo started as a starter project I created for my lab to help mechanical and electrical engineering students get familiar with the basics of doing engineering research in data processing, signal processing, and ML, covering the basic techniques that a researcher should know about. Working through any notebook should take at most a few hours; the purpose here is to help the novice researcher gain familiarity and confidence.
Reading out of a textbook is boring, and (because it's made out of paper or PDF magic), pushes away the important stuff - the implementation. Jupyter notebooks allow for more interactivity, and keep the author honest by not letting them hide the messy details. While working through the lesson, the learner is encouraged to run the notebook and examine what is happening line by line. In my experience, the best way to understand code is to experiment with it: break it, fix it, etc. while trying to figure out how it works. Each lesson contains one or more challenge problems which should be entirely feasible if the learner understands the content of the notebook. They are good a good opportunity to test your comprehension and work on 'connecting the dots' in the same way you'll need to when performing research - but if you are stuck, I created a separate repo with the solutions to each challenge problem.
I recommend using Anaconda to manage your python environment and IDE (integrated development environment) of choice. The easiest way to use GitHub repos is with GitHub Desktop.
The notebooks require the following packages:
numpy
scipy
sklearn
tensorflow <= 2.13
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Authors: Daniel Coble
Cite as:
@Misc{Coble2024introduction,
author = {Daniel Coble},
howpublished = {GitHub},
title = {Introduction to Data Processing and ML},
year = {2024},
url = {https://github.com/dncoble/Introduction-to-Data-Processing-and-ML},
}