609 lines
72 KiB
Plaintext
609 lines
72 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Visualization and Learning in Julia\n",
|
|
"\n",
|
|
"Tom Breloff\n",
|
|
"\n",
|
|
"https://github.com/tbreloff"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"### Outline\n",
|
|
"- Background\n",
|
|
"- Julia packages\n",
|
|
"- Plots.jl\n",
|
|
"- Fun with data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## My background\n",
|
|
"- BA Mathematics and Economics (U. of Rochester)\n",
|
|
"- MS Mathematics (NYU Courant Institute)\n",
|
|
"- Trader, researcher, quant, developer at several big banks and hedge funds, including one which I founded\n",
|
|
"- High speed algorithmic arbitrage trading and market making\n",
|
|
"- Machine learning and visualization enthusiast\n",
|
|
"- Lifelong programmer (since learning BASIC in 4th grade)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Before Julia\n",
|
|
"- Python and C/C++\n",
|
|
"- MATLAB and Java (so many files!!)\n",
|
|
"- Throughout the years: Mathematica, Go, R, C#, Javascript, Visual Basic/Excel, Lisp, Erlang, ..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Things I like\n",
|
|
"- Python\n",
|
|
" - Solid packages\n",
|
|
" - Easy to get stuff done\n",
|
|
"- C/C++\n",
|
|
" - Fast (when you put in the effort)\n",
|
|
"- MATLAB\n",
|
|
" - Great matrix operations\n",
|
|
" - Easy visualizations\n",
|
|
"- Java\n",
|
|
" - Hmmm... \n",
|
|
" ```\n",
|
|
" public static boolean DoTheFunctionNamesReallyNeedToBeLongerThanThatMaryPoppinsSong() {\n",
|
|
" return true; \n",
|
|
" }```"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Why Julia?\n",
|
|
"- Easy to code\n",
|
|
"- Fast with little effort\n",
|
|
"- Solid vector/matrix support, but more flexible\n",
|
|
"- Macros and staged functions\n",
|
|
"- so much more!\n",
|
|
"\n",
|
|
"(Slow clap...)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Julia's Package Ecosystem"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Top packages by stars\n",
|
|
"Package | Github Stars | 2-week change | Type\n",
|
|
"------ | -------- | ------------- | --------\n",
|
|
"Gadfly\t| 732\t| 14 | Plotting\n",
|
|
"IJulia | 732 | 11 | Workflow\n",
|
|
"Mocha | 496 | 36 | Learning\n",
|
|
"DataFrames | 230 | 12 | Data Structures\n",
|
|
"PyCall | 204 | 4 | Language Wrapper\n",
|
|
"JuMP | 182 | 5 | Optimization\n",
|
|
"Escher | 135 | 10 | GUIs\n",
|
|
"Optim | 131 | 4 | Optimization\n",
|
|
"Morsel | 128 | -1 | Web (deprecated)\n",
|
|
"Distributions | 125 | 7 | Statistics\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Recent trends\n",
|
|
"Package | Github Stars | 2-week change | Type\n",
|
|
"------ | -------- | ------------- | --------\n",
|
|
"Mocha | 496 | 36 | Learning\n",
|
|
"Gadfly | 732 | 14 | Plotting\n",
|
|
"DataFrames | 230 | 12 | Data Structures\n",
|
|
"IJulia | 732 | 11 | Workflow\n",
|
|
"Escher | 135 | 10 | GUIs\n",
|
|
"Interact| 102 | 8 | GUIs\n",
|
|
"Distributions| 125 | 7 | Statistics\n",
|
|
"Plots| 23 | 6 | Plotting\n",
|
|
"Seismic| 7 | 6 | Plotting\n",
|
|
"Immerse | 23 | 5 | Plotting\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Statistics and Learning in Julia\n",
|
|
"- Stats (mostly in JuliaStats)\n",
|
|
" - StatsBase\n",
|
|
" - Distributions\n",
|
|
" - DataFrames, DataArrays, NullableArrays\n",
|
|
" - MultivariateStats, GLM\n",
|
|
" - OnlineStats\n",
|
|
" - many more...\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Statistics and Learning in Julia\n",
|
|
"- Optimization (mostly in JuliaOpt)\n",
|
|
" - MathProgBase\n",
|
|
" - JuMP\n",
|
|
" - Optim\n",
|
|
" - Convex\n",
|
|
" - NLOpt\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Statistics and Learning in Julia\n",
|
|
"- Machine learning\n",
|
|
" - Mocha\n",
|
|
" - GeneticAlgorithms\n",
|
|
" - Orchestra\n",
|
|
" - TextAnalysis\n",
|
|
" - Clustering\n",
|
|
" - OnlineAI\n",
|
|
" - many more..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Visualization in Julia\n",
|
|
"\n",
|
|
"Lots of packages: Gadfly, PyPlot, Vega, Winston, UnicodePlots, Qwt, Bokeh, Immerse, GLPlot ... \n",
|
|
"\n",
|
|
"Strengths:\n",
|
|
"- Interactive: Immerse, PyPlot, Qwt\n",
|
|
"- Fast: GLPlot\n",
|
|
"- Easy/concise: UnicodePlots, Winston, Qwt\n",
|
|
"- Pretty: Gadfly, Vega, Bokeh\n",
|
|
"- Native: Gadfly, Winston, UnicodePlots\n",
|
|
"- Features: PyPlot\n",
|
|
"\n",
|
|
"Learning more than one or two packages is time consuming and impractical...\n",
|
|
"\n",
|
|
"### Why do I have to choose one?!?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# What makes good code design?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Good design: AbstractArray\n",
|
|
"Many concrete array-types:\n",
|
|
"- Dense arrays\n",
|
|
"- Sparse arrays\n",
|
|
"- Ranges\n",
|
|
"- Distributed arrays\n",
|
|
"- Shared arrays\n",
|
|
"- GPU arrays\n",
|
|
"- Custom data structures\n",
|
|
"\n",
|
|
"Common code is implemented once for AbstractArray, and all concrete types get the benefit."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 52,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"5-element ScaryVec:\n",
|
|
" 1 \n",
|
|
" \"BOO!\"\n",
|
|
" 3 \n",
|
|
" 4 \n",
|
|
" 5 "
|
|
]
|
|
},
|
|
"execution_count": 52,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"type ScaryVec <: AbstractArray{Int,1}\n",
|
|
" boo::Int\n",
|
|
" n::Int\n",
|
|
" ScaryVec(n::Integer) = new(rand(1:n), n)\n",
|
|
"end\n",
|
|
"Base.size(sv::ScaryVec) = (sv.n,)\n",
|
|
"Base.getindex(sv::ScaryVec, i::Integer) = (i == sv.boo ? \"BOO!\" : i)\n",
|
|
"\n",
|
|
"sv = ScaryVec(5)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 53,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"4-element Array{Int64,1}:\n",
|
|
" 1\n",
|
|
" 3\n",
|
|
" 4\n",
|
|
" 5"
|
|
]
|
|
},
|
|
"execution_count": 53,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"filter(x -> isa(x, Number), sv)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Good design: AbstractArray\n",
|
|
"- Inheriting from AbstractArray gives you a lot \"for free\":\n",
|
|
" - Iteration (`map`, `for x in ...`, `filter`, ...)\n",
|
|
" - Operations\n",
|
|
" - Printing\n",
|
|
" - etc\n",
|
|
"- Few methods to implement... only what's needed.\n",
|
|
"- Abstractions put overlapping functionality in one place\n",
|
|
" - Easy to code\n",
|
|
" - Easy to maintain\n",
|
|
"\n",
|
|
"\n",
|
|
"### Imagine if there were no AbstractArray..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"### Gadfly : `____________` :: ScaryVector : AbstractArray\n",
|
|
"\n",
|
|
"Thinking of graphics packages as concrete types, we see that we have many different types, but no abstraction linking them together. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Plots.jl\n",
|
|
"### The AbstractArray of plotting..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"[Plots.jl] Initializing backend: gadfly"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# setup... choose Gadfly as the backend, set some session defaults\n",
|
|
"using Plots\n",
|
|
"gadfly()\n",
|
|
"default(size=(600,500), legend=false)\n",
|
|
"\n",
|
|
"# create parametric functions\n",
|
|
"fx(u) = 1.6sin(u)^3\n",
|
|
"fy(u) = 0.1 + 1.5cos(u) - 0.6cos(2u) - 0.25cos(3u) - cos(4u)/8\n",
|
|
"\n",
|
|
"# plot and annotate\n",
|
|
"p = plot(fx, fy, 0, 2π, line=(5,:darkred), xlim=(-2,2), ylim=(-2,2))\n",
|
|
"annotate!(0, -0.15, text(\" I ♡\\nPlots\", 45, -0.1π, :darkred));"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"Plot{Plots.GadflyPackage() n=1}"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"p"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# use the same parametric functions to create a custom marker shape\n",
|
|
"us = linspace(0, 2π, 100)\n",
|
|
"heart = Shape([(fx(u), -fy(u)) for u in us])\n",
|
|
"\n",
|
|
"# generate some data\n",
|
|
"n = 50\n",
|
|
"xy() = 4rand(2) - 2\n",
|
|
"\n",
|
|
"# add a title\n",
|
|
"title!(\"Let me count the ways...\")\n",
|
|
"\n",
|
|
"# add a new series\n",
|
|
"scatter!(zeros(0),zeros(0), z=0:n, marker=(heart,15,:reds))\n",
|
|
"\n",
|
|
"# animations!\n",
|
|
"anim = Animation()\n",
|
|
"for i in 1:n\n",
|
|
" x, y = xy()\n",
|
|
" \n",
|
|
" # add to a series after creation\n",
|
|
" push!(p, 2, x, y)\n",
|
|
" \n",
|
|
" # easy annotations\n",
|
|
" annotate!(x, y, text(i))\n",
|
|
" \n",
|
|
" # save an animation frame\n",
|
|
" frame(anim)\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"INFO: Saved animation to /home/tom/.julia/v0.4/Plots/examples/meetup/iheartplots.gif\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<img src=\"iheartplots.gif?0.35511351462964247>\" />"
|
|
],
|
|
"text/plain": [
|
|
"Plots.AnimatedGif(\"/home/tom/.julia/v0.4/Plots/examples/meetup/iheartplots.gif\")"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"gif(anim, \"iheartplots.gif\", fps=3)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# One problem...\n",
|
|
"\n",
|
|
"<img src=\"cart-before-the-horse.jpg\" style=\"width: 800px; height: 500px;\">\n",
|
|
"\n",
|
|
"When the abstract comes after the concrete, it's a lot more work. Oops. Better late than never!!"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Fun with data - UCI Wine Quality Dataset\n",
|
|
"<img src=\"wine-toast.jpg\" style=\"width: 800px; height: 500px;\">\n",
|
|
"\n",
|
|
"P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis. \n",
|
|
"Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553, 2009."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Come collaborate:\n",
|
|
"- Plots.jl\n",
|
|
"- OnlineStats.jl\n",
|
|
"- OnlineAI.jl\n",
|
|
"- LearnBase.jl\n",
|
|
"- Unums.jl\n",
|
|
"\n",
|
|
"# or get in touch:\n",
|
|
"- tom@breloff.com\n",
|
|
"- https://github.com/tbreloff"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"celltoolbar": "Slideshow",
|
|
"kernelspec": {
|
|
"display_name": "Julia 0.4.0-rc4",
|
|
"language": "julia",
|
|
"name": "julia-0.4"
|
|
},
|
|
"language_info": {
|
|
"file_extension": ".jl",
|
|
"mimetype": "application/julia",
|
|
"name": "julia",
|
|
"version": "0.4.0"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
}
|