Data Science 0 6 4 −2 Herramientas, Lenguajes Y Python 2 −4 0 0.1 0.2 0.3 0.4 0.5 −10 −5 0 5 10 Frequency T Ime Gonzalo Rios
Total Page:16
File Type:pdf, Size:1020Kb
Ground truth 18 DSE-GPC M Observations True SM kernel 6 16 SM estimate (MSE=1.0149) 14 DSE-GPC M estimate (MSE=1.0507) 4 12 10 2 8 Data Science 0 6 4 −2 Herramientas, lenguajes y Python 2 −4 0 0.1 0.2 0.3 0.4 0.5 −10 −5 0 5 10 Frequency T ime Gonzalo Rios Aprendizaje de Máquinas, Inferencia y Señales AMIS Centro de Modelamiento Matemático Grupo de Aprendizaje de Máquinas, infErencia y Señales GAMES Centro de Modelamiento Matemático MA6201 - Computaci´onCient´ıfica Grupo de Aprendizaje de Máquinas, Grupo de Aprendizaje de M´aquinas,infErencia y Se~nales infErencia y Señales GAMES Centro de Modelamiento Matemático Centro de Modelamiento Matem´atico Universidad de Chile Agosto 2017 1/27 Gonzalo Rios GAMESData Science Data Science >Qu´ees Data Science? Data Science es un campo interdisciplinario que aplica t´ecnicas matem´aticas, estad´ısticas y computacionales a diversas ´areas: biolog´ıa, f´ısica, econom´ıa, sicolog´ıa, sociolog´ıa, entre otras. 2/27 Gonzalo Rios Data Science Data Science >Qu´ehace Data Science? Data Science tiene la misi´onde modelar, analizar, entender, visualizar y extraer conocimiento a partir de datos 3/27 Gonzalo Rios Data Science Data Science >Qui´enhace Data Science? Data Scientists son los profesionales de Data Science, que necesitan conocer m´as estad´ıstica que un ingeniero de software, y saber m´as ingenier´ıade software que un estad´ıstico Ref: https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century 4/27 Gonzalo Rios Data Science Data Scientist Valorados en la Industria Privada Google, Microsoft y Facebook contratan Data Scientists Ref: https://www.glassdoor.com 5/27 Gonzalo Rios Data Science Data Scientists Habilidades por Roles Existen diferentes roles relacionados con Data Science 6/27 Gonzalo Rios Data Science Data Scientists Habilidades Interdisciplinarias Un Data Scientist posee conocimientos (y creatividad!) en modelaci´on, visualizaci´on, bases de datos y programaci´on 7/27 Gonzalo Rios Data Science Machine Learning Algoritmos que Aprenden Machine Learning es un ´areacuyo objetivo es desarrollar algoritmos que permitan a las computadoras aprender. 8/27 Gonzalo Rios Data Science Machine Learning Formas de Aprender Una buena forma de aprender Machine Learning es haciendo un curso online, leer un libro y asistir a charlas Pronto empezar´anlos Martes de M´aquina! http://www.coursera.org/ http://mitpress.mit.edu/books/ http://games.cmm.uchile.cl/ 9/27 Gonzalo Rios Data Science Programming Languages >Cu´allenguaje de programaci´onescoger? Data Science necesita el uso de un lenguaje de programaci´on, el problema es como escoger uno entre cientos (o miles)! 10/27 Gonzalo Rios Data Science Programming Languages Historia: 1837 - 1979 En 1837, Charles Babbage dise~n´ola primera m´aquina programable, y fue Ada Lovelace quien public´oen 1843 el primer programa. En 1946 se construy´o ENIAC, el primer computador Turing-completo programable de prop´ositosgenerales. 11/27 Gonzalo Rios Data Science Programming Languages Historia: 1980 - Hoy 12/27 Gonzalo Rios Data Science Programming Languages Paradigmas de Programaci´on Los paradigmas de programaci´on son las diferentes corrientes filos´oficasde programaci´onseg´unla abstracci´onde elementos. 13/27 Gonzalo Rios Data Science Programming Languages Stack Overflow Ranking vs GitHub Ranking Documentaci´on y librer´ıas acelera los tiempos de desarrollo Ref: http://redmonk.com/ 14/27 Gonzalo Rios Data Science Programming Languages Top 10 IEEE Spectrum Ranking - Google Search Evolution Los lenguajes populares tienden a ser m´as robustos, pero las tendencias van cambiando a lo largo del tiempo. Ref: http://spectrum.ieee.org 2016 - http://www.udacity.com/ 15/27 Gonzalo Rios Data Science Programming Languages Eficiencia Computacional Un lenguaje m´as eficiente computacionalmente permite resolver problemas de mayor complejidad, tema fundamental en big data Ref: http://julialang.org/ 16/27 Gonzalo Rios Data Science Programming Languages Velocidad de Ejecuci´onvs Velocidad de Desarrollo Al momento de programar, es importante equilibrar la velocidad de ejecuci´on con la velocidad de programaci´on. 17/27 Gonzalo Rios Data Science Programming Languages Librer´ıaspara Big Data Para poder abarcar problemas de Big Data, es necesario poder contar con librer´ıas especialmente dise~naspara gestionar grandes vol´umenes de datos y obtener una gran velocidad de c´alculosen complejas estructuras de datos. 18/27 Gonzalo Rios Data Science Programming Languages Disponibilidad de librer´ıas Apache Spark: procesamiento de datos a gran escala Python, Java, R Apache Mesos: manejo de recursos computacionales Python, Java, C/C++ Open MPI: computaci´onparalela de alto desempe~no Python, Java, C/C++, R, Fortran, Matlab nVidia CUDA: programaci´onen GPUs Python, Java, C/C++, R Fortran TensorFlow:modelos de machine deep learning Python, C/C++ 19/27 Gonzalo Rios Data Science Programming Languages Python 20/27 Gonzalo Rios Data Science Python Historia Monty Python (1969) Guido van Rossum (1991) Python Software Foundation (2001) Python 2.7.13 (2016) / 3.6.2 (2017) Ref: http://www.python.org 21/27 Gonzalo Rios Data Science Python Filosof´ıa Python reune las caracter´ısticasnecesarias para Data Science, adem´asde ser un buen lenguaje de programaci´onpara uso general Ref: https://www.python.org/dev/peps/pep-0020/ 22/27 Gonzalo Rios Data Science Python Ecosistema de Python Python cuenta con diversas implementaciones, distribuciones, herramientas y gestores de paquetes. Pip: Python Package Index. Anaconda: Python distribution/installer. Conda: Binary Package Manager. Jupyter: Web-Based Interactive Notebook. Django: Framework Web. CPython: C bytecode interpreter. Jython: Java bytecode interpreter. IronPython: .NET bytecode interpreter. PyPy: Just-in-time compiler (RPython to machine code). MicroPython: Microcontroller compiler. 23/27 Gonzalo Rios Data Science Python Glue Language Python es capaz de ejecutar c´odigode otros lenguajes de uso general como C, Fortran y Java, adem´asde ser una alternativa completa a lenguajes cient´ıficos de uso espec´ıfico Cython: ejecutar c´odigoC F2py: ejecutar c´odigoFortran Jep: integrar con Java Rpy2: integrar con R Numpy/Scipy: alternativa Matlab Sympy/SageMath: alternativa a Mathematica 24/27 Gonzalo Rios Data Science Python Data Science con Python Python dispone de un rico ecosistema compuesto de librer´ıas open-source para matem´aticas, estad´ıstica, machine learning y ciencia en general. Ref: http://www.scipy.org 25/27 Gonzalo Rios Data Science Python Aprendiendo Python Una forma muy simple de aprender Python es hacer un curso online, recomiendo revisar www.sololearn.com. En las pr´oximas sesiones del ramo aprenderemos: Programaci´on: Ecosistema, sintaxis, librerias, paradigmas. Manipulaci´on: Numpy, Pandas. Visualizaci´on : Matplotlib, Seaborn, Bokeh. Modelaci´on: Scipy, Scikit-Learn, PyMC3. Eficiencia: Profiling, Compilation, Multiprocessing. 26/27 Gonzalo Rios Data Science Gracias! Los esperamos en las pr´oximassesiones! PD: Bienvenido a la Iglesia Pythoneana de los Programadores de los Ultimos´ C´odigos 27/27 Gonzalo Rios Data Science.