lunes, 29 de septiembre de 2014

PRESENTACIÓN DEL PROBLEMA DE APRENDIZAJE DE MAQUINA SET DE DATOS.

PRONÓSTICO DEL USO DE UN SISTEMA DE INTERCAMBIO DE BICICLETAS EN LA CIUDAD


Los sistemas de intercambio de bicicletas son la nueva generación del tradicional alquiler de bicicletas, donde todo el proceso de alquiler y devolución se hace de de manera automática  A través de estos sistemas, el usuario es capaz de alquilar una bicicleta en una ubicación particular y retornarla en otra ubicación. En la actualidad, hay alrededor de más de 500 programas de intercambio de bicicletas en todo el mundo que se componen de más de 500 mil bicicletas .Además existe gran interés en estos sistemas debido a su importante papel en temas de tráfico, ambiental y de salud.

Aparte de lo interesante que puede resultar un sistema de arriendo de bicicletas, las características de los datos que se generan a través del uso de estos sistemas los hacen atractivos para la investigación.

A diferencia de otros servicios de transporte como el autobús o el metro, la duración de los viajes de salida y la posición de llegada se registra explícitamente en estos sistemas. Esta característica convierte al sistema de arriendo de bicicletas en un sensor virtual que puede ser utilizado para detectar la movilidad en la ciudad. Por lo tanto, se espera que la mayoría de los eventos importantes de la ciudad se puedan detectar mediante el seguimiento y análisis de estos datos.

Este conjunto de datos contiene el número de hora y día de alquiler de bicicletas entre los años 2011 y 2012 en el sistema de Bikeshare Capital con el tiempo correspondiente y la información de la temporada.

Archivos de Datos :

- day.csv

- hour.csv


Atributos de la información:

Tanto hour.csv y day.csv tienen los siguientes campos que se detallan a continuación, exceptuando el campo hr que no está disponible en day.csv.

- Instantánea: índice de registro.

- Dteday: fecha.

- Temporada: temporada (1: primavera, 2: verano, 3: otoño, 4: invierno).

- Año: año (0: 2011, 1: 2012).

- Mnth: el mes (del 1 al 12).

- Hr: horas (0 a 23).

- Vacaciones: día de tiempo es día de fiesta o no (extraído de [Web Link]).

- Día de la semana: días de la semana.

- Jornada de trabajo: si el día no es ni fines de semana ni vacaciones es 1, de lo contrario es 0.

+ Weathersit:


-  1: Claro, pocas nubes, medio nublado, medio nublado.
-  2: Bruma + nublado, Bruma + Cielo cubierto, niebla + Pocas nubes, niebla.
-  3: Light Nieve, Lluvia  + Tormenta Nubes dispersas, llovizna + nubes dispersas.
-  4: Heavy Rain + Ice Pallets +  Tormenta Niebla, Nieve + Fog. 


- Temperatura: la temperatura normalizada en Celsius. Los valores se dividen al 41 (max).

- Atemp: temperatura sentimiento normalizada en grados Celsius. Los valores se dividen al 50 (max).

- Hum: humedad normalizada. Los valores se dividen a 100 (máximo).

- Velocidad media: Velocidad del viento normalizada. Los valores se dividen al 67 (max).

- Casual: recuento de los usuarios ocasionales.

- Registrado: recuento de usuarios registrados.

- Cnt: recuento de las bicicletas de alquiler total incluye tanto casual y registrada.



El siguiente es el link de descarga del set de datos:




Nota: El texto anterior ha sido traducido al español el texto original se puede hallar en el siguiente link:



sábado, 27 de septiembre de 2014

Ejercicio de Programación # 1, Regresión Lineal.

Estimados, el siguiente es el Resumen del Ejercicio de Programación # 1, Regresión Lineal.

Regresión Lineal con Una variable:

Para el desarrollo de esta Actividad se descargaron los archivos ex1.m, plotData.m, computeCost.m, gradientDescent.m más el archivo de datos ex1data1.txt, instalándose en nuestro Octave UPM R8.2.


Se inicio el trabajo analizando el archivo ex1.m el cual hacia el llamado a las distintas funciones en las cuales se introdujo el código ausente de manera de poder ejecutar el archivo ex1.m sin errores y así obtener los resultados de la gráfica adjunta, para poder completar la codificación de cada función se recurrió a un proceso de investigación en distintos sitios web más el contenido visto en clases.


En la gráfica se puede apreciar el resultado de la ejecución del archivo ex1.m, sin errores obteniéndose  los resultados y gráficos requeridos.

El trabajo completo puede ser revisado en el siguiente link:



Regresión Lineal con Múltiples Variables:


Para el desarrollo de esta Actividad se descargaron los archivos ex1_multi.m, computeCostMulti.m, gradientDescentMulti.m, normalEqn.m más el archivo de datos ex1data2.txt, instalándose en nuestro Octave UPM R8.2.

Nuevamente se inicio el trabajo analizando el archivo ex1_multi.m el cual hacia el llamado a las distintas funciones en las que una a una y en la medida en que iban siendo utilizadas por el archivo ex1_multi.m se le introdujo el código ausente de manera de poder ejecutar el archivo ex1_multi.m sin errores y así obtener los resultados y gráficas adjuntas, para poder evaluar el buen funcionamiento del sistema se procedió a utilizar distintos valores en la iteración realizada, en este ejercicio en particular se utilizaron los métodos del gradiente descendiente y ecuación normal para el cálculo de precio y claramente se puede ver que en la medida que se modifican los parámetros de iteración el valor de ambos métodos podrían tender a ser iguales.


Alpha= 0.01, Iteraciones = 400 


                                       Alpha= 0.01, Iteraciones = 1000



                                       Alpha= 1, Iteraciones = 1000

En las gráficas se pueden apreciar el resultado de la ejecución del archivo ex1_multi.m sin errores, con distintos parámetros en la iteración  obteniéndose  los resultados y gráficos presentados.





martes, 2 de septiembre de 2014

Trabajo #1, Gráfica de Funciones con Octave.

Estimados,

Aquí compartimos nuestra solución al Trabajo #1.

GRÁFICO# 1

  Para  O = 1,5  y  O1 = 0.
Código:

clear all;                      
FS=15;                                
x=0.1:0.1:3;                
O=1.5;                        
O1=0;                          
y=O+O1*x;                
plot(x,y);                            
xlabel('x','FontSize',FS);    
ylabel('h(x)','FontSize',FS);  
grid on;                            
title('GRAFICO #1; O=1,5 e O1=0');  
figure                              

Gráfico:























GRÁFICO# 2

 Para O = 0 y  O1 = 0,5 .
Código:

clear all;
FS=15;
x=1:3;
O=0;
O1=0.5;
y=O+O1*x;
plot(x,y);
xlabel('x','FontSize',FS);
ylabel('h(x)','FontSize',FS);
grid on;
title('GRAFICO #2  Para O=0 y O1=0,5');      
figure

Gráfico:


GRÁFICO# 3

 Para O = 1 y  O1 = 0,5 .
Código:

clear all;
FS=15;
x=1:3;
O=1;
O1=0.5;
y=O+O1*x;
plot(x,y)
xlabel('x','FontSize',FS);
ylabel('h(x)','FontSize',FS);
grid on;
title('GRAFICO #3  Para O=1 y O1=0,5');

Gráfico: