Skip to content

Instantly share code, notes, and snippets.

View jogonba2's full-sized avatar

José González jogonba2

View GitHub Profile
@jogonba2
jogonba2 / GradientDescent.py
Created June 22, 2015 11:35
Gradient descent for linear regression (One variable)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# GradientDescent.py
#
# Copyright 2015 Overxflow
def h0(sample,theta0,theta1): return theta0+sample*theta1
def derivative_0(train_samples,theta0,theta1): return (1.0/len(train_samples))*sum([h0(sample[0],theta0,theta1)-sample[1] for sample in train_samples])
def derivative_1(train_samples,theta0,theta1): return (1.0/len(train_samples))*sum([(h0(sample[0],theta0,theta1)-sample[1])*sample[0] for sample in train_samples])
@jogonba2
jogonba2 / KNN.py
Last active February 1, 2016 00:44
K nearest neighbours
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# KNN.py
#
# Copyright 2015 Overxflow
#
""" Vector difference """
def v_difference(x,y): return [abs(x[i]-y[i]) for i in xrange(len(x))]
@jogonba2
jogonba2 / linearprey.c
Last active August 29, 2015 14:21
NetLogo Bug Hunt Speeds linear search prey.
/*
* linearprey.c
* Authors: Jose & Alberto
* 2015
*/
#include <windows.h>
int main(int argc, char **argv)
{
int x = 0;
// Posiciones límite //
@jogonba2
jogonba2 / randomprey.c
Last active August 29, 2015 14:21
NetLogo Bug Hunt Speeds random prey.
#include <windows.h>
#include <time.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
srand(time(NULL));
int x = 0;
int uppery = 170;
int downy = 600;
@jogonba2
jogonba2 / bug_hunt_speeds.nlogo
Created May 17, 2015 11:10
Bug Hunt Speeds by Uri Wilensky
@jogonba2
jogonba2 / multinomial.m
Last active August 29, 2015 14:21
Multinomial classificator Octave.
#!/usr/bin/octave -qf
if(nargin!=1)
printf("Usage: multinomial.m <data_filename>");
exit(1);
end
arglist=argv();
datafile=arglist{1};
disp("Loading data...");
@jogonba2
jogonba2 / PageRank.py
Created May 6, 2015 14:21
Pagerank implementation.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# PageRank #
# Author: Overxfl0w13 #
from random import randint
def make_ergodic_chain(access_graph,alpha):
for i in xrange(len(access_graph)):
if reduce(lambda x,y: x+y,access_graph[i])==0: access_graph[i] = [1.0/len(access_graph[i]) for x in access_graph[i]]
@jogonba2
jogonba2 / knn.py
Last active August 29, 2015 14:20
K-vecinos más cercanos, clasificación basada en distancias.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Overxfl0w13 #
# KNN para representaciones vectoriales #
def p_distance(v1,v2,p=2):
""" Calcula las distancias de la familia Lp, http://gyazo.com/b4183c93c58575351334366e3c07370b .
Se asumen parámetros correctamente introducidos.
@jogonba2
jogonba2 / p-systems.py
Last active August 29, 2015 14:20
Sistemas P, computación con membranas.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Overxfl0w13 #
# P Systems #
# PI = (O,mu,w1,...,wm,(R1,p1),...,(Rm,pm),i0) #
# O -> Alfabeto de objetos (catalizadores, de entrada y de salida)
# mu -> estructura de membranas en forma parentizada (estructura de árbol)
# w1,...,wm -> Cadenas representación de multiconjuntos asociadas a cada membrana
# (R1,p1)...,(Rm,pm) -> Reglas de evolución y relaciones de prioridad
@jogonba2
jogonba2 / gauss.m
Created April 26, 2015 19:09
Gauss MLE classifier for 2 classes (Octave)
# Gauss MLE classifier - 2 classes - #
# Author: Overxfl0w13 #
function [c] = gauss(X,Y,x)
[mX,sigmaX] = matcov(X);
[mY,sigmaY] = matcov(Y);
pX = columns(X) / (columns(X) + columns(Y));
pY = columns(Y) / (columns(X) + columns(Y));
g1 = x'*((-1/2)*inv(sigmaX))*x+(inv(sigmaX)*mX)'*x+log(pX)-(1/2)*log(det(sigmaX))-(1/2)*mX'*inv(sigmaX)*mX;
g2 = x'*((-1/2)*inv(sigmaY))*x+(inv(sigmaY)*mY)'*x+log(pY)-(1/2)*log(det(sigmaY))-(1/2)*mY'*inv(sigmaY)*mY;