domingomery / patrones

Curso Reconocimiento de Patrones - UC - Chile
https://domingomery.ing.puc.cl/teaching/patrones/
143 stars 39 forks source link

Patrones: Tarea 02 #21

Closed domingomery closed 3 years ago

domingomery commented 3 years ago

Por favor hacer comentarios aquí. Respondo todas las preguntas siempre y cuando no las haya aclarado en clases, o no estén escritas en el enunciado de la Tarea, o no las haya contestado en este foro. Usemos el foro responsablemente para que sea de utilidad. Preguntas repetidas, pueden hacer este foro excesivamente largo, lo que dificultará su lectura. Muchas gracias! Domingo

VicenteMerino commented 3 years ago

Profe, respecto a clean, cuando tengo características que son invariantes a la rotación y a la escala, estos debo inmediatamente eliminarlos? O debo quedarme con una de ellos?

domingomery commented 3 years ago

La selección manual se hace antes del clean. En la selección manual debes decidir las características que se pueden extraer para evitar falsas correlaciones. En la tarea habría que pensar, dado que las caras están todas de frente y bien alineadas, si estaría permitido sacara características invariantes a la rotación.

fnberrios commented 3 years ago

Hola profe, tengo una duda. Si realizo la extracción de características de LBP, pero divido la imagen en 9 sectores, ¿en realidad estoy sacando 9x59 características no? Me refiero a si esas 9x59 cuentan dentro de las 200 características mínimas que tenemos que obtener. Gracias de antemano.

IchottMano commented 3 years ago

Hola!

Podemos reusar código de las actividades para la tarea?

Muchas gracias.

porellanau commented 3 years ago

Hola profesor! En la etapa de obtener las características mi código demora aproximadamente 8.5 minutos, así que guardé tanto la matriz de características como los labels en archivos .npy. Al hacer la entrega, ¿basta subir tanto el archivo .ipynb junto con los anteriormente mencionados a classroom o hay una forma de que Colab guarde estos archivos extras para hacer la entrega?

Muchas gracias de antemano.

domingomery commented 3 years ago

Hola profe, tengo una duda. Si realizo la extracción de características de LBP, pero divido la imagen en 9 sectores, ¿en realidad estoy sacando 9x59 características no? Me refiero a si esas 9x59 cuentan dentro de las 200 características mínimas que tenemos que obtener. Gracias de antemano.

Con esto cumples lo del enunciado, no hay duda, y está bien. Sin embargo, la idea que yo tenía era que probaran con distintas familias de características, es decir no sólo con LBP. No es obligatorio obviamente.

domingomery commented 3 years ago

Podemos reusar código de las actividades para la tarea?

Sí, se puede, pero hay que tener en cuenta las restricciones del enunciado (porque no todos los métodos que están en los Colab cumplen con estas restricciones).

domingomery commented 3 years ago

En la etapa de obtener las características mi código demora aproximadamente 8.5 minutos, así que guardé tanto la matriz de características como los labels en archivos .npy. Al hacer la entrega, ¿basta subir tanto el archivo .ipynb junto con los anteriormente mencionados a classroom o hay una forma de que Colab guarde estos archivos extras para hacer la entrega?

Puedes hacerlo de la forma que señalas. Por favor usa nombres de archivo que empiecen con tu número de alumno (esto porque al final todas las tareas se guardan en un solo directorio del Google Drive y se arma un enredo en las correcciones).

fnberrios commented 3 years ago

Hola profe, tengo una duda. Si realizo la extracción de características de LBP, pero divido la imagen en 9 sectores, ¿en realidad estoy sacando 9x59 características no? Me refiero a si esas 9x59 cuentan dentro de las 200 características mínimas que tenemos que obtener. Gracias de antemano.

Con esto cumples lo del enunciado, no hay duda, y está bien. Sin embargo, la idea que yo tenía era que probaran con distintas familias de características, es decir no sólo con LBP. No es obligatorio obviamente.

Gracias profe, lo tendré en cuenta.

IchottMano commented 3 years ago

Podemos reusar código de las actividades para la tarea?

Sí, se puede, pero hay que tener en cuenta las restricciones del enunciado (porque no todos los métodos que están en los Colab cumplen con estas restricciones).

Muchas gracias profe! Sobre esto, es válido usar PLSRegression? Estaba con la duda si se podía usar o no.

domingomery commented 3 years ago

Muchas gracias profe! Sobre esto, es válido usar PLSRegression? Estaba con la duda si se podía usar o no.

Prefiero que uds. mismos se contesten este tipo de preguntas, así pueden saber mejor cómo funcionan los métodos que están usando :)

