lunes, 29 de octubre de 2012

Entrada 3

Resumen del proyecto:
 
La propuestas sigue siendo parecidas a las que ya se había comentado anteriormente, los unicos cambios que fuerón realizados respecto a la idea fue que en lugar de clasificar en las categorias de triste y alegre ya que el tiempo se nos viene juntando, se optó por categorizar por el tipo de ritmo que tiene la musica es decir lento, rapido, etc.


Avance con respecto a la planeación:

Con forme se fue pleando el proyecto el equipo iba bien al principio nos juntamos para ver como se  avanzaria y el rumbo que tomaría cada miembro del equipo respecto al desarrollo del software.

Debido a las discuciones de la nueva forma de clasificar, se decidio continuar con lo mismo ya que no fue mucho el cambio en la idea todo sigue siendo orientado a lo mismo.

¿Que se hizo y que fallo?

Se tratarón de instalar las librerias que ya se habían investigado, pero hubo fallos ya que no se encontraban o al momento de descargarlas marcaba algún error, por lo tanto mientras se trataba de arreglar y/o buscar otras alternativas se decidío comenzar con una base .

Esta base sería k-means la forma en la que se piensa hacer la clasificación de la musica por agrupamiento, así que comenzamos a hacer en cierta forma lo que comenzará a hacer los k-means.


En cuanto a las herramientas que aun no hemos podido instalar lo pensamos resolver en estos días para poder continuar con el proyecto y poderlo finalizar de forma correcta.

Otro problema que optuvo durante el transcurso del proyecto, fue que no se sabía por donde comenzar  los k-means asi que para poder resolver este  obstáculo el equipo comenzo a leer articulos relacionados con k-means y también se vierón algunos ejemplos de como se podían utilizar.





Codigo:

un poco del programa de 'k-means' que realizamos se muestra acontinuación
algunas de las partes más importantes de la realización del codigo.



la forma en la que calculamos la posición es con este método:



def Calcular_posicion (datos, posicion,cluster):
    NValor=obtener_cluster(datos,cluster)
    for n, position in posicion.items():
        if not NValor.has_key(n):
            posicion[n]=0
        else:
            posicion=[n]=Kmeans_avg(NValor[n])
    return posicion


también otra parte importante del codigo que se ha realizado es designar la posición que son con unas formulas:

def designarp(datos,n):
    peq=min(datos)
    gran=max(datos)
    num=ceil((abs(gran - peq)*1.0)/n)
    posicion=OrderedDict()
    while k>0:
        k-=1
        posicion[n]=peq+num*n
    return posicion