Skip to content

Instantly share code, notes, and snippets.

@egonSchiele
egonSchiele / linear_regression_with_fminunc.m
Created March 9, 2016 23:48
Linear regression with fminunc
x = [1000, 2000, 4000];
y = [200000, 250000, 300000];
% given a theta_0 and theta_1, this function calculates
% their cost. We don't need this function, strictly speaking...
% but it is nice to print out the costs as gradient descent iterates.
% We should see the cost go down every time the values of theta get updated.
function distance = cost(theta)
theta_0 = theta(1);
theta_1 = theta(2);
% my training data.
% so if x > 3 || x < 7, y = 1, otherwise y = 0.
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
y = [0, 0, 0, 1, 1, 1, 0, 0, 0, 0];
% instead of theta' * x, I'm trying to create
% a non-linear decision boundary.
function result = h(x, theta)
result = sigmoid(theta(1) + theta(2) * x + theta(3) * ((x - theta(4))^2));
end
@egonSchiele
egonSchiele / regression.m
Last active March 28, 2021 12:46
Linear regression in Octave
% scaled features.
% x = square feet
% y = sale price
x = [1, 2, 4];
y = [2, 2.5, 3];
% function to calculate the predicted value
function result = h(x, t0, t1)
result = t0 + t1 * x;
end
@egonSchiele
egonSchiele / Main.hs
Last active November 12, 2015 23:25
kcombinations
{-# LANGUAGE MultiWayIf #-}
import Data.List
import Control.Monad
import Control.Monad.Trans.Writer
kcombinations n arr = snd . runWriter $ combos [] 1 n arr
combos :: (Eq a) => [a] -> Int -> Int -> [a] -> Writer [[a]] ()
combos acc step n array = forM_ (zip array [1..]) $ \(val, i) -> if
| val `elem` acc -> return ()

Keybase proof

I hereby claim:

  • I am egonschiele on github.
  • I am adit (https://keybase.io/adit) on keybase.
  • I have a public key whose fingerprint is 31AE C08A 8B28 F75B 596D 8146 0264 FC99 3D75 484F

To claim this, I am signing this object:

@egonSchiele
egonSchiele / why.markdown
Last active July 20, 2018 01:40
Why read Grokking Algorithms?

If you have already taken a course in algorithms, why read Grokking Algorithms (manning.com/bhargava)?

If you were learning graph algorithms, which approach would you prefer:

  1. Imagine you have to take public transit from your home to your office. How do you figure out the fastest route? Use graph algorithms! OR

  2. We can choose between two standard ways to represent a graph G = (V, E): as a collection of adjacency lists or as an adjacency matrix. Either way applies to both directed and undirected graphs.

I prefer the first way: lead with lots of examples, and clear writing. The second way is an excerpt from "Introduction to Algorithms"...that's how they start their section on graph algorithms.

@egonSchiele
egonSchiele / notes_on_cameras.markdown
Created February 12, 2014 17:03
Notes on cameras

Notes on cameras

Lenses

Focal length

Prime (fixed) lens

If it says 17mm, it's fixed at that...you can't zoom in or out. Advantages: cheaper.

@egonSchiele
egonSchiele / pretty_hive.rb
Created September 6, 2013 00:46
Display a bunch of data from a hive table in a pretty HTML table
#!/usr/bin/env ruby
require 'tempfile'
def make_row cols, style=""
"<tr style='#{style}'><td>" + cols.join("</td><td>") + "</td></tr>"
end
if ARGV.empty?
puts %{
Usage: #{$0} [file] where file has col list for a hive table, then a blank line, then some sample rows
@egonSchiele
egonSchiele / generate_valid_isbn.rb
Created August 15, 2013 20:29
Generate a valid ISBN number in ruby
def generate_valid_isbn
prefix = 978.to_s # must be 978 or 979
registration_group_element = rand(10).to_s
registrant_element = (rand(90000) + 10000).to_s
publication_element = (rand(900) + 100).to_s
_isbn = prefix + registration_group_element + registrant_element + publication_element
check_digit = 0
i = 0
_isbn.each_char do |letter|
i+= 1
@egonSchiele
egonSchiele / crazy.rb
Created July 29, 2013 05:10
can't kill this
trap("SIGINT") do
puts "goodbye!"
# exit
end
while true
end