Vous êtes sur la page 1sur 12

Data Scientist y lenguaje R

Gua de autoformacin para el uso de Big Data

Introduccin

1. Data scientist, una disciplina de moda 15

2. Las data sciences 16

3. El Big Data 17

4. La dinmica de este libro 18


4.1 Nuestros objetivos 18
4.2 La estructura del libro 20
4.2.1 Los dos recorridos complementarios 20
4.2.2 Recursos complementarios 22

5. Pequeo bestiario de las data sciences 24

5.1 Los fundamentos 24


5.1.1 Aprendizaje y clasificacin 24
5.1.2 Pequeo vocabulario grfico del machine learning 25
5.1.3 Regresin 39
5.1.4 Regresin lineal generalizada 41
5.1.5 rboles de decisin, poda, tala 42
5.1.6 Clustering, k-means 43
5.1.7 k-NN 44
5.1.8 Modelos paramtricos 44
5.1.9 Lazy algorithm (algoritmo perezoso) 45
5.1.10 Overfitting: sobredeterminacin, sobreaprendizaje 45
5.1.11 Validacin cruzada, regularizacin, bagging 46
5.1.12 Optimizacin, descenso por gradiente 48
5.1.13 Algoritmo voraz (greedy algorithm) 50
5.1.14 Programacin lineal, smplex, punto interior 50
5.1.15 Estimacin mediante el mtodo de Monte-Carlo 52
5.1.16 Entropa, independencia e informacin mutua 54
5.1.17 Discretizacin 56
5.2 Mtodos conjunto 57

www.ediciones-eni.com Ediciones ENI 1/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

5.2.1 Random forest 57


5.2.2 AdaBoost (adaptative boosting) 58
5.3 Leyes de probabilidad y de distribucin 60
5.3.1 Generalidades 60
5.3.2 Pequeo bestiario de leyes de probabilidad 63
5.4 Los grafos 65
5.4.1 Vocabulario bsico 67
5.4.2 Conversin de una tabla de observaciones en un grafo, semejanza 68

6. Informtica profesional y datasciences 69

6.1 La tecnologa 69
6.2 Business Intelligence versus Big Data 73
6.2.1 Diferencias en trminos de arquitectura 73
6.2.2 Diferencias en trminos de uso 74
6.2.3 En resumen 75

7. Notacin 75
7.1 Notacin de los parmetros 76
7.2 Otras notaciones 78
7.2.1 Funciones y aplicaciones ... f(x), d(x,y) ... 78
7.2.2 Algunas posibles confusiones 78

8. Ahora, es su turno! 80

Primeros pasos con R

1. Instalacin de los componentes 83

1.1 Instalacin y ejecucin de R 83


1.2 Instalacin y ejecucin de RStudio 84
1.3 Instalacin de nuevos paquetes 86
1.4 Instalacin de paquetes: complementos 88

2. Toma de contacto con R 90

www.ediciones-eni.com Ediciones ENI 2/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

2.1 R, una calculadora eficaz 91


2.2 R, un lenguaje vectorial 93
2.3 Funciones que trabajan sobre vectores 95
2.3.1 Un primer anlisis rpido de los datos 96
2.3.2 Algunas estadsticas sencillas sobre los vectores 97
2.3.3 Ordenar un vector 99
2.3.4 Diversas funciones con suma, producto, min y max 100
2.4 Tipos de datos simples 101
2.4.1 Los booleanos 102
2.4.2 Conjuntos 104
2.4.3 Listas 106
2.4.4 Factores 107
2.4.5 Tablas 116
2.5 Las funciones 127
2.5.1 Creacin y uso de una funcin simple 127
2.5.2 Creacin de un operador a partir de una funcin de dos variables 128
2.5.3 Uso de las funciones y alcance de las variables 129
2.5.4 Aplicacin de las funciones sobre las matrices: apply 133
2.5.5 Las funciones: completamente tiles 134
2.6 Estructuras de control 140
2.6.1 Instrucciones comunes con otros lenguajes 140
2.6.2 Recorrer una matriz mediante bucles for 142
2.7 Las cadenas de caracteres 145
2.8 El formato de los nmeros 149
2.9 Fechas y tiempos 150
2.10 Mediar la duracin de un algoritmo 151
2.11 Los nmeros complejos 156
2.11.1 Manipulacin bsica de los nmeros complejos 156
2.11.2 Visualizacin de nmeros complejos 157
2.12 Programacin orientada a objetos 158
2.12.1 Clases y objetos, breve descripcin 160
2.12.2 Constructores 165
2.12.3 Herencia 168
2.12.4 Objetos mutables 172
2.12.5 Gestin de la pila: implementacin Orientada a Objetos con RC 174

www.ediciones-eni.com Ediciones ENI 3/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

3. Manipulacin de los datos 179


3.1 Lectura de los datos: fundamentos 179
3.2 Manipulacin de las columnas de un data.frame 182
3.3 Clculos simples sobre un data.frame 183
3.3.1 Clculos sobre las columnas y las filas 183
3.3.2 Manipulacin de las filas 184
3.3.3 Aplicacin: comparacin de elementos de clases y Khi-2 188
3.3.4 Creacin de columnas calculadas 190
3.3.5 Ordenar un data.frame mediante order() 195
3.4 Anlisis visual de los datos 197
3.4.1 Visualizacin simple de los datos 197
3.4.2 Visualizacin de variables numricas 2 a 2 con mencin de las clases 199
3.4.3 Correlacin entre variables numricas 203
3.4.4 Separacin por clase, ggplot2, qplot 205
3.4.5 Visualizacin 3D, relacin entre tres variables numricas 206
3.4.6 Grficos por pares 207
3.4.7 Diagramas de caja y eliminacin de outliers 208
3.4.8 Creacin de un modelo por rbol de decisin 212

Dominar los fundamentos

1. Ponerse en armona con los datos 215


1.1 Algunas nociones fundacionales 216
1.1.1 Fenmeno aleatorio 216
1.1.2 Probabilidad, variable aleatoria y distribucin 217
1.1.3 Un poco de matemticas: notaciones y definiciones tiles 221
1.1.4 Momentos de una variable aleatoria discreta X 228
1.1.5 Primeras consideraciones sobre los errores y estimaciones 237
1.2 Familiarizarse con los datos 238
1.2.1 R Commander 240
1.2.2 Rattle 243

2. Matrices y vectores 248

www.ediciones-eni.com Ediciones ENI 4/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

2.1 Convenciones, notaciones, usos bsicos 248


2.2 Matrices, vectores: una introduccin a la nocin de aprendizaje supervisado 261
2.3 Ir ms lejos en la manipulacin de matrices con R 263
2.3.1 Operaciones bsicas 263
2.3.2 Algunos trucos tiles sobre las matrices de R 264
2.3.3 Normas de vectores y normas de matrices 269
2.3.4 Matrices y vectores: diversas sintaxis tiles 273

3. Estimaciones 278
3.1 Planteamiento del problema de estimacin 278
3.1.1 Formulacin general del problema 278
3.1.2 Aplicacin y reformulacin del problema de estimacin 281
3.2 Indicadores de desviacin utilizados en machine learning 292
3.2.1 MSE, RMSE, SSE, SST 292
3.2.2 MAE, ME 294
3.2.3 NRMSE/NRMSD, CV_MRSE 296
3.2.4 SDR 297
3.2.5 Accuracy, R2 298

4. Puesta en prctica: aprendizaje supervisado 301

4.1 Preparacin 301


4.2 Comprobar las hiptesis, p_value 304
4.2.1 Anlisis grfico interactivo con iplots 304
4.2.2 Test de Breush-Pagan y zoom sobre p_value 305
4.3 Creacin de un modelo (regresin lineal mltiple) 306
4.4 Establecer una prediccin 307
4.5 Estudio de los resultados y representacin grfica 308
4.6 Indicadores habituales - clculos 312
4.7 Estudio del modelo lineal generado 313
4.8 Conclusin sobre el modelo lineal 320
4.9 Uso de un modelo Random Forest 321

Tcnicas y algoritmos imprescindibles

www.ediciones-eni.com Ediciones ENI 5/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

1. Construir la caja de herramientas 327

2. Representacin grfica de los datos 328


2.1 Un grfico simple 328
2.2 Histogramas avanzados 331
2.2.1 Distribucin multiclase 331
2.2.2 Mezcla de varias distribuciones por clase 333
2.2.3 Visualizacin de la densidad de una distribucin 334
2.2.4 Otra mezcla por clase 336
2.2.5 Una variable, pero un histograma para cada clase 337
2.2.6 Grfico con una densidad por clase 338
2.3 Diagrama de pares y de facetas 341
2.3.1 Diagrama por pares, versin simple 341
2.3.2 Clases en configuracin XOR 342
2.3.3 Diagrama por pares con factores 344
2.3.4 Facetas y escala logartmica 347

3. Machine learning: prcticas corrientes 348

3.1 Recorrido terico acelerado 348


3.1.1 Linealidad 349
3.1.2 Errores in y out, nocin de dimensin VC 351
3.1.3 Hiperplanos, separabilidad con mrgenes 355
3.1.4 Kernel Trick, ncleos, transformaciones, feature space 357
3.1.5 Problemas de la regresin: introduccin a la regularizacin 362
3.2 Prctica por prctica 368
3.2.1 Cross validation: k-fold CV 368
3.2.2 Naive Bayes 370
3.2.3 C4.5 y C5.0 377
3.2.4 Support Vector Machines (SVM) 379
3.2.5 Clusterizacin, k-means 384

4. Dnde nos encontramos en nuestro aprendizaje ? 395

4.1 Sus conocimientos operacionales 395


4.2 Las posibles lagunas que es preciso cubrir ahora 396

www.ediciones-eni.com Ediciones ENI 6/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

Marco metodolgico del data scientist

1. El problema metodolgico a nivel del proyecto 397

1.1 La expresin de una necesidad 398


1.2 La gestin del proyecto 399

2. El ciclo interno de data sciences 402

2.1 Revisin detallada del problema planteado 402


2.2 Trabajos previos sobre los datos 403
2.2.1 Exigencias sobre los datos 403
2.2.2 Recogida, limpieza y comprensin de los datos 404
2.3 El ciclo de modelado 405
2.3.1 Feature engineering 406
2.3.2 Modelado y evaluacin 407
2.3.3 Escoger el mejor modelo 408
2.3.4 Test, interpretacin y confrontacin con negocio 409
2.4 Preparacin de la industrializacin y despliegue 410
2.5 Preparacin de las siguientes iteraciones 411
2.5.1 Elementos que es preciso tener en cuenta 411
2.5.2 Documentacin gestionada por los data scientists 412

3. Complementos metodolgicos 413

3.1 Clasificar sus objetivos 413


3.2 Trucos y argucias 414

Procesamiento del lenguaje natural

1. Definicin del problema 417

2. Anlisis semntico latente y SVD 418

2.1 Aspectos tericos 418


2.1.1 SVD: generalidades 419
2.1.2 Una justificacin de la descomposicin SVD 420

www.ediciones-eni.com Ediciones ENI 7/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

2.1.3 SVD en el contexto LSA 421


2.1.4 Interpretacin 421
2.1.5 Alternativa no lineal, Isomap (MDS, geodsico, variedad, manifold) 423
2.2 Puesta en prctica 423
2.2.1 Inicializacin 423
2.2.2 En el ncleo de LSA 426
2.2.3 Resultados 427
2.2.4 Manipulaciones, interpretaciones recreativas y no fundadas 430

Grafos y redes

1. Introduccin 433

2. Primeros pasos 434


2.1 Algunas nociones y notaciones complementarias bsicas 434
2.2 Manipulaciones simples de grafos con R 436
2.3 Estructura de los grafos 450

3. Grafos y redes (sociales) 452

3.1 Anlisis de las redes sociales: conceptos bsicos 453


3.2 Puesta en prctica 456
3.3 Deteccin de comunidades 459

Otros problemas, otras soluciones

1. Series temporales 467


1.1 Introduccin 467
1.2 Modelo estacionario 469
1.2.1 Proceso estacionario: los fundamentos 469
1.2.2 Proceso autorregresivo AR: ir ms lejos 472
1.2.3 Consideraciones (muy) tiles 473
1.3 Procesos no estacionarios 476

www.ediciones-eni.com Ediciones ENI 8/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

1.3.1 El modelo ARIMA 476


1.3.2 Procesos estacionales: SARIMA 477
1.3.3 Modelos ARCH y GARCH 478
1.3.4 Convolucin y filtros lineales 480
1.4 Puesta en prctica 483
1.4.1 Los fundamentos de la manipulacin de las series temporales en R 484
1.4.2 Estudio de las series temporales 488
1.4.3 Predicciones sobre ARIMA (AR MA SARIMA) 494
1.5 Minibestiario ARIMA 498

