Add preprocessing section to summary

This commit is contained in:
coolneng 2020-11-10 22:46:12 +01:00
parent bb67366284
commit df3461e7fe
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
2 changed files with 53 additions and 6 deletions

View File

@ -75,15 +75,14 @@ def parse_data(source, action):
return test_data, target_data return test_data, target_data
#+end_src #+end_src
#+RESULTS:
A continuación, mostraremos cada uno de los pasos que realizamos para obtener el /dataset/ final: A continuación, mostraremos cada uno de los pasos que realizamos para obtener el /dataset/ final:
*** Valores nulos: *** Valores nulos
Nuestro /dataset/ contiene valores nulos, representados mediante un signo de interrogación (?). Optamos por evaluar 2 estrategias: Nuestro /dataset/ contiene valores nulos, representados mediante un signo de interrogación (?). Optamos por evaluar 2 estrategias:
1. Eliminar los valores nulos **** Eliminar los valores nulos
#+BEGIN_SRC python #+BEGIN_SRC python
df = read_csv(filepath_or_buffer="../data/mamografia.csv", na_values="?") df = read_csv(filepath_or_buffer="../data/mamografia.csv", na_values="?")
@ -94,7 +93,6 @@ print("DataFrame sin preprocesamiento: ")
print(processed_df.describe()) print(processed_df.describe())
#+END_SRC #+END_SRC
#+RESULTS:
#+begin_example #+begin_example
DataFrame sin preprocesamiento: DataFrame sin preprocesamiento:
BI-RADS Age Margin Density BI-RADS Age Margin Density
@ -120,7 +118,7 @@ max 6.000000 96.000000 5.000000 4.000000
Observamos que el número de instancias disminuye considerablemente, hasta un máximo de 112, en el caso del /BI-RADS/. Aún así, los valores de la media y desviación estándar no se ven afectados de forma considerable. Observamos que el número de instancias disminuye considerablemente, hasta un máximo de 112, en el caso del /BI-RADS/. Aún así, los valores de la media y desviación estándar no se ven afectados de forma considerable.
2. Imputar su valor con la media **** Imputar su valor con la media
#+BEGIN_SRC python #+BEGIN_SRC python
df = read_csv(filepath_or_buffer="../data/mamografia.csv", na_values="?") df = read_csv(filepath_or_buffer="../data/mamografia.csv", na_values="?")
@ -131,7 +129,6 @@ print("DataFrame sin preprocesamiento: ")
print(processed_df.describe()) print(processed_df.describe())
#+END_SRC #+END_SRC
#+RESULTS:
#+begin_example #+begin_example
DataFrame sin preprocesamiento: DataFrame sin preprocesamiento:
BI-RADS Age Margin Density BI-RADS Age Margin Density
@ -156,3 +153,53 @@ max 6.000000 96.000000 5.000000 4.000000
#+end_example #+end_example
Esta alternativa nos permite mantener el número de instancias en todas las columnas, sin alterar la media ni la desviación típica. Esta alternativa nos permite mantener el número de instancias en todas las columnas, sin alterar la media ni la desviación típica.
*** Valores no númericos
La mayoría de algoritmos de aprendizaje automática trabaja con datos numéricos, desafortunadamente nuestro /dataset/ contiene dos columnas con datos descriptivos.
Procedemos a convertirlos en valores numéricos mediante un /LabelEncoder/:
#+begin_src python
encoded_df = encode_columns(df=processed_df)
print(encoded_df.head())
#+end_src
#+begin_example
BI-RADS Age Shape Margin Density Severity
0 5.0 67.0 1 5.0 3.000000 1
1 4.0 43.0 4 1.0 2.910734 1
2 5.0 58.0 0 5.0 3.000000 1
3 4.0 28.0 4 1.0 3.000000 0
4 5.0 74.0 4 5.0 2.910734 1
#+end_example
Vemos como las columnas *Shape* y *Severity* se componen ahora únicamente de valores numéricos.
*** Separación de datos
Como último paso, separamos la columna objetivo de los demás datos.
#+begin_src python
test_data, target_data = split_train_target(df=encoded_df)
print("Datos de entrenamiento: ")
print(test_data.head())
print("Datos objetivo: ")
print(target_data.head())
#+end_src
#+begin_example
Datos de entrenamiento:
BI-RADS Age Shape Margin Density
0 5.0 67.0 1 5.0 3.000000
1 4.0 43.0 4 1.0 2.910734
2 5.0 58.0 0 5.0 3.000000
3 4.0 28.0 4 1.0 3.000000
4 5.0 74.0 4 5.0 2.910734
Datos objetivo:
0 1
1 1
2 1
3 0
4 1
Name: Severity, dtype: int64
#+end_example

Binary file not shown.