Diccionario de la Base de Datos

#* ID: Código único de identificación del cliente
#* Age: Edad del cliente en años
#* Experience: Número de años de experiencia profesional
#* Income: Ingreso anual del cliente (en miles de dólares)
#* ZIP Code: Código postal del domicilio
#* Family: Tamaño de la familia (número de miembros)
#* CCAvg: Gasto promedio mensual en tarjetas de crédito (en miles de dólares)
#* Education: Nivel de Educación. 1: Pre-grado; 2: Bachiller; 3: Avanzado/Profesional
#* Mortgage: Valor del préstamos hipotecario en caso exista uno (en miles de dólares)
#* Personal_Loan: El cliente aceptariá un préstamo bancario en la próxima campaña?
#* Securities_Account: El cliente posee alguna cuenta de securities (banca de inversión) con el banco?
#* CD_Account: El cliente posee alguna cuenta de CD (certificate of deposit) con el banco?
#* Online: El cliente realiza transacciones/consultas por internet en la plataforma del banco?
#* CreditCard: El cliente utiliza la tarjeta de crédito emitida por el banco?

Analisis descriptivo de la Base de de Datos Banco

A continuacion se realiza un analisis descriptivo de la base de datos de Banco. Esta Base de datos la puede descargar del siguiente link https://drive.google.com/file/d/1fi0mnPV6YX2WJfK6ArwL5uPVcmFkb4zD/view?usp=drive_link

## importar  la base de datos de Banco y realizar un resumen de la data
library(readr)
data <- read_csv("Data_Banco.csv")
## Rows: 5000 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (14): ID, Age, Experience, Income, ZIPCode, Family, CCAvg, Education, Mo...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## imprimir la dimension de la base de datos
dim(data)
## [1] 5000   14
# los nombres de la base de datos
names(data)
##  [1] "ID"                 "Age"                "Experience"        
##  [4] "Income"             "ZIPCode"            "Family"            
##  [7] "CCAvg"              "Education"          "Mortgage"          
## [10] "Personal_Loan"      "Securities_Account" "CD_Account"        
## [13] "Online"             "CreditCard"
# la cantidad de columnas de la base de datos
columna <- dim(data)[2]
columna
## [1] 14
# Provee un vistazo de las 5 primeras filas
head(data, n=5)
## # A tibble: 5 × 14
##      ID   Age Experience Income ZIPCode Family CCAvg Education Mortgage
##   <dbl> <dbl>      <dbl>  <dbl>   <dbl>  <dbl> <dbl>     <dbl>    <dbl>
## 1     1    25          1     49   91107      4   1.6         1        0
## 2     2    45         19     34   90089      3   1.5         1        0
## 3     3    39         15     11   94720      1   1           1        0
## 4     4    35          9    100   94112      1   2.7         2        0
## 5     5    35          8     45   91330      4   1           2        0
## # ℹ 5 more variables: Personal_Loan <dbl>, Securities_Account <dbl>,
## #   CD_Account <dbl>, Online <dbl>, CreditCard <dbl>
# Provee un vistazo de las 5 ultimas filas
tail(data, n=5)
## # A tibble: 5 × 14
##      ID   Age Experience Income ZIPCode Family CCAvg Education Mortgage
##   <dbl> <dbl>      <dbl>  <dbl>   <dbl>  <dbl> <dbl>     <dbl>    <dbl>
## 1  4996    29          3     40   92697      1   1.9         3        0
## 2  4997    30          4     15   92037      4   0.4         1       85
## 3  4998    63         39     24   93023      2   0.3         3        0
## 4  4999    65         40     49   90034      3   0.5         2        0
## 5  5000    28          4     83   92612      3   0.8         1        0
## # ℹ 5 more variables: Personal_Loan <dbl>, Securities_Account <dbl>,
## #   CD_Account <dbl>, Online <dbl>, CreditCard <dbl>
# la composicion de la data
str(data)
## spc_tbl_ [5,000 × 14] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ ID                : num [1:5000] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Age               : num [1:5000] 25 45 39 35 35 37 53 50 35 34 ...
##  $ Experience        : num [1:5000] 1 19 15 9 8 13 27 24 10 9 ...
##  $ Income            : num [1:5000] 49 34 11 100 45 29 72 22 81 180 ...
##  $ ZIPCode           : num [1:5000] 91107 90089 94720 94112 91330 ...
##  $ Family            : num [1:5000] 4 3 1 1 4 4 2 1 3 1 ...
##  $ CCAvg             : num [1:5000] 1.6 1.5 1 2.7 1 0.4 1.5 0.3 0.6 8.9 ...
##  $ Education         : num [1:5000] 1 1 1 2 2 2 2 3 2 3 ...
##  $ Mortgage          : num [1:5000] 0 0 0 0 0 155 0 0 104 0 ...
##  $ Personal_Loan     : num [1:5000] 0 0 0 0 0 0 0 0 0 1 ...
##  $ Securities_Account: num [1:5000] 1 1 0 0 0 0 0 0 0 0 ...
##  $ CD_Account        : num [1:5000] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Online            : num [1:5000] 0 0 0 0 0 1 1 0 1 0 ...
##  $ CreditCard        : num [1:5000] 0 0 0 0 1 0 0 1 0 0 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   ID = col_double(),
##   ..   Age = col_double(),
##   ..   Experience = col_double(),
##   ..   Income = col_double(),
##   ..   ZIPCode = col_double(),
##   ..   Family = col_double(),
##   ..   CCAvg = col_double(),
##   ..   Education = col_double(),
##   ..   Mortgage = col_double(),
##   ..   Personal_Loan = col_double(),
##   ..   Securities_Account = col_double(),
##   ..   CD_Account = col_double(),
##   ..   Online = col_double(),
##   ..   CreditCard = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
# resumen de los cuartiles de la data
summary(data)
##        ID            Age          Experience       Income          ZIPCode     
##  Min.   :   1   Min.   :23.00   Min.   :-3.0   Min.   :  8.00   Min.   :90005  
##  1st Qu.:1251   1st Qu.:35.00   1st Qu.:10.0   1st Qu.: 39.00   1st Qu.:91911  
##  Median :2500   Median :45.00   Median :20.0   Median : 64.00   Median :93437  
##  Mean   :2500   Mean   :45.34   Mean   :20.1   Mean   : 73.77   Mean   :93169  
##  3rd Qu.:3750   3rd Qu.:55.00   3rd Qu.:30.0   3rd Qu.: 98.00   3rd Qu.:94608  
##  Max.   :5000   Max.   :67.00   Max.   :43.0   Max.   :224.00   Max.   :96651  
##      Family          CCAvg          Education        Mortgage    
##  Min.   :1.000   Min.   : 0.000   Min.   :1.000   Min.   :  0.0  
##  1st Qu.:1.000   1st Qu.: 0.700   1st Qu.:1.000   1st Qu.:  0.0  
##  Median :2.000   Median : 1.500   Median :2.000   Median :  0.0  
##  Mean   :2.396   Mean   : 1.938   Mean   :1.881   Mean   : 56.5  
##  3rd Qu.:3.000   3rd Qu.: 2.500   3rd Qu.:3.000   3rd Qu.:101.0  
##  Max.   :4.000   Max.   :10.000   Max.   :3.000   Max.   :635.0  
##  Personal_Loan   Securities_Account   CD_Account         Online      
##  Min.   :0.000   Min.   :0.0000     Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.000   1st Qu.:0.0000     1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.000   Median :0.0000     Median :0.0000   Median :1.0000  
##  Mean   :0.096   Mean   :0.1044     Mean   :0.0604   Mean   :0.5968  
##  3rd Qu.:0.000   3rd Qu.:0.0000     3rd Qu.:0.0000   3rd Qu.:1.0000  
##  Max.   :1.000   Max.   :1.0000     Max.   :1.0000   Max.   :1.0000  
##    CreditCard   
##  Min.   :0.000  
##  1st Qu.:0.000  
##  Median :0.000  
##  Mean   :0.294  
##  3rd Qu.:1.000  
##  Max.   :1.000

Grafica de la base de datos

indexn <- NULL
indexc <- NULL

par(mfrow = c(2,5))

for(i in 1:columna){
  if(is.numeric(data)== TRUE){
    titulo <- paste("", colnames(data[i]))
    pie(table(data[ , i]), col = i, main = titulo, col=c("#E69F00", "#56B4E9", "#009E73"))
    indexn <- c(indexn,i)
  } else{
    titulo <- paste("", colnames(data[i]))
    barplot(table(data[ , i]), main = titulo, col=c("#E69F00", "#56B4E9", "#009E73"))
    indexc <- c(indexc,i)
  }
}

Realizar el análisis para la variable target

target <- table(data[ , 10])

titulo <- paste("", colnames(data[10]))
Personal_Loan <-barplot(target, main = titulo, col=c("#E69F00", "#56B4E9", "#009E73"), ylim = c(0,5000))
text(Personal_Loan, target + 2, labels = target)

Comentarios finales con respecto al Analisis Descriptivo

## La variable Personal_Loan es la variabe target.
## Con respecto a Personal_Loan es una variable desbalanceada.
# Solo el 9.6% aceptaria el prestamo.
# Al modelo se le cambia algunos parametros para equilibrar el conjunto de datos.