Skip to content

My thorough journey through Joel Grus's amazing book, including projects based on what I learn.

License

Notifications You must be signed in to change notification settings

andrewrose43/DataScienceFromScratch_CodeTheBook

Repository files navigation

To improve my ML skills, I'm coding through the entirety of Joel Grus's book "Data Science from Scratch" (2nd edition) (see https://github.com/joelgrus/data-science-from-scratch). I might tweak my strategy later, but right now, it looks like I'll be doing the following for each chapter:

1) Read through the entire chapter. As I do so, I will create my own annotated version of the chapter:
    -These will be contained in files named with the suffix "_vanilla".
    -For each example, I will first copy it while following along, then delete it, close the book, and attempt to code it from scratch. I will repeat this process until I've written the example a total of 4 times or I can write it easily from memory, whichever takes longest. (Except for mundane things like declaring example data, which I'll Ctrl-C from Grus's code.) Wherever there's an exception - wherever the book's code is too simple/mundane to bother copying in detail - I'll note it in comments.
    -I will annotate the chapter's code with my own notes. These will be for my own personal advancement/learning and thus probably not useful to anyone else.
    -Other than the annotations, this code will be almost identical to the book's.
2) At the same time, whenever an example provides an opportunity to invent a more advanced or differently-optimized version of itself, I will create my own variant.
    -These will be contained in files named with the suffix "_variant".
    -Swathes of the "_variant" files will be simply copied from the "_vanilla" files. They will differ wherever an interesting opportunity to get creative arises.
    -I'll use docstrings and string literals to explain my variants.
3) After finishing tasks 1 and 2 for each chapter, I will create a small project using what I've learned (except for chapters 1 and 3, which are too introductory to bother with a project).
    -These will be contained in files and/or folders named with the suffix "_project".

I'll skip Chapter 2 because it's merely a Python intro and I don't need a Python intro.

Credit to Raymond Gan for prescribing the overall outline of my learning strategy, which I've adapted to fit this particular book. His thoughts on how best to study a software book can be found at https://www.linkedin.com/posts/activity-6909157362905862144-Qr_g/.

About

My thorough journey through Joel Grus's amazing book, including projects based on what I learn.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages