viernes, 22 de noviembre de 2013 0 comentarios

Proyecto Final


En este proyecto nos enfocamos en los problemas que existen actualmente en el área de educación, haciendo un programa el cual simula las calificaciones de varias materias  de alumnos de una escuela y como resultado nos dice si el alumno necesita asesorías o no.

Descripción del proyecto

Descripción de la última versión
En la ultima versión de este proyecto se cuenta con interfaz gráfica para una mejor experiencia y usabilidad del usuario.
El programa esta terminado en su totalidad, se programo el algoritmo de k-means y como resultado nos arroja una  ventana con los alumnos que necesitan asesorías del lado derecho y alumnos que no necesitan asesorías del lado izquierdo.

Contexto
El contexto de muestro proyecto es el área de la educación porque este programa busca ayudar a los maestros para mejorar el rendimiento de sus alumnos.

Propósito
El propósito de este proyecto es ayudar a los profesores para crear grupos de estudio y colaborar a que los estudiantes puedan sacar mejor provecho a su conocimiento, gracias a que los estudiantes que lo necesiten recibirán asesorías para mejorar su aprovechamiento escolar. 

Utilidad
La utilidad sera para los profesores que ganaran tiempo al saber quienes son los alumnos que necesitan mas apoyo escolar.


Parte adaptativa
Utilizamos el método de  K means el cual mediante vectores de características podemos simular a los alumnos y sus calificaciones para determinar cuales son los que necesitan un apoyo extra en sus clases para mejorar sus calificaciones.
La parte adaptativa es que podemos modificar las calificaciones o asignar mas estudiantes o menos estudiantes, así mismo con las materias. Asi mismo tambien podemos ejectutar dicho proceso cuantas veces lo quiera el usuario.

Módulos más relevantes

Pasos Importantes
Usaremos el algoritmo de K-means el cual consiste en agrupar un número de elementos por sus características. Esto se logra calculando la distancia entre los centroides (grupos) y los vectores (elementos).



Primero generamos los vectores de características que son los datos iniciales. Aquí pusimos las calificaciones para las 6 materias en total hicimos 5 vectores que representan a 5 alumnos.





Después generamos los centroides con los que se podrán agrupar a los alumnos, el primero es un centroide en la que todas sus características están en 50 pues representan calificaciones bajas y en el segundo centroide todas las calificaciones están en 100 que son la calificación mas alta que se puede obtener.
Con esto se podrán agrupar a los alumnos dependiendo de a cual centroide o grupo se asemeja mas sus calificaciones.




El siguiente paso fue hacer el calculo de la disimilitud o distancia para cada alumno con cada centroide con la formula de distancia euclidiana.








Por ultimo realizamos fue la asignación de grupos, con los cálculos anteriores simplemente comparamos con cual de los dos centroides hay mayor similitud osea cual distancia es menor y así es como agrupamos a los alumnos y sabemos si necesitan o no asesorías.











Aquí se muestra a los alumnos agrupados.







Parte relevante
La parte mas importante de nuestro programa es donde se calcula la similitud de los puntos osea de los estudiantes con los centroides. Porque despues de esos cálculos en cuando podemos saber lo que nos interesa.

Código:
http://pastebin.com/R00hk3St


Herramientas y técnicas


Técnicas
Las técnicas de sistemas adaptativos utilizadas fue:

  • algoritmo K-MEANS 
  • con un criterio de "similitud"
  • utilizamos la métrica: "Distancia euclidiana"

distancia euclidiana


Software

Utilizamos el lenguaje JAVA  

IDE: Eclipse 







Librerías utilizadas









Demostración

Capturas de pantalla

Este es un ejemplo de nuestro codigo compilado y corrido, se demuestra como los estudiantes de la izquierda son lo que necesitan asesoría y los estudiantes de la derecha son lo que no lo necesitan, así como muestra en la imagen de la izquierda.

