Skip to content

Instantly share code, notes, and snippets.

View rwalk's full-sized avatar

Ryan Walker rwalk

View GitHub Profile
@rwalk
rwalk / svm_solver_compare.R
Last active January 27, 2020 16:41
R: Solve the SVM minimization problem with quadprog and ipop
# This gist solves the hard-margin SVM problem in three ways: using quadprog, using kernlab's ipop, and by
# the e1071 wrapper around libsvm.
#
# author: R. Walker (r_walker@zoho.com)
# LICENSE: MIT
library("quadprog")
library("kernlab")
library("e1071")
# Use Fisher iris data and binarize one of the species
@rwalk
rwalk / quadprog_ipoptr_translate.R
Created March 8, 2015 23:22
Quadratic programming: Use matrix inputs to solve a QP with ipoptr
ipoptr_qp <- function(Dmat, dvec, Amat, bvec, ub=100){
# Solve the quadratic program
#
# min -d^T x + 1/2 x^T D x
# s.t. A%*%x>= b
#
# with ipoptr.
n <- length(bvec)
# Jacobian structural components
import json
import csv
from collections import defaultdict
# load the mapping (supplied by the dataset) from id into book_id
with open("goodreads/book_id_map.csv") as f:
reader = csv.reader(f)
_ = next(reader)
book_id_map = {int(_id): int(book_id) for _id, book_id in reader}
@rwalk
rwalk / goodreads_matrix.py
Last active June 8, 2020 03:10
Spare matrix representation for goodreads data
import json
from scipy.sparse import coo_matrix, save_npz
import numpy as np
print("reading data...")
with open("goodreads/interactions.json") as f:
data = json.load(f)
books = data["books"]
interactions = data["interactions"]
@rwalk
rwalk / s3_read_only_prefix_policy.json
Created June 8, 2020 22:12
AWS permit users read/list access to a prefix in a bucket
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::fancy-bucket"
@rwalk
rwalk / cooccurence_recommender.py
Last active June 24, 2020 03:55
Co-Occurence based recommendation
import argparse
import json
import sys
import warnings
import numpy as np
from scipy.sparse import load_npz, coo_matrix
class CooccurenceRecommender:
@rwalk
rwalk / image_segmentation_demo.R
Created January 3, 2016 16:50
Segment an image by color using Kmeans
# image segmentation demo
# author: rwalker (ryan@ryanwalker.us)
# license: MIT
library("jpeg")
library("png")
library("graphics")
library("ggplot2")
library("gridExtra")
#######################################################################################
@rwalk
rwalk / ScalatraChunkedEncoding.scala
Last active February 22, 2022 16:23
Scalatra: chunked transfer Encoding HTTP endpoint example
import org.json4s.{DefaultFormats, Formats}
import scala.language.postfixOps
import scalate.ScalateSupport
import org.scalatra._
import java.io.PrintWriter
class Chunks extends ScalatraServlet with ScalateSupport {
/*
Simple example of chunked transfer encoding in Scalatra (scala web framework)
*/
@rwalk
rwalk / elasticsearch_quickstart.py
Created September 17, 2015 21:08
Quickstart elasticsearch with Python
#!/usr/bin/python3
# This script is a simple introduction to the python elasticsearch API.
#
# This script will populate an elasticsearch index from a file and then give a simple command line query interface.
# Each line of the input file will be mapped into a JSON document of the form { "text": "my file line..." } and added
# to the index.
#
# You can use Docker to spin up a local elasticsearch instance to play around with, e.g.
# docker run --name elasticsearch -d -p 9200:9200 elasticsearch:latest
#
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.