fguinez commented 3 years ago

En la etapa de obtener las características mi código demora aproximadamente 8.5 minutos, así que guardé tanto la matriz de características como los labels en archivos .npy. Al hacer la entrega, ¿basta subir tanto el archivo .ipynb junto con los anteriormente mencionados a classroom o hay una forma de que Colab guarde estos archivos extras para hacer la entrega?

Puedes hacerlo de la forma que señalas. Por favor usa nombres de archivo que empiecen con tu número de alumno (esto porque al final todas las tareas se guardan en un solo directorio del Google Drive y se arma un enredo en las correcciones).

Hola profesor, en el caso de usar archivos .npy añadimos de todas formas el código que genera los vectores de características en el Colab o solo explicamos cómo se generaron los vectores?

domingomery commented 3 years ago

Hola profesor, en el caso de usar archivos .npy añadimos de todas formas el código que genera los vectores de características en el Colab?

Así es, la idea es que tu código pueda ejecutarse de dos maneras, una en la que se calculen todas las características y otra en la que se lean las características extraídas desde los archivos.

... o solo explicamos cómo se generaron los vectores?

No, debes incluir también el código de cómo se extraen las características.

bjbarias commented 3 years ago

Hola Profe! Cual es el tiempo máximo de ejecución? Saludos

domingomery commented 3 years ago

Cual es el tiempo máximo de ejecución?

Ideal no más de 10 minutos... si se demora mucho por favor poner también el archivo de las características extraídas (por respeto al tiempo de quienes hacen la corrección).

tpcantergiani commented 3 years ago

Hola profesor! Se puede ocupar la funcion mlxsfs de la libreria mlxtend? Me entro la duda, ya que buscando la libreria note que era de machine learning.

Gracias de antemano

domingomery commented 3 years ago

Se puede ocupar la funcion mlxsfs de la libreria mlxtend? Me entro la duda, ya que buscando la libreria note que era de machine learning.

No manejo el detalle, pero hay que tener cuidado con la función objetivo (de separabilidad) que maximiza la librería. Hay muchos metodos que miden la separabilidad entrenando una red neuronal, clasificando y calculando el accuracy (porque el accuracy es una muy buena medida de la separabilidad). En este caso, no está permitido usar así la librería... pero puede ser que exista una opción en la que la separabilidad se mida sin tener que entrenar. Te pediría que veas bien el detalle de que hace la librería y que opciones estás usando.

tpcantergiani commented 3 years ago

Muchas gracias profe! Sobre esto, es válido usar PLSRegression? Estaba con la duda si se podía usar o no.

Prefiero que uds. mismos se contesten este tipo de preguntas, así pueden saber mejor cómo funcionan los métodos que están usando :)

Gracias por la pronta respuesta profe,

Con respecto a la funcion para implementar PLSR: from sklearn.cross_decomposition import PLSRegression

Esta permitida usar esta implementación?

Leí bien la libreria, y no me queda claro si el algoritmo Nipals se considera como técnica de Deep Learning, o como técnica de clasificación distinta a KKN.

Gracias de antemano

domingomery commented 3 years ago

Con respecto a la funcion para implementar PLSR: from sklearn.cross_decomposition import PLSRegression Esta permitida usar esta implementación?cLeí bien la libreria, y no me queda claro si el algoritmo Nipals se considera como técnica de Deep Learning, o como técnica de clasificación distinta a KKN.

Como dije anteriormente, prefiero que sean uds. los que contesten este tipo de preguntas. Si entiendes qué hace Nipals podrás ver si es una técnica de clasificación, o una técnica de deep learning.

xDanman commented 3 years ago

Hola profesor! Tengo una consulta con respecto a lo que no se puede usar, citando del enunciado:

Ningún proceso de la tarea debe tener algoritmos de clasificación basados en técnicas distintas al KNN, es decir no se puede usar un selector o transformador de características basado en redes neuronales o SVM por ejemplo.

Esto quiere decir que las técnicas de selección basados en arboles, que coloco en PAT03_SeleccionGeneral, no serian utilizables dado que utilizan clasificadores diferentes a KNN de 3 vecinos? como lo es LogisticRegression, RandomForestClassifier y LGBMClassifier.

domingomery commented 3 years ago

Esto quiere decir que las técnicas de selección basados en arboles, que coloco en PAT03_SeleccionGeneral, no serian utilizables dado que utilizan clasificadores diferentes a KNN de 3 vecinos? como lo es LogisticRegression, RandomForestClassifier y LGBMClassifier.

Correcto, estos métodos no se pueden usar.