Skip to content

Supplementary Materials

Joshua Cook edited this page Aug 20, 2016 · 7 revisions

Excellent Material on how to organize your data-science project

Sites

Textbooks

Machine Learning

  • Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville
  • Introduction to Statistical Learning, Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, available for free here
    • Intended as companion piece to Elements of Statistical Learning, Hastie, Tibshirani, Friedman
    • Read Intro first. Even if you have a PhD in statistics.
  • Machine Learning, Tom Mitchell website here
  • Artificial Intelligence, Stuart Russell and Peter Norvig, website here
  • Linear Algebra Review and Reference, Zico Kolter here
  • Stanford CS 229 course, Machine Learning, here
  • Python Implementation of CS 229 here
  • Machine Learning for Audio, Image, and Video Analysis, Camastra, Vinciarelli
  • Pattern Recognition and Machine Learning, Bishop
  • Python 3 Text Processing with NLTK 3 Cookbook, Perkins
  • Thoughtful Machine Learning, Kirk

Mathematics

  • A free source for math textbooks
  • An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, Shewchuck
  • Computational science and engineering, Gilbert Strang
  • Concrete Mathematics, Graham, Knuth, Patashnik
  • Introduction to Linear Algebra, Gilbert Strang
    • My favorite book of all time, @joshuacook (seconded, @nash)
    • Ask @joshuacook about why linear algebra is the bee’s knees and how to study it
  • Introduction to Mathematical Statistics, Hogg
  • Linear Algebra Done Right, Axler
  • Linear Algebra Done Wrong, Treil
  • Linearity, Symmetry, and Prediction in the Hydrogen Atom, Singer
  • Pearls in Graph Theory, Hartsfield, Ringel
  • Convex Optimization, Stephen Boyd and Lieven Vandenberghe

Python and Programming

  • A Guide to Numpy, Travis Oliphant free here
    • Timothy Oliphant wrote numpy and now runs Continuum Analytics
  • All the Mathematics You Missed But Need to Know for Graduate School, Garrity
  • Becoming a Better Programmer, Pete Goodliffe
  • Data Structures and Algorithms in Python, Goodrich, Tamassia, Goldwasser
  • Effective Computation in Physics, Scopatz, Huff
  • Expert Python Programming, Ziade
  • Flask Web Development, Grinberg
  • Fluent Python, Ramalho
  • Functional Python Programming, Lott
  • Introduction to Computing Using Python, Perkovic
  • IPython Interactive Computing and Visualization Cookbook, Rossant
    • IPython Notebook is now called Jupyter. Still a great reference.
  • Learn Python the Hard Way, Zed Shaw
  • Numerical Python, Johansson
  • NumPy Cookbook, Idris
  • Python Scripting for Computational Science, Langtangen
  • Python 3 Object Oriented Programming, Phillips
  • SciPy and NumPy, Bressert
  • scikit-learn Cookbook, Hauck
  • Structure and Interpretation of Computer Programs, Abelson, Sussman
  • The Pragmatic Programmer, Hunt, Thomas
  • The TexBook, Knuth

The Think Series

A series of books by Allen Downey. Excellent introduction and exploration of Python topics both related to the Python Data Model and Mathematical Python.

  • Think Python (free)
  • Think Bayes
  • Think Stats
  • Think Complexity
  • Think DSP

Installing Jupyter

Jupyter is extremely well documented. Their installation instructions are here.

If you are feeling adventurous, running Jupyter via Docker is not only very well supported, it might even in the long run be easier. Here is how to run Jupyter in Docker:

  1. Install Docker - instructions for Mac, Windows, and Linux.
  2. From the command line type:
    • $ docker run jupyter/scipy-notebook
  3. When the above process completes (downloading the jupyter/scipy-notebook image from Docker Hub), it should start and now be running (usually at localhost:8888). Enter that URL in your browser.
Clone this wiki locally