Eva LAUDE, Henri LAUDE
Datos técnicos
El objetivo de este libro, que tiene dos enfoques diferentes de lectura, es ofrecer una formación completa y operacional en las data sciences. El primer enfoque permite al lector aprender a generar soluciones completas usando el lenguaje R y su ecosistema y el segundo, le permite adquirir un conocimiento profundo de las data sciences abstrayéndose del detalle del código R, usando para ello un arsenal de herramientas interactivas que hace que no sea necesario codificar en R.
De este modo, el autor plantea un recorrido didáctico y profesional que, sin más requisitos previos que un nivel de enseñanza secundaria en matemáticas y una gran curiosidad, permita al lector:
• integrarse en un equipo de data scientists,
• abordar artículos de investigación en IA o data sciences,
• desarrollar en lenguaje R,
• y poder conversar con un equipo de proyecto que incluya data scientists.
Este libro no se limita a los algoritmos clásicos del Machine Learning (arboles de decisión, redes neuronales, etc.), sino que aborda diversos aspectos importantes como el tratamiento del lenguaje natural, las series temporales, la lógica difusa y la manipulación de imágenes.
No se evitan los aspectos prácticos o complicados. El libro enseña el acceso a las bases de datos, los procesos paralelos, la programación funcional y la orientación a objetos, la creación del API, la compartición de resultados de análisis con R Markdown y los dashboard Shiny, el estudio de las representaciones cartográficas e incluso, la implementación del Deep Learning con TensorFlow-2 y Keras.
Los lectores también demandaban que en esta tercera edición, se presentara un introducción al lenguaje Python y su interfaz con R, así como la instalación de una aplicación R/shiny que fuera accesible en internet, a través de un servidor Linux alojado en un cloud profesional. Una extensión a la utilización de R para los cálculos numéricos y matemáticos para la ingeniería, con el mismo espíritu que MatLab y el uso básico de una herramienta de prototipado rápido de modelos de Machine Learning (BigML) en «point and click», también permitirán al lector que no quiera utilizar R producir modelos de predicción sin codificar.
La dinámica del libro acompaña al lector paso a paso en la introducción al mundo de las data sciences y la evolución de sus competencias teóricas y prácticas. El manager podrá recorrer el libro después de haber leído atentamente el bestiario de las data sciences de la introducción, que presenta el tema ahorrando notación matemática o formalismos disuasorios, sin vulgarización excesiva.
Los programas R que se describen en el libro, se pueden descargar
Introducción
1. Data scientist, una profesión de moda
2. Una nueva profesión: citizen data scientist
2.1 Un objetivo realista, convertirse en citizen data scientist
2.2 Análisis y valoración
2.3 Animación y especificación
2.4 Modelado e inferencia
2.5 Despliegue y mantenimiento en condiciones operativas
3. Las data sciences
4. El Big Data
5. La dinámica de esta obra
5.1 Nuestros objetivos
5.2 La estructura del libro
5.2.1 Los dos recorridos complementarios
5.2.2 Recursos adicionales para utilizar
6. Pequeño bestiario de los data sciences
6.1 Los fundamentos
6.1.1 Aprendizaje y clasificación
6.1.2 Pequeño vocabulario gráfico de la machine learning
6.1.3 Regresión
6.1.4 Regresión lineal generalizada
6.1.5 Árboles de decisión, prune, poda
6.1.6 Clustering, k-means
6.1.7 k-NN
6.1.8 Modelos paramétricos
6.1.9 Lazy algorithm (algoritmo perezoso)
6.1.10 Overfitting: sobre-determinación, sobre-aprendizaje
6.1.11 Validación creciente, regularización, bagging
6.1.12 Optimización, método del gradiente
6.1.13 Algoritmo glotón (greedy algorithm)
6.1.14 Programación lineal, simplex, punto interior
6.1.15 Estimación a través del método de Monte-Carlo
6.1.16 Entropía, independencia e información mutua
6.1.17 Discretización
6.2 Métodos «conjunto»
6.2.1 Random forest
6.2.2 AdaBoost (adaptative boosting)
6.3 Leyes de probabilidad y distribución
6.3.1 Generalidades
6.3.2 Pequeño bestiario de las leys de probabilidad
6.4 Los grafos
6.4.1 Vocabulario básico
6.4.2 Conversión de un array de observaciones en grafo, parecido
7. Informática profesional y data sciences
7.1 La tecnología
7.2 Business Intelligence versus Big Data
7.2.1 Diferencias en términos de arquitectura
7.2.2 Diferencias en términos de uso
7.2.3 Síntesis
8. Notaciones
8.1 Notaciones de los argumentos
8.2 Otras notaciones
8.2.1 Funciones y aplicaciones... f(x), d(x,y) ...
8.2.2 Algunas posibles confusiones
9. Ahora le toca a usted
Primeros pasos con R
1. Instalación de los componentes
1.1 Instalación y ejecución de R
1.2 Instalación y ejecución de RStudio
1.3 Instalación de nuevos paquetes
1.4 Instalación de paquetes: complementos
2. Empezando con R
2.1 R, una calculadora eficaz
2.2 R, un lenguaje vectorizado
2.3 Funciones que actúan sobre vectores
2.3.1 Un primer análisis rápido de los datos
2.3.2 Algunas estadísticas simples sobre los vectores
2.3.3 Ordenar un vector
2.3.4 Diversas funciones con suma, producto, mínimo y máximo
2.4 Tipos de datos simples
2.4.1 Los booleanos
2.4.2 Los conjuntos
2.4.3 Las listas
2.4.4 Los factores
2.4.5 Las tablas
2.5 Las funciones
2.5.1 Creación y utilización de una función simple
2.5.2 Crear un operador a partir de una función de dos variables
2.5.3 Uso de funciones y ámbito de las variables
2.5.4 Aplicaciones de las funciones en las matrices: apply
2.5.5 Complementos útiles
2.6 Estructuras de control
2.6.1 Instrucciones comunes con otros lenguajes
2.6.2 Recorrer una matriz con bucles for
2.7 Las cadenas de caracteres
2.8 Formatear números
2.9 Las fechas y las horas
2.10 Medida de la duración de un algoritmo
2.11 Los números complejos
2.11.1 Operaciones básicas de los números complejos
2.11.2 Visualización de números complejos
2.12 Programación orientada a objetos
2.12.1 Clases y objetos, resumido
2.12.2 Constructores
2.12.3 Herencia
2.12.4 Objetos mutables
2.12.5 Gestión de la pila: implementación orientada a objetos con RC
3. Manipulación de los datos
3.1 Lectura de los datos: aspectos fundamentales
3.2 Manipulación de las columnas de un data.frame
3.3 Cálculos simples en un data.frame
3.3.1 Cálculos en las columnas y las filas
3.3.2 Manipulación de las filas
3.3.3 Aplicación: comparación elementos de clases y Khi-2
3.3.4 Creación de columnas calculadas
3.3.5 Ordenar un data.frame con order()
3.4 Análisis visual de los datos
3.4.1 Visualización simple de los datos
3.4.2 Visualización de las variables numéricas 2 a 2, con mención de las clases
3.4.3 Correlaciones entre variables numéricas
3.4.4 Separación por clase, ggplot2, qplot
3.4.5 Visualización 3D, relación entre tres variables numéricas
3.4.6 Gráficos por parejas
3.4.7 Diagrama de caja e intento de eliminación de los outliers
3.4.8 Creación de un modelo por árbol de decisión
Dominar los conceptos básicos
1. Estar en armonía con los datos
1.1 Algunas nociones principales
1.1.1 Fenómeno aleatorio
1.1.2 Probabilidad, variable aleatoria y distribución
1.1.3 Un poco de matemáticas: notación y definiciones útiles
1.1.4 Momentos de una variable aleatoria discreta X
1.1.5 Primeras consideraciones sobre los errores y estimaciones
1.2 Familiarizarse con sus datos
1.2.1 R Commander
1.2.2 Rattle
2. Matrices y vectores
2.1 Convenciones, notaciones, utilización básica
2.2 Matrices, vectores: de una introducción hasta la noción de aprendizaje supervisado
2.3 Más allá en la manipulación de las matrices con R
2.3.1 Operaciones básicas
2.3.2 Algunos conocimientos prácticos útiles sobre las matrices de R
2.3.3 Normas de vectores y normas de matrices
2.3.4 Matrices y vectores: diversas sintaxis útiles
3. Estimaciones
3.1 Posicionamiento del problema de estimación
3.1.1 Formulación general del problema
3.1.2 Aplicación y reformulación del problema de estimación
3.2 Los indicadores de desvío utilizados en machine learning
3.2.1 MSE, RMSE, SSE, SST
3.2.2 MAE, ME
3.2.3 NRMSE/NRMSD, CV_RMSE
3.2.4 SDR
3.2.5 Accuracy, R2
4. Puesta en práctica: aprendizaje supervisado
4.1 Preparación
4.2 Probar las hipótesis, p_value
4.2.1 Análisis gráfico interactivo con iplots
4.2.2 Test de Breusch-Pagan y zoom sobre p_value
4.3 Creación de un modelo (regresión lineal múltiple)
4.4 Establecimiento de una predicción
4.5 Estudio de los resultados y representaciones gráficas
4.6 Indicadores actuales - cálculos
4.7 Estudio del modelo lineal generado
4.8 Conclusión sobre el modelo lineal
4.9 Utilización de un modelo «Random Forest»
Técnicas y algoritmos esenciales
1. Construir su caja de herramientas
2. Representación gráfica de los datos
2.1 Un gráfico «simple»
2.2 Histogramas evolucionados
2.2.1 Distribución multiclase
2.2.2 Mezcla de varias distribuciones por clase
2.2.3 Visualización de la densidad de una distribución
2.2.4 Otra mezcla por clase
2.2.5 Una variable, un histograma para cada clase
2.2.6 Gráfico con una densidad por clase
2.3 Diagrama de pares y facetas
2.3.1 Diagrama de pares, versión simple
2.3.2 Clases de configuración XOR
2.3.3 Diagrama de pares con «factores»
2.3.4 Facetas y escala logarítmica
3. Machine learning: prácticas habituales
3.1 Recorrido teórico acelerado
3.1.1 Linealidad
3.1.2 Errores in y out, noción de VC dimensión
3.1.3 Hiperplanos, separabilidad con márgenes
3.1.4 Kernel Trick, núcleos, transformaciones, feature space
3.1.5 Problemas de la regresión: introducción a la regularización
3.2 Práctica por práctica
3.2.1 Cross validation: k-fold CV
3.2.2 Naive Bayes
3.2.3 C4.5 y C5.0
3.2.4 Support Vector Machines (SVM)
3.2.5 Clusterisation, k-means
4. ¿ Dónde estamos en nuestro aprendizaje ?
4.1 Sus conocimientos adquiridos operativos
4.2 Las eventuales lagunas que hay que completar ahora
Marco metodológico del data scientist
1. El problema de metodología a nivel de proyecto
1.1 Expresar la necesidad
1.2 La gestión del proyecto
2. El ciclo interno de las data sciences
2.1 Revisión en detalle del problema planteado
2.2 Trabajos preliminares sobre los datos
2.2.1 Obligaciones sobre los datos
2.2.2 Recopilación, limpieza y compresión de los datos
2.3 El ciclo de modelización
2.3.1 Feature engineering
2.3.2 Modelización y evaluación
2.3.3 Elección del mejor modelo
2.3.4 Prueba, interpretación y confrontación con el negocio
2.4 Preparación de la industrialización y el despliegue
2.5 Preparación de las siguientes iteraciones
2.5.1 Elementos que se deben tener en cuenta
2.5.2 Documentación gestionada por los data scientists
3. Complementos metodológicos
3.1 Clasificar sus objetivos
3.2 Trucos
Procesamiento del lenguaje natural
1. Posicionamiento del problema
2. Análisis semántico latente y SVD
2.1 Aspectos teóricos
2.1.1 SVD: generalidades
2.1.2 Una justificación de la descomposición SVD
2.1.3 SVD en el contexto LSA
2.1.4 Interpretación
2.1.5 Alternativa no lineal, Isomap (MDS, geodésica, variedad, manifold)
2.2 Puesta en práctica
2.2.1 Inicialización
2.2.2 En el corazón de LSA
2.2.3 Resultados
2.2.4 Manipulaciones, interpretaciones recreativas y no fundadas
Grafos y redes
1. Introducción
2. Primeros pasos
2.1 Algunas nociones y notaciones adicionales básicas
2.2 Manipulaciones sencillas de grafos con R
2.3 Estructura de los grafos
3. Grafos y redes (sociales)
3.1 Análisis de las redes sociales: conceptos básicos
3.2 Puesta en práctica
3.3 Detección de comunidades
Otros problemas otras soluciones
1. Series temporales
1.1 Introducción
1.2 Modelo estacional
1.2.1 Procesos estacionales: aspectos básicos
1.2.2 Proceso autorregresivo AR: ir más allá
1.2.3 Consideraciones (muy) útiles
1.3 Procesos no estacionales
1.3.1 El modelo ARIMA
1.3.2 Procesos estacionales: SARIMA
1.3.3 Modelos ARCH y GARCH
1.3.4 Convolución y filtros lineales
1.4 Puesta en práctica
1.4.1 Aspectos básicos de la manipulación de las series temporales en R
1.4.2 Estudio de series temporales
1.4.3 Predicciones sobre ARIMA (AR MA SARIMA)
1.5 Minibestiario ARIMA
2. Sistemas difusos
2.1 Introducción
2.2 La lógica difusa en la práctica (sistemas expertos)
3. Enjambre (swarm)
3.1 Swarm y optimización: el algoritmo PSO
3.1.1 Presentación de PSO
3.1.2 Descripción de PSO
3.2 Puesta en práctica de PSO
Feature Engineering
1. Feature Engineering, conceptos básicos
1.1 Posicionamiento del problema
1.2 A qué hay que prestar atención
1.2.1 La calidad de la distribución
1.2.2 La naturaleza de las features
1.3 Dominar la dimensionalidad
1.4 Una solución verificada: la PCA
1.5 Un ejemplo sencillo de utilización de la PCA
1.6 Los valores desconocidos y las features mal condicionadas
1.7 Creación de nuevas features
1.8 A modo de conclusión
2. PCA clásico, elementos matemáticos
3. Reducción de los datos (data reduction)
4. Reducción de la dimensionalidad y entropía
4.1 Descripción teórica del problema
4.2 Implementación en R y discusión
Complementos útiles
1. GAM: generalización de LM/GLM
2. Manipulación de imágenes
2.1 Creación, visualización, lectura y escritura de imágenes
2.2 Transformación de las imágenes
2.2.1 Ejemplos de manipulación del color y de las intensidades
2.2.2 Ejemplos de manipulación de la geometría de la imagen
2.2.3 Aplicación de filtros sobre las imágenes
3. Como crear una muestra: LHS (hypercube latin)
4. Trabajar sobre datos en el espacio
4.1 Variograma
4.1.1 Campo y variable regionalizada
4.1.2 Determinación del variograma
4.2 Krigeage (kriging)
4.2.1 La teoría, en resumen
4.2.2 Implementación en R
5. Conocimientos prácticos útiles
5.1 Trazar una curva ROC
5.2 Una red neuronal (primeros pasos hacia el deep learning)
6. Gradiente Boosting y Generalized Boosted Regression
6.1 Los grandes principios
6.2 Los argumentos y los usos (paquete GBM)
6.2.1 Covarianza
6.2.2 Loss
6.2.3 Optimización del algoritmo
6.3 Puesta en práctica
Full Stack R
1. ¿ Por qué este capítulo ?
2. Programación funcional y/o defensiva
3. Persistencia, bases de datos y R
4. Paralelización
5. Recolectar datos externos
6. Crear una API con R
Compartir sus análisis
1. Escribir en Markdown
1.1 Introducción
1.2 Sintaxis de Markdown
2. Crear un archivo R Markdown
2.1 Encabezado de R Markdown
2.2 Formatear el código
2.3 Insertar y ejecutar código R
2.4 Ejecutar código R
2.5 Generar el informe
2.6 Publicar su informe con RPubs
3. Crear su primera aplicación Shiny
3.1 Introducción
3.2 Instalación en RStudio y preámbulo
3.3 Organizar los archivos de la aplicación
3.4 Sintaxis de los inputs y outputs
3.5 Paginación y organización visual del contenido
3.6 Modificar el tema de la aplicación
3.7 Generar la aplicación
3.8 Desplegar la aplicación en la Web
3.9 Shiny Dashboard
Cartografía
1. ¿ Por qué estudiar las representaciones cartográficas ?
2. Acceder a la información geográfica
3. Creación de mapas estáticos con R
4. Creación de mapas dinámicos con R
En torno a los datos
1. Presentación del capítulo
2. Captura directa y rápida de un dataset
3. Análisis de la conformación de las distribuciones respecto a la distribución normal
4. Dependencia lineal entre variables
5. Resalte de las diferencias entre las distribuciones
6. Puntos atípicos
7. Ordenaciones y agregaciones
7.1 Ordenaciones automatizadas
7.2 Cálculos sobre las agregaciones
7.3 Extracción, pivotado y ordenación rápida de datos de un dataframe
7.4 Utilización de los joins
7.4.1 Enriquecimiento de un dataframe usando joins
7.4.2 Joins de decodificación o transformación; ej.: factor to integer
7.5 Aplicar funciones variables a los datos
7.6 Complementos en materia de metaprogramación
7.6.1 Quoting aplicado a los gráficos
7.6.2 Definición de una macro
Análisis numérico y matemáticas operativas
1. Cálculos numéricos del tipo Matlab
1.1 Consideraciones prácticas
1.2 Visión general de la precisión de nuestra máquina
1.3 Un paquete que tiene las mismas instrucciones que Matlab
1.4 Algunos complementos para los números complejos
1.5 Algunos complementos sobre las matrices
1.5.1 Creación de matrices básicas
1.5.2 Creación de matrices de números aleatorios
1.5.3 Cálculos sobre las matrices de enteros
2. Un poco de álgebra lineal
2.1 Ejemplo de creación de una base ortonormal
2.2 Proyección sobre subespacios vectoriales
3. Funciones y sistemas de ecuaciones, 1 a n variables
3.1 Función de una variable
3.1.1 Exploración de varias trazas
3.1.2 Sobre las raíces de una función
3.2 Función de varias variables
3.2.1 Representación de una función real de dos variables reales
3.2.2 Búsqueda del mínimo de una función de dos dimensiones
3.3 Sistema de ecuaciones no diferenciales, lineales o no
3.3.1 Sistema de ecuaciones lineales
3.3.2 Sistema de ecuaciones no lineales no diferenciales, n = m
4. Derivación de funciones
4.1 Derivada simbólica y numérica con R-base
4.2 Derivadas usando paquetes específicos
4.3 Derivada de funciones especiales
5. Sobre la integración
5.1 Cálculo de una integral múltiple
5.2 Otras integrales, la integral impropia
6. Funciones especiales y ecuaciones diferenciales
6.1 Otras funciones especiales
6.1.1 Funciones de Airy y de Bessel
6.1.2 La función de error erf
6.2 Ecuación diferencial ordinaria normalizada de orden 1
6.3 Ecuación diferencial de segundo grado (problema de los límites)
6.3.1 EQD lineal (2.º grado)
6.3.2 EQD no lineal (2.º grado)
7. Elementos prácticos de cálculo diferencial
7.1 Funciones reales de un real
7.2 Funciones reales de un vector
7.2.1 Cálculo de las derivadas parciales
7.2.2 Cálculos de operadores que usan las derivadas parciales
7.3 Funciones vectoriales de un vector
8. Cálculo simbólico con SymPy
8.1 Documentación para consultar
8.2 Acceder a los resultados en R Markdown
R y Python
1. Una polémica estéril, pero real: ¿ R o Python ?
2. Ejemplos de códigos R y Python comparables
2.1 Códigos triviales
2.2 Paquetes
2.3 Funciones simples
2.4 Estructuras de datos
2.5 Booleanos
2.6 Programación básica
2.7 Creación de funciones
2.8 Bloques e indentación
2.9 Datasets
3. Acceder a Python desde R
3.1 Instalar e inicializar el contexto técnico
3.2 Interacciones R y Python desde el punto de vista de R
3.2.1 Compartir variables y ejecución de código Python en el biotipo R
3.2.2 Librerías Python en el código R, ejemplos NLP
4. Consideraciones sobre los casos complicados
Deep learning con Tensorflow y Keras
1. Deep learning según Google
2. Instalar e inicializar su contexto técnico
3. Tensores TensorFlow/Keras
3.1 Forma de los tensores
3.2 Manipular tensores
3.3 Otro uso del framework
4. Puesta a punto de un modelo de referencia usando caret
5. Crear un modelo con TensorFlow 2 y Keras
5.1 Inicializar y preparar los datos
5.2 Etapa 1: describir la estructura de red
5.3 Etapa 2: compilar el modelo
5.4 Etapa 3: training
BigML, machine learning para todos
1. Introducción
2. ¿ Para quién ?
3. Presentación del enfoque
4. Manipulación de las fuentes de datos
5. Creación de proyectos
6. Manipulación de los datasets
7. División del juego de datos
8. Creación de un modelo de machine learning
8.1 Argumentos de los modelos
8.2 Visualización del modelo
8.3 Filtrado y poda
8.4 Otras visualizaciones
9. Evaluación del modelo
10. Compartir sus modelos
11. Realizar una primera predicción
12. Utilización del modelo en R
Despliegue Shiny en su propio Cloud
1. Introducción
2. Alquiler de un servidor
3. Creación de una máquina virtual
4. Conectarse en remoto a su máquina
4.1 Instalación del cliente SSH
4.1.1 OpenSSH
4.1.2 Git Bash
4.2 Generación de las claves pública y privada
4.3 Gestión de paquetes
5. Añadir los componentes de software básicos
6. Instalación de R y Shiny
7. Configuración de red y Linux
7.1 Configurar la VCN (Virtual Cloud Network)
7.2 Gestión del firewall
7.3 Obtener una aplicación de monitoring: htop
7.4 Obtener un servidor HTTP (Apache)
7.5 Instalación de Webmin
Anexos
2024 © Vuestros Libros Siglo XXI | Desarrollo Web Factor Ideas