2. Sistemas difusos 501

3. Enjambre (swarm) 511

3.1 Swarm y optimizacin: el algoritmo PSO 511


3.1.1 Presentacin de PSO 511
3.1.2 Descripcin de PSO 512
3.2 Puesta en prctica de PSO 514

Feature Engineering

1. Feature Engineering, los fundamentos 519

1.1 Definicin del problema 519


1.2 Sobre qu hay que estar muy atento 520
1.2.1 La calidad de la distribucin 520
1.2.2 La naturaleza de las features 521
1.3 Dominar la dimensionalidad 524
1.4 Una solucin prctica: el PCA 527
1.5 Un ejemplo simple del uso del PCA 527
1.6 Los valores desconocidos y las features mal condicionadas 536
1.7 Creacin de nuevas features 539
1.8 A modo de conclusin 542

2. PCA clsico, elementos matemticos 543

www.ediciones-eni.com Ediciones ENI 9/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

3. Reduccin de los datos (data reduction) 546

4. Reduccin de la dimensionalidad y entropa 547


4.1 Descripcin terica del problema 548
4.2 Implementacin en R y discusin 550

Complementos tiles

1. GAM: generalizacin de LM/GLM 559

2. Manipulacin de imgenes 562


2.1 Creacin, visualizacin, lectura y escritura de imgenes 563
2.2 Transformaciones de imgenes 569
2.2.1 Ejemplos de manipulacin del color y de las intensidades 569
2.2.2 Ejemplos de manipulacin de la geometra de la imagen 572
2.2.3 Aplicacin de filtros sobre las imgenes 575

3. Cmo crear una muestra: LHS (hipercubo latino) 577

4. Trabajar sobre datos espaciales 580

4.1 Variograma 580


4.1.1 Campo y variable regionalizada 580
4.1.2 Determinacin del variograma 587
4.2 Krigeage (kriging) 589
4.2.1 La teora, brevemente 589
4.2.2 Implementacin en R 591

5. Buenas prcticas tiles 593

5.1 Trazar una curva ROC 593


5.2 Una red neuronal (primeros pasos hacia el deeplearning) 596

www.ediciones-eni.com Ediciones ENI 10/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

6. Gradient Boosting y Generalized Boosted Regression 601


6.1 Los grandes principios 601
6.2 Los parmetros y los usos (paquete GBM) 603
6.2.1 Covarianza 603
6.2.2 Loss 603
6.2.3 Optimizacin del algoritmo 604
6.3 Puesta en prctica 604

Anexos

1. Acerca de la utilidad de estos anexos 607

2. Frmulas 607

3. Estrategias segn la naturaleza de los datos 609

3.1 Recuentos 609


3.2 Proporciones 610
3.3 Variable de respuesta binaria 610
3.4 Datos que inducen un modelo mixto (mixed effect) 610
3.5 Datos espaciales 612
3.6 Grafos 612
3.7 Anlisis de supervivencia (survival analysis) 613

4. Filtros (sobre imgenes) 613

5. Distancias 616

6. Trucos y pequeos consejos 620

6.1 Acerca de los tests 620


6.2 Gestin de las variables 620
6.3 Anlisis y manipulacin de resultados 621
6.3.1 Residuos 621

www.ediciones-eni.com Ediciones ENI 11/12


Data Scientist y lenguaje R
Gua de autoformacin para el uso de Big Data

6.3.2 Manipulacin de los modelos 621

7. Paquetes y temas para estudiar 622


7.1 Creacin de grficos JavaScript con R 622
7.2 Crear uniones como en SQL 622
7.3 Reglas de asociacin 623
7.4 Exportar un modelo 623
7.5 Tensores 623
7.6 SVM para la deteccin de novedades (novelty detection) 624

8. Vocabulario y tricks of the trade 624


8.1 Complementos sobre las bases del machine learning 624
8.2 Complementos sobre los aspectos bayesianos 626
8.3 Vocabulario (en ingls) de los modelos gaussianos 628

9. Algoritmos para estudiar 628

10. Algunas formulaciones de lgebra lineal 629

Conclusin 631

ndice 633

www.ediciones-eni.com Ediciones ENI 12/12

Vous aimerez peut-être aussi