En la imagen podemos observar los estudiantes que tenemos así como nos muestra las calificaciones de los alumnos muestra los centroides de nuestros alumnos y va mostrando las distancia hacia los centroides de cada uno de los alumnos  lo cual nos permite observar que tan mal andan nuestros alumnos, ya por ultimo nos muestra la pregunta si deseas volver a correr el proceso para asegurarnos que este bien hecho.

Video






Organización del equipo
Primero todas nos juntamos para pensar en nuestro proyecto, primero pensamos en organizar archivos pero al final nos dimos cuenta que este proyecto tenia un contexto de bienestar social y no el primero.
Mis compañeras Pamela, Elsy y Anaid se juntaron para terminar el codigo del proyecto pues ya estaba empezado por Pamela, Kattia y Evelyn realizaron el reporte.
El único problema que tuvimos fue que no todos las integrantes del equipo pudimos coincidir con la fecha y hora para juntarnos a terminar el proyecto, pero acordamos lo que haría cada una de nosotras y cada quien cumplió con su parte.

martes, 12 de noviembre de 2013 0 comentarios

Avance#2 Proyecto Final

Agrupamiento de Archivos

Descripción

Nuestro proyecto va tratar de agrupar un número de archivos, los cuales serán mostrados a través de una interfaz gráfica.
Los usuario podrá introducir una serie de archivos  y el programa los acomodara los archivos por medio de sus metadatos (nombre, fecha de modificado, tipo y tamaño) y serán mostrados en una pantalla de interfaz gráfica.

Tareas


Tarea
¿Tarea Realizada?
Generar los datos iniciales (vectores)

Generación de centroides (para los diferentes formas de agrupamiento)

Calculo de la distancia (simulitud) para los diferentes formas de agrupamiento.

Agrupación de archivo e impresión en pantalla.

Crear interfaz gráfica
a




Tuvimos problemas para acceder a los metadatos de archivos ya existentes por lo cual tuvimos que modificar el programa, para que el usuario ingrese por si mismo los valores y los agrega al panel.

Recursos y Herramientas

Usaremos el algoritmo de K-means el cual consiste en agrupar un número de elementos por sus características. Esto se logra calculando la distancia entre los centroides (grupos) y los vectores (elementos).

Lenguaje : Java


Por qué el lenguaje nos facilita la interfaz gráfica y la creación de arreglos (arrays). Tambien por que el equipo ya a trabajado este lenguaje y ya que necesitamos un lenguaje orientado a objetos, java fue la mejor opción para nosotras.

IDE: Eclipse y Netbeans

Netbeans lo utilizamos para crear la interfaz gráfica, la programación del algoritmo se hizo en netbeans y Eclipse , esto porque algunos integrantes del equipo se sienten más cómodos trabajando con Eclipse o Netbeans.

Bosquejo de solución

La parte más importante de nuestro proyecto consistirá en crear el algoritmo de K-means el cual consiste en crear un numero de vectores (archivos)  los cuales contendrán un numero de características (metadatos) y también se necesitara un numero de centroides (grupos), luego se calculara la distancia o similitud entre los vectores y los centroide. Posteriormente se determina a cual grupo pertenece y se imprimen los grupos.





martes, 29 de octubre de 2013 0 comentarios

Descripción del Proyecto

Nombre del Proyecto: Agrupación de archivos.


Nuestro proyecto va tratar de un agrupamiento de archivos, para después mostrarlos por medio de una interfaz.

El algoritmo que vamos a utilizar es un algoritmo de agrupamiento llamado K-means de tal forma que los metadatos de los archivos, que son las propiedades como el nombre, tamaño, autor, etc. van a ser nuestros vectores.

El usuario va tener la oportunidad de acomodar los archivos por sus propiedades como es el caso del nombre, tamaño, autor, fecha de modificado, etc. y posteriormente se los mostraremos por medio de una interfaz.



 
;