IslasGECI / seleccion_analista_2022_mvb

🐍 Mario Villasante Barahona
GNU Affero General Public License v3.0
0 stars 0 forks source link

Implementa creación de submission #27

Closed mvillasante closed 2 years ago

mvillasante commented 2 years ago

Se crea la última función que escribe el archivo mvb_submission.csv

El código ya funciona pero tiene un mutante que no me puedo quitar en rc/mvb_submission.py`.

Tampoco me queda claro cual es la mejor manera para implementar la selección de modelos. Si agrego líneas a src/mvb_submission.py me salen más mutantes que no consigo cazar.

devarops commented 2 years ago

Gracias por crear el PR. Mañana le echo un 👀

mvillasante commented 2 years ago

Gracias por crear el PR. Mañana le echo un eyes

Sí, claro. Yo también descansaré.

Gracias por estar al pendiente :pray: :wave:

mvillasante commented 2 years ago

Esperaríamos que pollos_petrel/mvb_submission.csv tenga 327 líneas, pero sólo tiene 102.

image

Examina pollos_petrel/example_submission.csv para que pollos_petrel/mvb_submission.csv tenga el mismo número de renglones.

Lo que hice es tirar todos los renglones con un dropna(). Está mal esto?

Al mirar example_submission.csv me doy cuenta que en el target los valores son menores a uno. Por qué es esto=

devarops commented 2 years ago

Lo que hice es tirar todos los renglones con un dropna(). Está mal esto?

Pues puedes tirar los renglones de train.csv con dropna() al construir tu modelo, pero en la predicción requerimos todos los renglones de test.csv.

Al mirar example_submission.csv me doy cuenta que en el target los valores son menores a uno. Por qué es esto?

Porque el modelo que usamos para generar esa predicción es muy malo. Según ese modelo todos los pollos son recién nacidos (menos de 1 día de nacidos). Esa es una pésima predicción. Lo valioso de example_submission.csv es que tiene el número de renglones esperados; y la primer columna también es la esperada. Tu predicción debe tener los mismos renglones que example_submission.csv. No te fijes en los valores de la columna target de example_submission.csv; es un ejemplo de mentiritas. 😉

mvillasante commented 2 years ago

Lo que hice es tirar todos los renglones con un dropna(). Está mal esto?

Pues puedes tirar los renglones de train.csv con dropna() al construir tu modelo, pero en la predicción requerimos todos los renglones de test.csv.

Al mirar example_submission.csv me doy cuenta que en el target los valores son menores a uno. Por qué es esto?

Porque el modelo que usamos para generar esa predicción es muy malo. Según ese modelo todos los pollos son recién nacidos (menos de 1 día de nacidos). Esa es una pésima predicción. Lo valioso de example_submission.csv es que tiene el número de renglones esperados; y la primer columna también es la esperada. Tu predicción debe tener los mismos renglones que example_submission.csv. No te fijes en los valores de la columna target de example_submission.csv; es un ejemplo de mentiritas. wink

Entiendo.

Solamente para estar claro. Mi modelo debe ser capaz de asignar un target decente, incluso si el la muestra (renglón) tiene NaN's?

devarops commented 2 years ago

Solamente para estar claro. Mi modelo debe ser capaz de asignar un target decente, incluso si el la muestra (renglón) tiene NaN's?

Correcto. Aunque no es necesario que sea decente; indecente es suficiente.

mvillasante commented 2 years ago

Solamente para estar claro. Mi modelo debe ser capaz de asignar un target decente, incluso si el la muestra (renglón) tiene NaN's?

Correcto. Aunque no es necesario que sea decente; indecente es suficiente.

Qué bueno que en este equipo no se juzga jaja!

Usaré una máscara o algo por el estilo...

devarops commented 2 years ago

En realidad no hay ningún renglón en test.csv (ni tampoco en train.csv) donde todas las columnas sean NaN.

mvillasante commented 2 years ago

Lo que hice es tirar todos los renglones con un dropna(). Está mal esto?

Pues puedes tirar los renglones de train.csv con dropna() al construir tu modelo, pero en la predicción requerimos todos los renglones de test.csv.

Al mirar example_submission.csv me doy cuenta que en el target los valores son menores a uno. Por qué es esto?

Porque el modelo que usamos para generar esa predicción es muy malo. Según ese modelo todos los pollos son recién nacidos (menos de 1 día de nacidos). Esa es una pésima predicción. Lo valioso de example_submission.csv es que tiene el número de renglones esperados; y la primer columna también es la esperada. Tu predicción debe tener los mismos renglones que example_submission.csv. No te fijes en los valores de la columna target de example_submission.csv; es un ejemplo de mentiritas. wink

Este error se debe al número de renglones? Captura de pantalla de 2022-03-28 17-57-14

devarops commented 2 years ago

Este error se debe al número de renglones?

ValueError: La propuesta a solución no tiene la forma esperada

Correcto. El mensaje no es claro, pero se refiere a que espera 327 renglones pero recibió 102 renglones.

image

mvillasante commented 2 years ago

Este error se debe al número de renglones?

ValueError: La propuesta a solución no tiene la forma esperada

Correcto. El mensaje no es claro, pero se refiere a que espera 327 renglones pero recibió 102 renglones.

image

La consigna ya no omite los renglones con NaN. Creo que se arregla el asunto del formato. Espero tu opinión.

Si todo sale bien me gustaría refactorizar esta parte y meterlo como un método de LinearModel y LogisticModel. Pero eso sería en otro PR, ya que tenemos un montón de líneas en este :sweat_smile:

codecov[bot] commented 2 years ago

The author of this PR, mvillasante, is not an activated member of this organization on Codecov. Please activate this user on Codecov to display this PR comment. Coverage data is still being uploaded to Codecov.io for purposes of overall coverage calculations. Please don't hesitate to email us at support@codecov.io with any questions.

devarops commented 2 years ago

image

giphy

image

¿Por favor podrías presionar el botón Re-request review cuando estés listo para mi revisión?

devarops commented 2 years ago

Pero eso sería en otro PR, ya que tenemos un montón de líneas en este 😅

Sí, buena idea hacer eso en otro PR.