Data Analytics (DA) es un campo fundamental que se dedica a la exploración y el análisis de grandes volúmenes de datos para extraer información valiosa sobre el desempeño empresarial pasado. Este análisis permite a las organizaciones obtener una visión clara de sus operaciones históricas, identificar patrones y tendencias, y utilizar estos conocimientos para guiar la planificación y la toma de decisiones estratégicas futuras.
El curso de Data Analytics que presentamos está diseñado para proporcionar una comprensión profunda de los métodos avanzados centrados en datos. Estos métodos abarcan las tres direcciones principales de la Business Analytics (BA):
-
Análisis Descriptivo: Responde a la pregunta "¿Qué pasó?". Se centra en la interpretación de datos históricos para identificar patrones, tendencias y anomalías. Este tipo de análisis es fundamental para entender el contexto y el desempeño pasado de una organización. Utiliza técnicas como la estadística descriptiva, visualización de datos y la elaboración de informes para transformar datos en información comprensible.
-
Análisis Predictivo: Responde a la pregunta "¿Qué pasará?". Utiliza técnicas estadísticas y de machine learning para hacer predicciones sobre futuros eventos basándose en datos históricos y actuales. Este análisis permite a las organizaciones anticipar tendencias, comportamientos y resultados futuros. Herramientas como modelos de regresión, análisis de series temporales y algoritmos de clasificación son cruciales en esta etapa.
-
Análisis Prescriptivo: Responde a la pregunta "¿Qué debería pasar?". Va un paso más allá del análisis predictivo al no solo prever lo que podría suceder, sino también recomendar acciones específicas que podrían afectar esos resultados futuros. Este análisis utiliza técnicas avanzadas de optimización y simulación para proporcionar recomendaciones sobre la mejor manera de manejar posibles escenarios futuros.
El curso aplica estos métodos a diversos casos de negocios para demostrar cómo se puede extraer valor comercial de los datos. Los estudiantes aprenderán a brindar soporte para la toma de decisiones basada en datos y a implementar principios efectivos de gestión de datos. Los casos de estudio abarcarán una variedad de industrias y situaciones, ofreciendo una perspectiva amplia y aplicada del análisis de datos.
Los participantes adquirirán habilidades prácticas en el uso de herramientas y software de análisis de datos, desarrollando la capacidad de aplicar estos conocimientos en contextos reales. El curso también abordará temas críticos como la calidad de los datos, la ética en el análisis de datos y las mejores prácticas para la visualización de datos, asegurando que los estudiantes no solo puedan realizar análisis precisos, sino también comunicar sus hallazgos de manera efectiva.
Instructor: Ulises Gonzalez (Rizoma, Linkedin)
Nombre de la sesión | Objetivos de aprendizaje |
---|---|
Sesión 1: Introducción a Python | - Comprender los conceptos fundamentales de la analítica de datos. - Familiarizarse con el flujo de trabajo en un proyecto de analítica de datos. |
Sesión 2: Obtención de Datos | - Aprender a obtener y cargar datos desde diversas fuentes (CSV, Excel, SQL, APIs). - Introducción a la biblioteca Pandas y sus estructuras de datos principales (Series y DataFrames). |
Sesión 3: Análisis exploratorio de Datos I | - Realizar análisis exploratorios de datos (EDA) para descubrir patrones, detectar anomalías y verificar supuestos. - Utilizar técnicas de agrupación y agregación de datos. |
Sesión 4: Visualización de Datos | - Conocer las herramientas y bibliotecas para la visualización de datos en Python (Matplotlib, Seaborn). - Crear gráficos básicos y avanzados para representar datos. |
Sesión 5: Evaluación de modelos de pronóstico | - Introducción a los modelos de pronóstico y su aplicación en la analítica de datos. - Entender los conceptos de regresión lineal y su uso en la predicción. |
Sesión 6: Logistic Regression | - Comprender los principios de la regresión logística y su aplicación en la clasificación. - Conocer los árboles de decisión y su uso en problemas de clasificación y regresión. |
Sesión 7: Clustering | - Introducción a las técnicas de clustering (agrupamiento) y su aplicación en la segmentación de datos. - Evaluar la calidad y efectividad de los modelos de clustering. |
Sesión 8: Uso de Tableau | - Familiarizarse con Tableau como herramienta de visualización de datos. - Crear dashboards interactivos y visualizaciones efectivas. |
- Puedes dar una mirada al data analyst roadmap
- Para usar google colaboratoryrequerirás un correo de gmail para acceder. Si no dispones de uno lo puedes crear sin costo aca
- Para usar Anaconda no necesitarás algo adicional ya que es cloud, puedes crear una cuenta acá
- Podrás usar también el notebook de Kaggle, puedes crear una cuenta acá
- Puedes ir familiarizándote con Jupyter Notebook en este archivo
- Codecademy's Python course: Buen material para principiantes, incluidos toneladas de ejercicios en el navegador.
- Dataquest: Utiliza ejercicios interactivos para enseñar a Python en el contexto de la ciencia de datos.
- Google's Python Class: Un poco más avanzado, incluidas horas de videos útiles de conferencias y ejercicios descargables (con soluciones).
- Introduction to Python: Una serie de cuadernos de iPython que hacen un gran trabajo explicando conceptos y estructuras de datos de Core Python.
- Python for Informatics: Un libro muy orientado a principiante, con asociado slides and videos.
- A Crash Course in Python for Scientists: Lea la sección de descripción general para una introducción muy rápida a Python.
- Beginner and intermediate Código de taller: útil para revisión y referencia.
- Python Tutor: Le permite visualizar la ejecución del código Python.
- Bienvenida a la formación
- Resumen del curso(presentación)
- Introducción a Data Analytics ([lectura](bibliografia/Sesion 1/Python Data Analitics -fragmento.pdf))
- Tipos de datos(lectura)
- Dispones de las siguientes fuentes de datos públicos si deseas practicar fuentes de datos publicos
Asignación:
- Leer Introducción a la programación y al análisis de datos con Python
- Leer la ruta de Data analytics
- Desarrollar Laboratorio de la Sesión 1 Ejercicios
- Puedes revisar la solución al laboratorio acá: Laboratorio de la Sesión 1 con solución
- (Opcional) Aprende Git y GitHub - Curso desde Cero, o leer las secciones 1.1 a 2.2 de Pro Git.
Recursos Adicionales:
- Si deseas continuar aprendiendo python, puedes utilizar los siguientes recursos disponibles:
- Introduction to Pythonhace un gran trabajo explicando Python Essentials e incluye toneladas de código de ejemplo.
- Si te gusta aprender de un libro, Python for Informatics Tiene capítulos útiles sobre cadenas, listas y diccionarios.
- Si prefiere ejercicios interactivos, pruebe estas lecciones de Codecademy: "Python listas y diccionarios" y "un día en el supermercado".
- Si tiene más tiempo, pruebe las misiones 2 y 3 de DataQuest's Learning Python curso.
- Si ya ha dominado estos temas y quiere más desafío, intente resolver Python Challenge Número 1 (decodificando un mensaje)
- Para darle un marco para pensar en sus potenciales proyectos, puedes mirar What is machine learning, and how does it work? (10 minutes). (Este es el IPython notebook shown en el video.) Alternativamente, lea A Visual Introduction to Machine Learning, que se centra en un modelo de aprendizaje automático específico llamado árboles de decisión.
- Want to understand Python's comprehensions? Think in Excel or SQL Puede ser útil si todavía está confundido por las comprensiones de la lista.
- My code isn't working es un gran diagrama de flujo que explica cómo depurar los errores de Python.
- PEP 8 es la guía de estilo "clásica" de Python, y vale la pena leer si desea escribir un código legible que sea consistente con el resto de la comunidad de Python.
- Si quieres entender a Python en un nivel más profundo, Ned Batchelder's Loop Like A Native y Python Names and Valuesson excelentes presentaciones.
¿Quieres ir más allá de lo aprendido?
Podrías aprender Git y Markdown que son herramientas valiosas para la analítica de datos por varias razones como:
Git
- Control de Versiones: Git permite gestionar cambios en el código y los datos a lo largo del tiempo. Esto es esencial en proyectos de análisis de datos, donde se realizan múltiples iteraciones y ajustes en los scripts y datasets.
- Colaboración: Git facilita la colaboración entre equipos, permitiendo que múltiples analistas trabajen en el mismo proyecto sin conflictos. Cada miembro puede hacer cambios en su propia rama y luego fusionar los resultados.
- Rastreo de Historial: Con Git, puedes rastrear quién hizo qué cambios y cuándo. Esto es crucial para auditar y entender cómo y por qué evolucionó un análisis específico.
- Gestión de Proyectos: Git integra herramientas para gestionar proyectos de datos, como issues y pull requests, que ayudan a organizar y revisar el trabajo.
Markdown
- Documentación Clara: Markdown permite crear documentación clara y estructurada, que es fácil de leer y escribir. Documentar el código y los análisis es fundamental para asegurar que los resultados sean reproducibles y comprensibles.
- Reportes Dinámicos: Herramientas como Jupyter Notebooks utilizan Markdown para combinar texto, código y visualizaciones en un solo documento. Esto facilita la creación de reportes dinámicos que muestran tanto el proceso como los resultados del análisis.
- Compatibilidad y Portabilidad: Markdown es un formato ligero y ampliamente compatible que puede ser convertido a varios formatos (HTML, PDF, etc.), lo que facilita compartir y publicar resultados.
Integración Práctica
- Jupyter Notebooks: En estos entornos, el conocimiento de Git y Markdown es crucial para manejar notebooks y colaborar eficientemente. Git gestiona el versionado y la colaboración, mientras que Markdown documenta y explica los análisis.
- Proyectos Reproducibles: Con Git para el control de versiones y Markdown para la documentación, los proyectos de analítica de datos se vuelven más reproducibles y fáciles de entender para otros analistas o stakeholders.
- Comunicación de Resultados: Markdown ayuda a comunicar los resultados de forma clara y visualmente atractiva, lo cual es esencial para presentar hallazgos a equipos no técnicos o directivos.
Recursos Git y Markdown:
- Pro Git es un excelente libro para aprender Git lea los dos primeros capítulos para obtener una comprensión más profunda del control de versiones y los comando básicos.
- Si quieres practicar mucho Git y aprender muchos más comandos), Git Immersion
- Si quieres entender cómo contribuir en GitHub, primero tienes que entender forks and pull requests.
- GitRef es mi guía de referencia favorita para los comandos Git, y Git quick reference for beginners es una guía más corta con comandos agrupados por flujo de trabajo
- Cracking the Code to GitHub's Growth explicaPorQuéGithubEsTanPopularEntreLosDesarrolladores
- Markdown Cheatsheet proporcionaUnConjuntoExhaustivoDeEjemplosDeMarkdownConExplicacionesConcisasGithub'sMastering MarkdownesUnaGuíaMásSimpleYAtractiva,PeroEsMenosIntegral
Recursos de línea de comandos:
- Si quieres profundizar mucho en la línea de comando, Data Science at the Command Line es un gran libro.El companion website Proporciona instrucciones de instalación para una "caja de herramientas de ciencia de datos" (una máquina virtual con muchas más herramientas de línea de comandos), así como una larga guía de referencia para las herramientas de línea de comandos populares.
- Si desea hacer más en la línea de comando con archivos CSV, pruebe csvkit, que se puede instalar a través de
pip
.
- Obtención de datos (slides)
- Iniciación con Pandas (slides)
Asignación:
- Leer Getting started with pandas
- Leer la documentación de pandas
- Desarrollar el Laboratorio de la Sesión 2
- La solución del laboratorio está a continuación:Laboratorio de la Sesión 2 Soluciones
Recursos:
- Want to understand Python's comprehensions? Think in Excel or SQL Puede ser útil si todavía está confundido por las comprensiones de la lista.
- My code isn't working es un gran diagrama de flujo que explica cómo depurar los errores de Python.
- PEP 8 es la guía de estilo "clásica" de Python, y vale la pena leer si desea escribir un código legible que sea consistente con el resto de la comunidad de Python.
- Si quieres entender a Python en un nivel más profundo, Ned Batchelder's Loop Like A Nativey Python Names and Valuesson excelentes presentaciones.
- Pandas (code):
- Ejercicio de preguntas del proyecto
Recursos adicionales:
-
Browsing or searching the Pandas API Reference es una excelente manera de localizar una función incluso si no sabe su nombre exacto.
-
What I do when I get a new data set as told through tweets es una mirada divertida (pero esclarecedora) al proceso de análisis de datos exploratorios.
-
Recursos API: Este guión de Python para query the U.S. Census API fue creado por un ex alumno de DA.Es un poco más complicado que el ejemplo que usamos en la clase, está muy bien comentado y puede proporcionar un marco útil para escribir su propio código para consultar las API.
-
Mashape y ApigeePermitirle explorar toneladas de diferentes API.Alternativamente, un Python API wrapper está disponible para muchas API populares.
-
the Data Science Toolkit es una colección de API basadas en la ubicación y relacionadas con el texto.
-
API Integration in Python Proporciona una introducción muy legible a las API REST.
-
Microsoft's Face Detection API, que poderesHow-Old.net, es un gran ejemplo de cómo se puede aprovechar una API de aprendizaje automático para producir una aplicación web convincente.
¿Quieres ir más allá de lo aprendido?
Pandas AI es una mejora de la librería de Pandas, que ha sido combinada con la tecnología de OpenAI, con el resultado de pode ahorrarnos tiempo en tener que seleccionar los encabezados, franjas y demás. Además de eso, también puede hacer cosas que le pidamos, en relación a los csv o dataframes, que le indiquemos. Puedes obtener información si deseas llevar al siguiente nivel:
- Análisis de datos exploratorios (slides)
- Parte 2 del análisis de datos exploratorios con pandas(code)
Asignación:
- Leer Preparing Data for EDA
- Paso a paso de un análisis exploratorio de datos
- Desarrollar Laboratorio de la Sesión 3 parte 1 - API
- Desarrollar Laboratorio de la Sesión 3 parte 2
- Desarrollar Laboratorio EDA 1
- Desarrollar Laboratorio EDA 2
- La solución al laboratorio 3 lo encuentras aca:
- Leer How Software in Half of NYC Cabs Generates $5.2 Million a Year in Extra Tips Para un excelente ejemplo de análisis de datos exploratorios.
- Leer Anscombe's Quartet, and Why Summary Statistics Don't Tell the Whole Story Para un ejemplo clásico de por qué la visualización es útil.
Recursos:
- Para obtener más pandas, lea esto three-part tutorial, O revise estos dos cuadernos excelentes (pero largos) en Pandas: introduction and data wrangling.
- Si quieres profundizar en los pandas (y numpy), lee el libro Python for Data Analysis,Escrito por el Creador de Pandas.
- Este cuaderno demuestra los diferentes tipos de joins in Pandas, para cuando necesite descubrir cómo fusionar dos marcos de datos.
- Este es un buen tutorial breve sobre pivot tables en pandas.
Recursos adicionales:
- Para trabajar con datos geoespaciales en Python, GeoPandas parece prometedor.Este tutorial Utiliza Geopandas (y Scikit-Learn) para construir un "mapa callejero lingüístico" de Singapur.
- Browsing or searching the Pandas API Reference es una excelente manera de localizar una función incluso si no sabe su nombre exacto.
- What I do when I get a new data set as told through tweets es una mirada divertida (pero esclarecedora) al proceso de análisis de datos exploratorios.
- Leer How Software in Half of NYC Cabs Generates $5.2 Million a Year in Extra Tips Para un excelente ejemplo de análisis de datos exploratorios.
- Laboratorio de Visualización
- Visualización con pandas y matplotlib (notebook)
Asignación:
- Puedes desarrollar el Laboratorio de Visualización Ejercicios
- Si deseas validar la solución aca estan las soluciones: Laboratorio de Visualización Soluciones
- Desarrollar el 05_Laboratorio_de_Visualización (Asignación)
- Obtén inspiración desde esta galería
Recursos:
- Mirar Look at Your Data (18 minutos) Para un excelente ejemplo de por qué la visualización es útil para comprender sus datos.
- Dispones de más detalles de visualización en este notebook o el visualization page De la documentación oficial de Pandas.
- Para aprender a personalizar aún más sus lienzos, navegue por este notebook on matplotlib o este similar notebook.
- Leer Overview of Python Visualization Tools Para una comparación útil de matplotlib, pandas, seaborn, ggplot, bokeh, pygal y tramly.
- Para explorar diferentes tipos de visualizaciones y cuándo usarlas, Choosing a Good Chart y The Graphic Continuum son buenas referencias de una página y el interactivo R Graph Catalog tiene prácticas capacidades de filtrado.
- Harvard's Data Science course Incluye una excelente conferencia sobreVisualization Goals, Data Types, and Statistical Graphs (83 minutos), para el cual el slides también están disponibles.
- Leer Anscombe's Quartet, and Why Summary Statistics Don't Tell the Whole Story Para un ejemplo clásico de por qué la visualización es útil.
¿Quieres ir más allá de lo aprendido?
En el mundo actual, la capacidad de interpretar y visualizar datos de manera efectiva se ha convertido en una habilidad esencial para profesionales de diversas disciplinas. Scimago Graphica es una aplicación innovadora que ha surgido como una herramienta poderosa para satisfacer esta necesidad. Diseñada para transformar datos complejos en visualizaciones intuitivas y significativas. Aplicaciones como Scimago Graphica, Datawraper o Graphex no sólo facilitan el análisis de datos, sino que también mejoran la comunicación de información crucial.
¿Qué son estás aplicaciones?
Son herramientas low-code de visualización de datos avanzada que permite a los usuarios crear gráficos interactivos y dinámicos de manera rápida y sencilla. Con un enfoque en la accesibilidad y la facilidad de uso, esta herramienta está diseñada para ser utilizada por una amplia variedad de profesionales, desde científicos e investigadores hasta analistas de negocios y educadores.
Motivación para su uso
-
Simplicidad y Potencia en un Solo Lugar: Combinan una interfaz de usuario intuitiva con capacidades robustas de análisis y visualización. No se requiere ser un experto en programación o en software de análisis de datos para comenzar a crear visualizaciones impactantes.
-
Interactividad y Dinamismo: Las visualizaciones creadas son interactivas, lo que permite a los usuarios explorar los datos en profundidad y descubrir patrones y tendencias ocultas. Esta característica es especialmente valiosa para presentaciones y reportes, donde la claridad y la capacidad de respuesta son cruciales.
-
Colaboración Efectiva: En un entorno cada vez más colaborativo, permiten compartir fácilmente visualizaciones y proyectos con colegas y equipos, facilitando la colaboración y la toma de decisiones basada en datos.
-
Aplicaciones Multidisciplinarias: Desde la investigación académica hasta el análisis de mercado, pasando por la educación y la gestión de proyectos, Son herramientas versátiles que pueden adaptarse a las necesidades de diversos campos. Esto las convierte en una inversión valiosa para cualquier profesional que trabaje con datos.
-
Acceso a Recursos y Soporte: ofrecen una variedad de recursos, incluyendo tutoriales y soporte técnico, para ayudar a los usuarios a maximizar su experiencia y aprovechar al máximo las capacidades de la herramienta.
Herramientas:
-
Ejercicio de "aprendizaje humano":
- Iris dataset Organizado por el repositorio de aprendizaje automático de UCI
- Iris photo
- Evaluación de modelos de pronósticos
- Regresión Lineal con Python y scikit-learn
-
Introducción al aprendizaje automático (slides)
-
Ejercicio de aprendizaje automático(article)
-
Ejemplo de ingeniería de características: Predicting User Engagement in Corporate Collaboration Network
Asignación:
- Leer Data Manipulation and visualization in python
- Desarrollar el 05_Laboratorio_de_Visualización (Asignación)
- Obtén inspiración desde esta galería
Recursos de aprendizaje automático:
- Para un resumen muy rápido de los puntos clave sobre el aprendizaje automático, mire What is machine learning, and how does it work? (10 minutos) o leer el associated notebook.
- Para una introducción más profunda al aprendizaje automático, lea la Sección 2.1 (14 páginas) del excelente libro de Hastie y Tibshirani, An Introduction to Statistical Learning. (¡Es una descarga gratuita de PDF!)
- *La Learning Paradigms Video (13 minutos) de Caltech's Learning From Data course Proporciona una buena comparación del aprendizaje supervisado versus no supervisado, así como una introducción al "aprendizaje de refuerzo".
- Real-World Active Learning es una introducción legible y exhaustiva al "aprendizaje activo", una variación del aprendizaje automático en la que los humanos etiquetan solo las observaciones más "importantes".
- Para obtener una vista previa de parte del contenido de aprendizaje automático que cubriremos durante el curso, lea Sebastian Raschka's overview of the supervised learning process.
- Data Science, Machine Learning, and Statistics: What is in a Name? Discute las diferencias entre estos (y otros) términos.
- The Emoji Translation Projectes una aplicación realmente divertida del aprendizaje automático.
- Busque elcharacteristics of your zip code, y luego lee sobre el 67 distinct segments en detalle.
Recursos de cuaderno de iPython
-
Para un resumen de la introducción del cuaderno de iPython (y una vista previa de Scikit-Learn), mire scikit-learn and the IPython Notebook (15 minutos) o leer elassociated notebook. *Si desea aprender el cuaderno de iPython, el oficial Notebook tutorials Son útiles. *Esta Reddit discussion Compara las fortalezas relativas del cuaderno de Ipython y Spyder.
-
Ejercicio de aprendizaje automático(article)
-
Regresión lineal (notebook)
- Capital Bikeshare dataset used in a Kaggle competition
- Data dictionary
-
Ejemplo de ingeniería de características: Predicting User Engagement in Corporate Collaboration Network
Recursos de regresión lineal
- Para ir mucho más en profundidad sobre la regresión lineal, lea el Capítulo 3 de An Introduction to Statistical Learning.Alternativamente, mira elrelated videos o leer mi quick reference guide a los puntos clave en ese capítulo.
- Estaintroduction to linear regression es más detallado y matemáticamente minucioso, e incluye muchos buenos consejos.
- Esta es una publicación relativamente rápida en el assumptions of linear regression. *Setosa tiene un interactive visualization of regresión lineal.
- Para una breve introducción a los intervalos de confianza, las pruebas de hipótesis, los valores P y el R-cuadrado, así como una comparación entre el código de Scikit-Learn y Statsmodels code, leer mi DAT7 lesson on linear regression.
- Aquí hay una explicación útil de confidence intervals de Quora.
- Hypothesis Testing: The Basics proporciona una buena visión general del tema, y la charla de John Rauser en Statistics Without the Agonizing Pain (12 minutos) da una gran explicación de cómo se rechaza la hipótesis nula.
- A principios de este año, una importante revista científica prohibió el uso de valores P:
- Scientific American tiene un buen summary of the ban.
- Esta response A la prohibición de la naturaleza argumenta que "las decisiones que se toman anteriormente en el análisis de datos tienen un impacto mucho mayor en los resultados".
- Andrew Gelman tiene un legible paperen el que argumenta que "es fácil encontrar una comparación P <.05 incluso si no está sucediendo nada, si miras lo suficiente".
- Science Isn't Broken iIncluye una herramienta ordenada que le permite "P-Hack" su camino hacia los resultados "estadísticamente significativos".
- Accurately Measuring Model Prediction Error Compara R-cuadrado ajustado, AIC y BIC, división de tren/prueba y validación cruzada.
- Sección 3.3.1 de An Introduction to Statistical Learning (4 pages)Tiene una gran explicación de la codificación ficticia para características categóricas.
- Regresión logística ([notebook] (notebooks/06_logistic_regression.ipynb)
- Confusion Matrix ([notebook] (notebooks/06_Metricas_matriz_confusion.ipynb)
- Árboles de decisión (notebook)
Tarea:
- Si aún no se siente cómodo con toda la terminología de la matriz de confusión, mire los videos de Rahul Patwari en [Sensibilidad y especificidad intuitiva] (https://www.youtube.com/watch?v=U4_3fditnwg) (9 minutos) y [[9 minutos) y [[9 minutos) y [[La compensación entre sensibilidad y especificidad] (https://www.youtube.com/watch?v=vtydyggeqyo) (13 minutos).
- Asignación de video/lectura en [curvas ROC y AUC] (tarea/13_roc_auc.md)
- Asignación de video/lectura en [Validación cruzada] (tarea/13_cross_validation.md)
Recursos de regresión logística:
- Para profundizar en la regresión logística, lea las primeras tres secciones del Capítulo 4 de An Introduction to Statistical Learning,O mira el first three videos (30 minutos) de ese capítulo.
- Para una explicación matemática de la regresión logística, mire los primeros siete videos (71 minutos) de la semana 3 de Andrew Ng's machine learning course, o leer el related lecture notes compilado por un estudiante.
- Para obtener más información sobre la interpretación de los coeficientes de regresión logística, lea este excelente guidepor el idre de UCLA y estos lecture notes de la Universidad de Nuevo México.
- TLa documentación de Scikit-Learn tiene una buena explanation de lo que significa para una probabilidad prevista para ser calibrada.
- Supervised learning superstitions cheat sheetes una muy buena comparación de cuatro clasificadores que cubrimos en el curso (regresión logística, árboles de decisión, KNN, Naive Bayes) y un clasificador que no cubrimos (Máquinas de vectores de soporte).
Recursos de matriz de confusión:
-
Mi simple guide to confusion matrix terminology Puede ser útil para usted como referencia. *Esta publicación de blog sobre Amazon Machine Learning Contiene un ordenado graphic Mostrar cómo el umbral de clasificación afecta diferentes métricas de evaluación.
-
Este cuaderno (de otro curso de datos) explicas how to calculate "expected value" fROM una matriz de confusión tratándola como una matriz de costo-beneficio.
-
Árboles de decisión (notebook)
-
Ejercicio con los datos de Bikeshare de Capital(notebook, data, data dictionary)
Tarea:
- Lea la sección "Sabiduría de las multitudes" de la publicación de Mlwave en Human Ensemble Learning.
- Optional: Leer el resumen de Do We Need Hundreds of Classifiers to Solve Real World Classification Problems?, aS como Kaggle CTO Ben Namner's comment sobre el documento, prestando atención a las menciones de "bosques aleatorios".
Recursos:
- La documentación de Scikit-Learn en decision trees Incluye una buena descripción de los árboles, así como consejos para el uso adecuado.
- Para una introducción más exhaustiva a los árboles de decisión, lea la Sección 4.3 (23 páginas) de Introduction to Data Mining. (El Capítulo 4 está disponible como descarga gratuita).
- Si quieres profundizar en los diferentes algoritmos de árbol de decisión, este mazo de diapositivas contiene A Brief History of Classification and Regression Trees.
- The Science of Singing Along Contiene un árbol de regresión ordenado (página 136) para predecir el porcentaje de una audiencia en un lugar de música que cantará junto con una canción pop.
- Los árboles de decisión son comunes en el campo de la medicina para el diagnóstico diferencial, como este árbol de clasificación para identifying psychosis.
- Evaluación de modelos (notebook)
- K-Near más vecinos y scikit-learn ([notebook] (notebooks/07_knn_sklearn.ipynb))
- Explorando la compensación de varianza de sesgo ([notebook] (notebooks/07_clustering.ipynb))
Asignación:
- Lea la (Introducción a la reproducibilidad)
- Lea la guía de Jeff Leek para crear un análisis reproducible, y vea este video relacionado Video de Informe de Colbert (8 minutos).
RECURSOS KNN
- Para un resumen de los puntos clave sobre Knn y Scikit-Learn, mira Getting started in scikit-learn with the famous iris dataset (15 minutos) y Training a machine learning model with scikit-learn (20 minutes).
- KNN soporta distance metrics aparte de la distancia euclidiana, como Mahalanobis distance, cual takes the scale of the data into account.
- A Detailed Introduction to KNN es un poco denso, pero proporciona una introducción más exhaustiva a KNN y sus aplicaciones.
- Esta conferencia en Image Classification sCómo se podría utilizar cómo se podría usar KNN para detectar imágenes similares, y también toca temas que cubriremos en clases futuras (ajuste de hiperparámetro y validación cruzada).
- Algunas aplicaciones para las cuales KNN es muy adecuada son object recognition, satellite image enhancement, document categorization,y gene expression analysis.
Recursos Seaborn:
- Para comenzar con Seaborn para la visualización, el sitio web oficial tiene una serie de tutoriales detallados y un example gallery.
- Data visualization with Seaborn es un recorrido rápido por algunos de los tipos populares de parcelas marinas.
- Visualizing Google Forms Data with Seaborn y How to Create NBA Shot Charts in Python son buenos ejemplos de uso de marinas sobre datos del mundo real.
Recursos de Clustering:
- Para una introducción muy exhaustiva a la agrupación, lea el Capítulo 8 (69 páginas) de Introduction to Data Mining (Disponible como descarga gratuita), o navegar a través de las diapositivas del Capítulo 8.
- Guía del usuario de Scikit-Learn compara muchos diferentestypes of clustering.
- EstaPowerPoint presentation De la clase de minería de datos de Columbia proporciona una buena introducción a la agrupación, incluida la agrupación jerárquica y las métricas de distancia alternativa.
- Una introducción al aprendizaje estadístico tiene videos útiles sobreK-means clustering(17 minutos) y hierarchical clustering (15 minutos).
- Esta es una excelente visualización interactiva de hierarchical clustering.
- Esta es una buena explicación animada demean shift clustering.
- La K-modes algorithm Se puede utilizar para agrupar conjuntos de datos de características categóricas sin convertirlos en valores numéricos.Aquí hay una [implementación de Python] (https://github.com/nicodv/kmodes).
- Aquí hay algunos ejemplos divertidos de agrupación: A Statistical Analysis of the Work of Bob Ross (with data and Python code), How a Math Genius Hacked OkCupid to Find True Love, and characteristics of your zip code.
-
Reproducibilidad
- Discuta las lecturas asignadas:introduction, Colbert Report video, cabs article, Tweet, creating a reproducible analysis
- Examples: Classic rock, student project 1, student project 2
-
Discuta la tarea de lectura en el bias-variance tradeoff
-
Evaluación del modelo utilizando la división de trenes/pruebas(notebook)
-
Explorando la documentación de Scikit-Learn: module reference, user guide, Documentación de clase y función
Recursos de evaluación del modelo *Para un resumen de algunos de los puntos clave de la lección de hoy, mira Comparing machine learning models in scikit-learn(27 minutos).
- For Otra explicación del error de entrenamiento versus el error de prueba, la compensación de varianza de sesgo y la división de trenes/pruebas (también conocido como "enfoque de conjunto de validación"), mira el video de Hastie y Tibshirani enestimating prediction error (12 minutos, comenzando a las 2:34).
- El aprendizaje de Caltech de los datos incluye un video fantástico en visualizing bias and variance (15 minutos).
- Random Test/Train Split is Not Always EnoughExplica por qué la división aleatoria de trenes/pruebas puede no ser un procedimiento de evaluación de modelo adecuado si sus datos tienen un elemento de tiempo significativo.
Recursos de reproducibilidad
- What We've Learned About Sharing Our Data Analysis Incluye consejos de BuzzFeed News sobre cómo publicar un análisis reproducible.
- Software development skills for data scientists Discute la importancia de escribir funciones y comentarios de código adecuados (entre otras habilidades), que son muy útiles para crear un análisis reproducible.
- Data science done well looks easy - and that is a big problem for data scientists Explica cómo un análisis reproducible demuestra todo el trabajo que entra en la ciencia de datos adecuada.
Recursos:
- ScikitLearn's machine learning map Puede ayudarlo a elegir el "mejor" modelo para su tarea.
- Choosing a Machine Learning Classifier es una comparación corta y muy legible de varios modelos de clasificación, Classifier comparison es la visualización de Scikit-Learn de los límites de decisión del clasificador, Comparing supervised learning algorithms es una tabla de comparación de modelos que creé, y Supervised learning superstitions cheat sheet is a more thorough comparison (with links to lots of useful resources).
- Machine Learning Done Wrong, Machine Learning Gremlins (31 minutos), Clever Methods of Overfitting, and Common Pitfalls in Machine Learning Todos ofrecen consejos reflexivos sobre cómo evitar errores comunes en el aprendizaje automático.
- Practical machine learning tricks from the KDD 2011 best industry papery Andrew Ng's Advice for applying machine learning Incluya consejos un poco más avanzados que los recursos anteriores.
- An Empirical Comparison of Supervised Learning Algorithms es un trabajo de investigación legible de 2006, que también se presentó como untalk(77 minutos).
- Good Data Management Practices for Data Analysis Resume brevemente los principios de "Datos ordenados".
- Hadley Wickham's paper explica los datos ordenados en detalle e incluye muchos buenos ejemplos.
- Ejemplo de un conjunto de datos ordenado: Bob Ross
- Ejemplos de conjuntos de datos desordenados: NFL ticket prices, airline safety, Jets ticket prices, Chipotle orders
- Si sus compañeros de trabajo tienden a crear hojas de cálculo que son unreadable by computers,pueden beneficiarse de leer estos tips for releasing data in spreadsheets. (Hay algunas sugerencias adicionales en este answer de cruzado validado.)
- Esta GA slide deck Proporciona una breve introducción a las bases de datos y SQL.The Python script De esa lección demuestra consultas básicas de SQL, así como cómo conectarse a una base de datos SQLite de Python y cómo consultarla usando pandas.
- El repositorio de esto SQL Bootcamp Contiene un script SQL extremadamente bien comencionado que es adecuado para caminar por su cuenta.
- Esta GA notebook Proporciona una introducción más corta a las bases de datos y SQL que contrasta útilmente las consultas SQL con la sintaxis PANDAS.
- SQLZOO, Mode Analytics, Khan Academy, Codecademy, Datamonkey, and Code School Todos tienen tutoriales SQL para principiantes en línea que parecen prometedores.Code School también ofrece unn advanced tutorial, aunque no es gratis.
- w3schools Tiene una base de datos de muestra que le permite practicar SQL desde su navegador.Del mismo modo, Kaggle le permite consultar una gran base de datos SQLite de Reddit Comments Uso de su aplicación en línea "Scripts".
- What Every Data Scientist Needs to Know about SQL es una breve serie de publicaciones sobre los conceptos básicos de SQL, y Introduction to SQL for Data Scientists es un artículo con objetivos similares.
- 10 Easy Steps to a Complete Understanding of SQL es un buen artículo para aquellos que tienen alguna experiencia SQL y quieren entenderlo en un nivel más profundo.
- SArtículo de Qlite en Query Planning Explica cómo las consultas SQL "funcionan".
- A Comparison Of Relational Database Management Systems Da los pros y los contras de SQLite, MySQL y PostgreSQL.
- Si desea profundizar en bases de datos y SQL, Stanford tiene una serie muy respetada de 14 mini-courses.
- Blaze es un paquete de Python que le permite usar una sintaxis similar a Pandas para consultar datos que viven en una variedad de sistemas de almacenamiento de datos.
Recursos ROC:
- Rahul Patwari tiene un gran video ROC Curves (12 minutos).
- An introduction to ROC analysis es un artículo muy legible sobre el tema.
- Las curvas ROC se pueden usar en una amplia variedad de aplicaciones, como comparing different feature sets para detectar usuarios fraudulentos de Skype, ycomparing different classifiersen varios conjuntos de datos populares.
Recursos de validación cruzada:
- Para obtener más información sobre la validación cruzada, lea la sección 5.1 de An Introduction to Statistical Learning (11 páginas) o ver los videos relacionados: K-fold and leave-one-out cross-validation (14 minutos), cross-validation the right and wrong ways (10 minutos).
- Si desea comprender las diferentes variaciones de validación cruzada, esto paper Los examina y los compara en detalle.
- Para aprender a usar GridSearchCV and RandomizedSearchCV Para el ajuste de los parámetros, mira How to find the best model parameters in scikit-learn (28 minutos) o lea el associated notebook.
Otros recursos:
- Scikit-Learn tiene una amplia documentación en model evaluation.
- Evaluación contrafactual de modelos de aprendizaje automático (45 minutos) es una excelente charla sobre la forma sofisticada en que Stripe evalúa su modelo de detección de fraude.(Estos son los asociados slides.)
- Visualizar los umbrales de aprendizaje automático para tomar mejores decisiones comerciales dEmonstruye cómo la visualización de la precisión, el retiro y la "tasa de cola" en diferentes umbrales pueden ayudarlo a maximizar el valor comercial de su clasificador.
- Regularización (notebook)
- Regresión: Ridge, RidgeCV, Lasso, LassoCV
- Clasificación: LogisticRegression
- Funciones de ayudante: Pipeline, GridSearchCV
- Expresiones regulares
- Baltimore homicide data
- Regular expressions 101: real-time testing of regular expressions
- Reference guide
- Exercise
Recurso de regularizacións:
- La guía del usuario de Scikit-Learn paraGeneralized Linear Models explica diferentes variaciones de regularización.
- Sección 6.2 de An Introduction to Statistical Learning (14 páginas) introduces both lasso and ridge regression. Or, watch the related videos on ridge regression (13 minutos) and lasso regression (15 minutos).
- Para más detalles sobre la regresión de Lasso, lea Tibshiranioriginal paper.
- Para una explicación matemática de regularización, mire los últimos cuatro videos (30 minutos) de la semana 3 de Andrew Ng'smachine learning course, o leer elrelated lecture notes compilado por un estudiante.
- Esta notebook Del capítulo 7 deBuilding Machine Learning Systems with Python Tiene un buen ejemplo largo de regresión lineal regularizada.
- Hay algunas consideraciones especiales al usar la codificación ficticia para características categóricas con un modelo regularizado.Este Cross Validated Q&A debates si las variables ficticias deben estandarizarse (junto con el resto de las características), y un comentario sobre esto blog post Recomienda que el nivel de referencia no se elimine.
Regular Expressions Resources:
- Google's Python Class includes an excellent introductory lesson on regular expressions (which also has an associated video).
- Python for Informatics has a nice chapter on regular expressions. (If you want to run the examples, you'll need to download mbox.txt and mbox-short.txt.)
- Breaking the Ice with Regular Expressions is an interactive Code School course, though only the first "level" is free.
- If you want to go really deep with regular expressions, RexEgg includes endless articles and tutorials.
- 5 Tools You Didn't Know That Use Regular Expressions demonstrates how regular expressions can be used with Excel, Word, Google Spreadsheets, Google Forms, text editors, and other tools.
- Exploring Expressions of Emotions in GitHub Commit Messages is a fun example of how regular expressions can be used for data analysis, and Emojineering explains how Instagram uses regular expressions to detect emoji in hashtags.
- Advanced scikit-learn (notebook)
- StandardScaler: standardizing features
- Pipeline: chaining steps
- Clustering (slides, notebook)
- K-means: documentation, visualization 1, visualization 2
- DBSCAN: documentation, visualization
recursos de Scikit-Learn:
- Este es un ejemplo más largo de feature scaling En Scikit-Learn, con una discusión adicional de los tipos de escala que puede usar.
- Practical Data Science in Python iS un cuaderno largo y bien escrito que utiliza algunas características avanzadas de Scikit-Learn: tuberías, trazar una curva de aprendizaje y encurtir un modelo.
- Para aprender a usar GridSearchCV and RandomizedSearchCV Para el ajuste de los parámetros, miraHow to find the best model parameters in scikit-learn (28 minutos) o lea elassociated notebook.
- Sebastian Raschka tiene una serie de excelentes recursos para los usuarios de Scikit-Learn, incluido un repositorio detutorials and examples, Una biblioteca de aprendizaje automático tools and extensions, a new book, y un semi-activo blog.
- Scikit-Learn tiene un increíblemente activo mailing list Eso a menudo es mucho más útil que el desbordamiento de la pila para investigar las funciones y hacer preguntas.