# ipython-notebooks

This repo contains various IPython notebooks I’ve created to experiment with libraries and work through exercises, and explore subjects that I find interesting. I’ve included notebook viewer links below. Click the link to see a live rendering of the notebook.

#### Language

These notebooks contain introductory content such as an overview of the language and a review of IPython’s functionality.

Introduction To Python

IPython Magic Commands

#### Libraries

Examples using a variety of popular “data science” Python libraries.

NumPy

SciPy

Matplotlib

Pandas

Statsmodels

Scikit-learn

Seaborn

NetworkX

PyMC

NLTK

DEAP

Gensim

#### Machine Learning Exercises

Implementations of the exercises presented in Andrew Ng’s “Machine Learning” class on Coursera.

Exercise 1 - Linear Regression

Exercise 2 - Logistic Regression

Exercise 3 - Multi-Class Classification

Exercise 4 - Neural Networks

Exercise 6 - Support Vector Machines

Exercise 7 - K-Means Clustering & PCA

Exercise 8 - Anomaly Detection & Recommendation Systems

#### Tensorflow Deep Learning Exercises

Implementations of the assignments from Google’s Udacity course on deep learning.

Assignment 1 - Intro & Data Prep

Assignment 2 - Regression & Neural Nets

Assignment 3 - Regularization

Assignment 4 - Convolutions

Assignment 5 - Word Embeddings

Assignment 6 - Recurrent Nets

#### Spark Big Data Labs

Lab exercises for the original Spark classes on edX.

Lab 0 - Learning Apache Spark

Lab 1 - Building A Word Count Application

Lab 2 - Web Server Log Analysis

Lab 3 - Text Analysis & Entity Resolution

Lab 4 - Introduction To Machine Learning

ML Lab 3 - Linear Regression

ML Lab 4 - Click-Through Rate Prediction

ML Lab 5 - Principal Component Analysis

#### Misc

Notebooks covering various interesting topics!

Comparison Of Various Code Optimization Methods

A Simple Time Series Analysis of the S&P 500 Index

An Intro To Probablistic Programming

Language Exploration Using Vector Space Models

Solving Problems With Dynamic Programming