I recently read through Aurelien Geron’s amazing textbook ‘Hands-On Machine Learning with Scikit-Learn & TensorFlow’ and found his explanations of concepts intuitive and the coding examples helpful for starting personal projects. Recoginizing that the book is long; this is a quick outline to help navigate yourself around. Essentially an expanded table of contents.

If you ever read this, thanks Aurelien for the great book!

If the markdown of this article is not working here, there is another version on my site (http://spectre.engineering/Articles/ML/HandsOn/outline.html).

Part I: The Fundamentals of Machine Learning

Chapter 2: End-to-End Machine Learning Project

A machine learning project should follow (loosely) the following model

  1. Look at the big picture

2. Frame the…


Here is a basic base.html using a Nav Bar from Bootstrap. Feel free to snag all this for any use.

{% load static %}
<!DOCTYPE html>
<html lang="en">

<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}" />
<link rel="icon" href="https://your_website.com/icon.png"> …


When using Python, best practice is to use virtual enviroments. There are many reasons for this, here are some of the major ones.

  1. Mac comes with Python installed. If you do not use virtual environments, every time you upgrade your Mac software, the Python is re-installed as well, creating slew of dependency issues.
  2. Virtual Environments forces development that is portable to many computers
  3. Locally allows you to work on many projects that use different packages.

Note About Anaconda

The most popular stock, virtual enviroment for Python is Anaconda. This packages python download and version control in one swoop, making it optimal for people looking to start an education in scientific python. …


  1. LaTeX is the preferred method to create technical documents
  2. Sublime is a versitle editor not only for LaTeX but for code as well
  3. Skim provides quick compile when interfacing with LaTeXing Package in Sublime


  1. Download Sublime
  2. Install Latexing
  3. Link to Skim

Install Latexing

To install Latexing, you first need to have Package Control. Fire up Sublime

Tools > Install Package Control

With this installed, open up Package control

Sublime Text > Preferences > Package Control

and type in LaTeXing.

This should set you up!

Installing Latex Auto-Complete

Open up Package control

Sublime Text > Preferences > Package Control

and type in LaTeXing-CWL.

Linking to Skim

Here Jakub Jedryszek sets up an quick walk through. I’ll re-hash what he put together. …

The Django website framework makes use of its own template language known as DTL (Django Template Language). This can be replaced with third party options, with the most popular being Jinja2.


If you did the overall Django tutorial, you will remember templates/front-end from Part 3. For initial documentation specific to the templating proccess there is an intro, an explanation of DTL, and finally a more intensive technical documentaion written for Python programmers specifically.


In order to make use of templating, the following needs to be in the settings.py file for the project.

'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
# ... some options here ... …


Ian Shaw

Founder, Spectre Engineering

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store