Download Introducción al Curso - Gráficas estadística y minería de datos con
Document related concepts
no text concepts found
Transcript
Introducción al Curso Gráficas estadı́stica y minerı́a de datos con python Miguel Cárdenas Montes Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es 22-26 de Abril de 2013 M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 1 / 17 Tabla de Contenidos 1 Objectivos 2 Introducción M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 2 / 17 Objectivos Conocer algunos paquetes cientı́ficos básicos en python. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 3 / 17 Introducción M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 4 / 17 Lo que los cientı́ficos necesitan Obtener datos de simulaciones y experimentos. Manipular y procesar los datos. Visualizar resultados ... para tratar de entenderlos. Comunicar los resultados: producir publicaciones y presentaciones con figuras informativas, análisis estadı́stico preciso, minerı́a de datos. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 5 / 17 Ladrillos Existentes Python: lenguaje genérico, y moderno, que incluye: tipos de datos, colecciones, un gran número de librerı́as y de módulos especializados. IPython: una shell avanzada, http://ipython.scipy.org/moin/ Numpy: proporciona arrays numéricos y rutinas para manipularlos, http://www.numpy.org/ Scipy: rutinas de alto nivel para manejo de datos, optimización, regresión, interpolación, estadı́stica http://www.scipy.org/ M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 6 / 17 Por qué Python para el análisis de datos Es fácil enamorarse de Python. Python puede ser usado para la creación (muy rápida) de códigos (scripts). Entre los lenguajes interpretados, Python se ha distinguido por una larga actividad en computación cientı́fica. Python puede ser considerado como el competidor de código abierto de otros lenguajes de programación (comerciales y públicos) como: R, MATLAB, SAS, Stata, etc. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 7 / 17 Python como pegamento Parte del éxito de Python como plataforma cientı́fica es que es fácil integrarlo con otros lenguajes: C, C++, y FORTRAN. No solo permite la ejecución de códigos escritos en otros lenguajes, sino que además permite, de manera eficiente, la manipulación de cadenas de texto, formar código fuente con estas cadenas de texto, compilar y ejecutar el código fuente, y capturar información de salida de la ejecución. ¡Python como pegamento! M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 8 / 17 Librerı́as esenciales de Python NumPy pandas matplotlib IPython SciPy scikit.learn M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 9 / 17 SciPy SciPy es una colección de paquetes que cubren problemas tı́picos en computación cientı́fica. Incluye: scipy.integrate: integración numérica y resolver ecuaciones diferenciales scipy.linalg: subrutinas de álgebra lineal y descomposición de matrices. scipy.optimize: optimizadores y algoritmos para la búsqueda de raı́ces. scipy.signal: herramientas de procesamiento de señales. scipy.sparse: manejo de matrices dispersas. scipy.special: funciones especiales como: gamma, polinomios de Legendre, etc. scipy.stats: estadı́stica scipy.weave: herramienta para el uso de código C++ inline. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 10 / 17 IPython IPython es un entorno robusto para computación interactiva. Está diseñado para acelerar la escritura y la depuración de código Python. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 11 / 17 matplotlib matplotlib es la librerı́a de Python más popular para producir gráficas (especialmente en 2D) Es especialmente útil para la creación de gráficas para publicaciones y presentaciones. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 12 / 17 NumPy NumPy, Numerical Python, es el paquete esencial para computación cientı́fica en Python. Proporciona: Manejo eficiente de arrays multidimensionales. Funciones para ejecutar cálculos con y entre arrays. Herramientas para leer y escribir datos basados en arrays. Operaciones de álgebra lineal, transformada de Fourier, generación de números aleatorios. Herramientas para integrar y conectar con códigos: C, C++, y Fortran. Más allá de su capacidad para el procemiento de arrays, su objetivo fundamental es el de servir de contenedor de datos. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 13 / 17 pandas Pandas proporciona estructura de datos y funciones diseñadas para ayudar en el trabajo con datos estructurados. Hace más productivo el trabajo con python. El objetivo primordial es el manejo de datos tabulados y en columnas con o sin etiquetas. Panda combina las capacidades de NumPy con la capacidad de manipulación de hojas de cálculo y bases de datos relacionales. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 14 / 17 Herramientas Cientı́ficas para python Parallel and distributed programming Partial differential equation (PDE) solvers Artificial intelligence and machine learning scikit learn General purpose efficient machine learning and data mining library in Python, for scipy pyem is a tool for Gaussian Mixture Models Neural Network An introduction to neural networks with a simple implementation PyPR A collection of machine learning methods written in Python: Artificial Neural Networks, Gaussian Processes, Gaussian mixture models, and K-means Bayesian Statistics PyMC is a Python module that provides a Markov chain Monte Carlo PyBayes is an object-oriented Python library for recursive Bayesian estimation Biology Brian a simulator for spiking neural networks PySAT Python Seqeuence Analysis Tools PySCeS the Python Simulator for Cellular Systems Epigrass Epidemiological Geo-Referenced Analysis and Simulation System. Simulation and analysis of epidemics over networks Econometrics pyTrix a small set of utilities for economics and econometrics Astronomy AstroPython: Knowledge base for research in astronomy PyFITS: interface to FITS formatted files Pysolar Collection of Python libraries for simulating the irradiation of any point on earth by the sun pywcsgrid2 display astronomical fits images with matplotlib Electromagnetics PyFemax computation of electro-magnetic waves in accelerator cavities Dynamical systems Geosciences Molecular modeling Signal processing Más información en http://www.scipy.org/Topical Software M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 15 / 17 Python for big data DARPA (U.S. Defense Advanced Research Projects Agency) has awarded 3 million (dollar) to software provider Continuum Analytics to help fund the development of Python’s data processing and visualization capabilities for big data jobs. The money will go toward developing new techniques for data analysis and for visually portraying large, multi-dimensional data sets. The work aims to extend beyond the capabilities offered by the NumPy and SciPy Python libraries, which are widely used by programmers for mathematical and scientific calculations, respectively. The work is part of DARPA’s XData research program, a four-year, 100 million effort to give the Defense Department and other U.S. government agencies tools to work with large amounts of sensor data and other forms of big data. M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 16 / 17 Gracias Gracias ¿Preguntas? ¿Más preguntas? M. Cárdenas (CIEMAT) Introducción 22-26 de Abril de 2013 17 / 17