- Libros
- Data Scientist y lenguaje R - Autoformación en los aspectos básicos de la inteligencia artificial en el universo... (2a edición)
Data Scientist y lenguaje R Autoformación en los aspectos básicos de la inteligencia artificial en el universo... (2a edición)
Presentación
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 en el sitio web www.ediciones-eni.com y se pueden ejecutar paso a paso.
¡Nuevo! Rondas de preguntas disponibles con la versión online.
¡Ronda de preguntas
incluida en
la versión online !
- Ponga a prueba sus conocimientos al final de cada capítulo
- Evalúe sus competencias
Índice
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.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.1 Random forest
- 6.2.2 AdaBoost (adaptative boosting)
- 6.3.1 Generalidades
- 6.3.2 Pequeño bestiario de las leys de probabilidad
- 6.4.1 Vocabulario básico
- 6.4.2 Conversión de un array de observaciones en grafo, parecido
- 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.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
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.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.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.1 Algunas nociones principales
- 1.2 Familiarizarse con sus datos
- 1.2.1 R Commander
- 1.2.2 Rattle
- 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.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.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.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
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.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.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.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.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.1 Aspectos teóricos
- 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.1 Introducción
- 2.2 La lógica difusa en la práctica (sistemas expertos)
- 3.1 Swarm y optimización: el algoritmo PSO
- 3.1.1 Presentación de PSO
- 3.1.2 Descripción 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
- 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
- 4.1 Variograma
- 4.1.1 Campo y variable regionalizada
- 4.1.2 Determinación del variograma
- 4.2.1 La teoría, en resumen
- 4.2.2 Implementación en R
- 5.1 Trazar una curva ROC
- 5.2 Una red neuronal (primeros pasos hacia el deep learning)
- 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
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.1 Ejemplo de creación de una base ortonormal
- 2.2 Proyección sobre subespacios vectoriales
- 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.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.1 Sistema de ecuaciones lineales
- 3.3.2 Sistema de ecuaciones no lineales no diferenciales, n = m
- 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.1 Cálculo de una integral múltiple
- 5.2 Otras integrales, la integral impropia
- 6.1 Otras funciones especiales
- 6.1.1 Funciones de Airy y de Bessel
- 6.1.2 La función de error erf
- 6.3.1 EQD lineal (2.º grado)
- 6.3.2 EQD no lineal (2.º grado)
- 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
- 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
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.1 Instalación del cliente SSH
- 4.2 Generación de las claves pública y privada
- 4.3 Gestión de paquetes
- 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
- 1. Utilidad de estos anexos
- 2. Fórmulas
- 3. Estrategias en función de la naturaleza de los datos
- 3.1 Conteos
- 3.2 Proporciones
- 3.3 Variable de respuesta binaria
- 3.4 Datos que inducen un modelo mixto (mixed effect)
- 3.5 Gráficos
- 3.6 Análisis de supervivencia (survival analysis)
- 4. Filtros (sobre imágenes)
- 5. Distancias
- 6. Trucos y pequeños consejos
- 6.1 Sobre las pruebas
- 6.2 Gestión de las variables
- 6.3 Análisis y manipulación de resultados
- 6.3.1 Residuos
- 6.3.2 Manipulación de los modelos
- 7.1 Crear su propio paquete
- 7.2 Reglas de asociación
- 7.3 Exportar un modelo
- 7.4 Tensores
- 7.5 SVM para la detección de novedades (novelty detection)
- 8.1 Complementos sobre las bases del machine learning
- 8.2 Complementos sobre los aspectos bayesianos
- 8.3 Vocabulario (del inglés) de los modelos gaussianos
- Conclusion
- índice
Autores
Eva LAUDEMás información
Eva LAUDE desarrolla sus actividades de consultoría y gestión de proyectos en Data science en diversos sectores, como el INSEE, empresas de biotecnología o ESNs. Además de sus actividades profesionales como desarrolladora de R-Shiny, organiza data-challenges en varias organismos y escuelas donde trabaja como profesora asociada. Geek y apasionada de R, DataViz y Data Journalisme, no duda en compartir sus conocimientos con numerosos tutoriales y participa en la revista académica Management&Data Science.
Henri LAUDEMás información
Henri LAUDE es un reconocido profesional de las Computer Sciences. Ha supervisado numerosos trabajos de I+D en data sciences, IA, Fintech, detección de fraude y despliegue de arquitecturas Big Data. Es cofundador de Advanced Research Partners, donde impulsa el diseño de algoritmos altamente innovadores. Premiado en varias ocasiones por sus soluciones innovadoras, como en el Data Intelligence Forum con una IA especializada en inteligencia económica llamada DxM (por Deus eX Machina), está involucrado en proyectos tan variados como el desarrollo de un exoesqueleto inteligente o la IA de ciber protection.
Características
- Nivel Medio a Experto
- Número de páginas 876 páginas
- Publicación mayo 2022
- Encuadernación rústica - 17 x 21 cm
- ISBN: 978-2-409-03574-6
- EAN: 9782409035746
- Ref. ENI: EPT3DASR
- Nivel Medio a Experto
- Publicación mayo 2022
- HTML
- ISBN: 978-2-409-03575-3
- EAN: 9782409035753
- Ref. ENI: LNEPT3DASR
Descargas
- Descargar los ejemplos del libro (22 585 Ko)