IIC2613 / Syllabus

Repositorio oficial Inteligencia Artificial 2020-2
6 stars 1 forks source link

Bow y W2V #84

Open jalliende opened 3 years ago

jalliende commented 3 years ago

Cuando hago esta generación de espacio tengo que considerar todo el data set o solo la parte que corresponde a train?

Juan-AAS commented 3 years ago

Tienes que codificar todo dataset para luego tener tu espacio de features. Escribí unos tips más abajo en los Issues donde menciono el flujo y la metodología para la tarea. Quizás eso te puede servir también.

mjcadile commented 3 years ago

Tienes que codificar todo dataset para luego tener tu espacio de features. Escribí unos tips más abajo en los Issues donde menciono el flujo y la metodología para la tarea. Quizás eso te puede servir también.

Tengo una pregunta sobre esto: he visto en varios lados que primero se debe separar el dataset en training, validation y test, para ahí recién codificar. Es decir, que no se debe por ningún motivo pre-procesar el dataset completo (sin hacer split) porque hay un leak de información desde test-data a train-data al calcular las codificaciones con toda la información junta... pero con tu respuesta entiendo todo lo contrario a esto :( te agradecería si me puedes aclarar esto porfa! quizás estoy entendiendo mal

Juan-AAS commented 3 years ago

Si, entiendes bien. Hay que hacer los split y preprocesar el set de train y luego con lo aprendido en el preprocesamiento del train realizar el preprocesamiento en el test y validación. de partida necesitas limpiar los datos de todo el dataset ya que no se hace con algun modelo de aprendizaje. Listo eso haces la división para entrenar el Bow y el W2V, entrenados estos modelos codificas tanto el train como el val y el test set. Ya que los datos enteros deben estar codificados (es decir preprocesados) para que se puedan usar los clasificadores. Finalmente preprocesas todo el dataset. Lo que importa es la manera en el como lo haces. Espero haberte respondido ><. Si sigues con duda, preguntame nuevamente, con gusto busco una mejor manera de responder.

mjcadile commented 3 years ago

perfecto, muchas gracias por tu respuesta! entonces el "preprocesar todo el dataset" se refiere a seguir esos pasos, de primero hacer split, entrenar los codificadores con el train set, y luego codificar los 3 sets para poder usarlos en SVM/RF.

humbertoortuzar commented 3 years ago

Hola! Perdón, pero no había pasado por esta issue hasta ahora. Importa mucho si para w2v preprocesé todo el dataset junto y después lo dividí? Lo hice así porque vi esta división en la ayudantía: image Donde se hace el split de los datos ya preprocesados.

Juan-AAS commented 3 years ago

No importa, está bien tu forma de dividir los datos. Es más, yo igual preprocesé (codifiqué) primero los textos y luego realicé el split. Si se hace de otra manera, dividir el set de datos y luego hacer la codificación, también está bien.