AlexGonRo / Instance-Selection-Algorithms-Spark

GNU General Public License v3.0
1 stars 1 forks source link

Implementación de KNN paralelo para el algoritmo DemoIS #37

Closed AlexGonRo closed 7 years ago

AlexGonRo commented 8 years ago

Originally reported by: Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown)


Con la intención de hacer que el algoritmo DemoIS pueda ejecutarse completamente en paralelo va a modificarse el cálculo del fitness para poder usar un algoritmo KNN paralelo.

El KNN que se va a usar ha sido implementado por Jesus Maillo de la Universidad de Granada ( http://spark-packages.org/package/JMailloH/kNN_IS)


AlexGonRo commented 8 years ago

Original comment by Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown):


La implementación del algoritmo KNN se da por terminada.

AlexGonRo commented 8 years ago

Original comment by Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown):


Sobre el commit 45c32fb:

Pequeña modificación en los mensajes de log del KNN. Modificación importante de una instrucción en el KNN, aunque sea únicamente una línea. No sé porqué acabé subiendo la instrucción "getNumPartitions", pero debería ser "count" y ya está corregido.

AlexGonRo commented 8 years ago

Original comment by Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown):


He trabajado en bastantes puntos y quería hacer commits separados para que quedase todo más claro. En el que voy a hacer a continuación mencionaré el tema (Issue #30).

AlexGonRo commented 8 years ago

Original comment by Álvar Arnaiz (Bitbucket: alvarag, GitHub: alvarag):


Una pregunta Alejandro, ¿el kNN paralelo se utiliza tanto en el interior del DIS como para la selección final?

AlexGonRo commented 8 years ago

Original comment by Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown):


Sobre el commit e1f88c5

Actualizada la implementación del KNN y ligeros cambios en la llamada que se hacía a dicho KNN en el algoritmo Democratic.

Destacar que se han corregido un par de fallos graves que tenía el KNN y que hacían que no funcionase correctamente en todos los casos.

Aunque no he realizado pruebas tan detalladas como las que tuve que hacer para el TFG (tampoco he tenido tiempo), sí que he probado el rendimiento del algoritmo con algunos conjuntos de datos "medianos" (165k instancias) y parece mejorar el tiempo de ejecución con respecto a Weka.

Se ha llevado a cabo una pequeña refactorización del código aunque podría mejorarse. Me comprometí a tener el algoritmo para hoy y esto puede esperar, he perdido mucho tiempo corrigiendo los errores de funcionamiento.

Se me han colado un par de archivos "pom" de Maven que ya estaban subidos pero con un nombre diferente.

AlexGonRo commented 8 years ago

Original comment by Alejandro González Rogel (Bitbucket: agr00095, GitHub: Unknown):


Sobre el commit 03d8a0a:

Se ha implementado el algoritmo KNN paralelo. Además, se ha incluido en la ejecución del DemoIS, sustituyendo al KNN secuencial que había antes. Quisiera pegarle otro repaso al KNN de cara a la refactorización de código y a la posible mejora de algunos puntos. Igualmente, quiero hacer unas pruebas para asegurarme de que funciona como se espera de él, así que la tarea se mantiene abierta.