Skip to content

Instantly share code, notes, and snippets.

View jcrist's full-sized avatar

Jim Crist-Harif jcrist

View GitHub Profile
@jcrist
jcrist / dominion.html
Created May 5, 2016 21:45
Dominion Notebook output
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>dominion</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<style type="text/css">
/*!
@jcrist
jcrist / trace.py
Last active September 27, 2022 15:59
Dask Execution Tracer
import os
from dask.callbacks import Callback
from dask.dot import dot_graph
class Track(Callback):
def __init__(self, path='dasks', save_every=1):
self.path = path
self.save_every = save_every
import datetime
import dask
from dask.multiprocessing import get as mp_get
from dask import delayed
from lxml import etree
from multiprocessing import Pool
N = 10000
num_workers = 4
@jcrist
jcrist / logistic_regression_lmbfgs_dask.py
Created December 8, 2016 20:30
Logistic Regression using sklearn and lmbfgs, implemented with dask
from __future__ import print_function, absolute_import, division
import numbers
import warnings
import dask.array as da
import numpy as np
from scipy.optimize import fmin_l_bfgs_b
from sklearn import linear_model
from sklearn.preprocessing import LabelEncoder
@jcrist
jcrist / tdigest.c
Created December 28, 2016 00:01
Bad code generated from tdigest.pyx
This file has been truncated, but you can view the full file.
/* Generated by Cython 0.25.2 */
/* BEGIN: Cython Metadata
{
"distutils": {
"depends": [
"C:\\Users\\builder\\Miniconda2\\envs\\crick\\lib\\site-packages\\numpy\\core\\include\\numpy\\arrayobject.h",
"C:\\Users\\builder\\Miniconda2\\envs\\crick\\lib\\site-packages\\numpy\\core\\include\\numpy\\npy_math.h",
"C:\\Users\\builder\\Miniconda2\\envs\\crick\\lib\\site-packages\\numpy\\core\\include\\numpy\\ufuncobject.h",
"crick\\tdigest_stubs.c"
@jcrist
jcrist / vis.py
Created March 15, 2017 22:51
Simple visualization of dask graph pipelines.
import os
import graphviz
from dask.optimize import key_split
from dask.dot import _get_display_cls
from dask.core import get_dependencies
def node_key(s):
if isinstance(s, tuple):
@jcrist
jcrist / bench.py
Created April 26, 2017 21:37
Benchmark distributed joblib for random forests
from __future__ import division, print_function
from time import time
import numpy as np
from sklearn.datasets import fetch_covtype
from sklearn.ensemble import RandomForestClassifier, ExtraTreesClassifier
from sklearn.metrics import zero_one_loss
from sklearn.utils import check_array
@jcrist
jcrist / set_cell.py
Last active May 26, 2017 06:45
Solution to Joe Jevnik's awful puzzle
import platform
import ctypes
print("Implementation: %s" % platform.python_implementation())
def cell_set(cell, target):
offset = 2 if platform.python_implementation() == 'PyPy' else 4
def inner():
@jcrist
jcrist / bench.py
Created July 26, 2017 22:15
Benchmark Blackscholes
import argparse
from timeit import default_timer
from collections import namedtuple
import numpy as np
import dask.array as da
from dask.threaded import get
from scipy.special import erf
@jcrist
jcrist / switch.py
Created September 22, 2017 16:50
switch-case
_cache = {}
def case(x):
if x not in _cache:
_cache[x] = type("Case", (Exception,), {})
return _cache[x]
def switch(x):