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
[email protected]
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