Potabilidad del Agua

Contexto:

Este conjunto de datos contiene mediciones de calidad del agua y evaluaciones relacionadas con su potabilidad, es decir, si el agua es apta para el consumo humano. El objetivo principal es proporcionar información sobre los parámetros de calidad del agua y ayudar a determinar si es potable o no. Cada fila representa una muestra de agua con atributos específicos, y la columna “Potability” indica si el agua es apta para el consumo (1) o no (0).

Es adecuado para tareas de clasificación binaria supervisada, donde modelos de aprendizaje automático pueden predecir la potabilidad del agua basándose en los atributos de calidad proporcionados. Este conjunto de datos es valioso para evaluar la seguridad de las fuentes de agua, planificar tratamientos y asegurar el cumplimiento de estándares de calidad del agua.

Se carga la base de datos

library(readr)

df <-read.csv("water_potability.csv")

Se analizan las dimensiones

dim(df)
## [1] 3276   10

Se visualiza la base de datos

 head(df)
##         ph Hardness   Solids Chloramines  Sulfate Conductivity Organic_carbon
## 1       NA 204.8905 20791.32    7.300212 368.5164     564.3087      10.379783
## 2 3.716080 129.4229 18630.06    6.635246       NA     592.8854      15.180013
## 3 8.099124 224.2363 19909.54    9.275884       NA     418.6062      16.868637
## 4 8.316766 214.3734 22018.42    8.059332 356.8861     363.2665      18.436524
## 5 9.092223 181.1015 17978.99    6.546600 310.1357     398.4108      11.558279
## 6 5.584087 188.3133 28748.69    7.544869 326.6784     280.4679       8.399735
##   Trihalomethanes Turbidity Potability
## 1        86.99097  2.963135          0
## 2        56.32908  4.500656          0
## 3        66.42009  3.055934          0
## 4       100.34167  4.628771          0
## 5        31.99799  4.075075          0
## 6        54.91786  2.559708          0

Se observan las primeras 5 filas de la base de datos

 str(df)
## 'data.frame':    3276 obs. of  10 variables:
##  $ ph             : num  NA 3.72 8.1 8.32 9.09 ...
##  $ Hardness       : num  205 129 224 214 181 ...
##  $ Solids         : num  20791 18630 19910 22018 17979 ...
##  $ Chloramines    : num  7.3 6.64 9.28 8.06 6.55 ...
##  $ Sulfate        : num  369 NA NA 357 310 ...
##  $ Conductivity   : num  564 593 419 363 398 ...
##  $ Organic_carbon : num  10.4 15.2 16.9 18.4 11.6 ...
##  $ Trihalomethanes: num  87 56.3 66.4 100.3 32 ...
##  $ Turbidity      : num  2.96 4.5 3.06 4.63 4.08 ...
##  $ Potability     : int  0 0 0 0 0 0 0 0 0 0 ...
 barplot(sort(table(df$Potability)),las=2)

hist(sort(df$Hardness))

hist(sort(df$Chloramines))

 boxplot(df$Sulfate)

boxplot(df$Trihalomethanes)

 library(Amelia)
## Cargando paquete requerido: Rcpp
## ## 
## ## Amelia II: Multiple Imputation
## ## (Version 1.8.2, built: 2024-04-10)
## ## Copyright (C) 2005-2024 James Honaker, Gary King and Matthew Blackwell
## ## Refer to http://gking.harvard.edu/amelia/ for more information
## ##
missmap(df)

 par(mfrow=c(1,4))
 boxplot(df$ph,main="ph")
 boxplot(df$Hardness,main="Hardness")
 boxplot(df$Solids,main="Solids")
 boxplot(df$Conductivity,main="Conductivity")