Agradecimientos
Sobre el autor
Prefacio a la segunda edición
Convenciones empleadas en este libro
Uso del código de ejemplo
Sobre la imagen de cubierta
Prefacio a la primera edición
Ciencia de datos
Partir de cero
1. Introducción
El ascenso de los datos
¿Qué es la ciencia de datos?
Hipótesis motivadora: DataSciencester
Localizar los conectores clave
Científicos de datos que podría conocer
Salarios y experiencia
Cuentas de pago
Temas de interés
Sigamos adelante
2. Un curso acelerado de Python
El zen de Python
Conseguir Python
Entornos virtuales
Formato con espacios en blanco
Módulos
Funciones
Cadenas
Excepciones
Listas
Tuplas
Diccionarios
Contadores
Conjuntos
Flujo de control
Verdadero o falso
Ordenar
Comprensiones de listas
Pruebas automatizadas y assert
Programación orientada a objetos
Iterables y generadores
Aleatoriedad
Expresiones regulares
Programación funcional
Empaquetado y desempaquetado de argumentos
args y kwargs
Anotaciones de tipos
Bienvenido a DataSciencester
Para saber más
3. Visualizar datos
matplotlib
Gráficos de barras
Gráficos de líneas
Gráficos de dispersión
Para saber más
4. Álgebra lineal
Vectores
Matrices
Para saber más
5. Estadística
Describir un solo conjunto de datos
Correlación
La paradoja de Simpson
Otras advertencias sobre la correlación
Correlación y causación
Para saber más
6. Probabilidad
Dependencia e independencia
Probabilidad condicional
Teorema de Bayes
Variables aleatorias
Distribuciones continuas
La distribución normal
El teorema central del límite
Para saber más
7. Hipótesis e inferencia
Comprobación de hipótesis estadísticas
Ejemplo: Lanzar una moneda
Valores p
Intervalos de confianza
p-hacking o dragado de datos
Ejemplo: Realizar una prueba A/B
Inferencia bayesiana
Para saber más
8. Descenso de gradiente
La idea tras el descenso de gradiente
Estimar el gradiente
Utilizar el gradiente
Elegir el tamaño de paso adecuado
Utilizar descenso de gradiente para ajustar modelos
Descenso de gradiente en minilotes y estocástico
Para saber más
9. Obtener datos
stdin y stdout
Leer archivos
Raspado web
Utilizar API
Ejemplo: Utilizar las API de Twitter
Para saber más
10. Trabajar con datos
Explorar los datos
Utilizar NamedTuples
Clases de datos
Limpiar y preparar datos
Manipular datos
Redimensionar
Un inciso: tqdm
Reducción de dimensionalidad
Para saber más
11. Machine learning (aprendizaje automático)
Modelos
¿Qué es el machine learning?
Sobreajuste y subajuste
Exactitud
El término medio entre sesgo y varianza
Extracción y selección de características
Para saber más
12. k vecinos más cercanos
El modelo
Ejemplo: el conjunto de datos iris
La maldición de la dimensionalidad
Para saber más
13. Naive Bayes
Un filtro de spam realmente tonto
Un filtro de spam más sofisticado
Implementación
A probar nuestro modelo
Utilizar nuestro modelo
Para saber más
14. Regresión lineal simple
El modelo
Utilizar descenso de gradiente
Estimación por máxima verosimilitud
Para saber más
15. Regresión múltiple
El modelo
Otros supuestos del modelo de mínimos cuadrados
Ajustar el modelo
Interpretar el modelo
Bondad de ajuste
Digresión: el bootstrap
Errores estándares de coeficientes de regresión
Regularización
Para saber más
16. Regresión logística
El problema
La función logística
Aplicar el modelo
Bondad de ajuste
Máquinas de vectores de soporte
Para saber más
17. Árboles de decisión
¿Qué es un árbol de decisión?
Entropía
La entropía de una partición
Crear un árbol de decisión
Ahora, a combinarlo todo
Bosques aleatorios
Para saber más
18. Redes neuronales
Perceptrones
Redes neuronales prealimentadas
Retropropagación
Ejemplo: Fizz Buzz
Para saber más
19. Deep learning (aprendizaje profundo)
El tensor
La capa de abstracción
La capa lineal
Redes neuronales como una secuencia de capas
Pérdida y optimización
Ejemplo: XOR revisada
Otras funciones de activación
Ejemplo: FizzBuzz revisado
Funciones softmax y entropía cruzada
Ejemplo: MNIST
Guardar y cargar modelos
Para saber más
20. Agrupamiento (clustering)
La idea
El modelo
Ejemplo: Encuentros
Eligiendo k
Ejemplo: agrupando colores
Agrupamiento jerárquico de abajo a arriba
Para saber más
21. Procesamiento del lenguaje natural
Nubes de palabras
Modelos de lenguaje n-Gram
Gramáticas
Un inciso: muestreo de Gibbs
Modelos de temas
Vectores de palabras
Redes neuronales recurrentes
Ejemplo: utilizar una RNN a nivel de carácter
Para saber más
22. Análisis de redes
Centralidad de intermediación
Centralidad de vector propio
Grafos dirigidos y PageRank
Para saber más
23. Sistemas recomendadores
Método manual
Recomendar lo que es popular
Filtrado colaborativo basado en usuarios
Filtrado colaborativo basado en artículos
Factorización de matrices
Para saber más
24. Bases de datos y SQL
CREATE TABLE e INSERT
UPDATE
DELETE
SELECT
GROUP BY
ORDER BY
JOIN373
Subconsultas
Índices
Optimización de consultas
NoSQL
Para saber más
25. MapReduce
Ejemplo: Recuento de palabras
¿Por qué MapReduce?
MapReduce, más general
Ejemplo: Analizar actualizaciones de estado
Ejemplo: Multiplicación de matrices
Un inciso: Combinadores
Para saber más
26. La ética de los datos
¿Qué es la ética de los datos?
No, ahora en serio, ¿qué es la ética de datos?
¿Debo preocuparme de la ética de los datos?
Crear productos de datos de mala calidad
Compromiso entre precisión e imparcialidad
Colaboración
Capacidad de interpretación
Recomendaciones
Datos sesgados
Protección de datos
En resumen
Para saber más
27. Sigamos haciendo ciencia de datos
IPython
Matemáticas
No desde cero
Encontrar datos
Haga ciencia de datos
Índice alfabético
Para aprender de verdad ciencia de datos, no solamente es necesario dominar las herramientas (librerías de ciencia de datos, frameworks, módulos y kits de herramientas), sino también conviene comprender las ideas y principios subyacentes. Actualizada para Python 3.6, esta segunda edición de Ciencia de datos desde cero muestra cómo funcionan estas herramientas y algoritmos implementándolos desde el principio.
Si ya tiene aptitudes para las matemáticas y ciertas habilidades de programación, el autor, Joel Grus, le ayudará a familiarizarse con las mates y las estadísticas, que son el núcleo de la ciencia de datos, y con las habilidades informáticas necesarias para iniciarse como científico de datos. Repleto de nueva información sobre deep learning (aprendizaje profundo), estadísticas y procesamiento del lenguaje natural, este libro actualizado le muestra cómo sacar lo mejor de la sobreabundancia de datos que actualmente nos rodea.
Joel Grus es ingeniero investigador en el Allen Institute for AI. Anteriormente trabajó como ingeniero de software en Google y como científico de datos en varias 'startups'. Vive en Seattle, donde habitualmente asiste a 'podcasts' sobre ciencia de datos. Tiene un blog que actualiza ocasionalmente en joelgrus.com, pero se pasa el día tuiteando en @joelgrus.