Introducción a data science, la guía práctica para volverse data scientist

Post on 14-Jul-2015

1,282 views 7 download

transcript

Data Science

Carlos Toxtli HernándezMaestro en Innovación Empresarial y

TecnológicaTPM

psykohack carlos.toxtli.com/url ctoxtl@gmail.com

Tu foto

Presentación

Carlos Toxtli Hernández

15 años de experiencia en TI

Maestro en Innovación Empresarial y

Tecnológica

CV

Esta plática pretende formar científicos de

datos enseñando muchas de las herramientas

empleadas y tutoriales para poner en práctica

cada técnica.

Introducción

Data

Datos: Representación simbólica (numérica,

alfabética, algorítmica, espacial, etc) de un

atributo o variable cuantitativa o cualitativa.

Sólo cuando un conjunto de datos se examina

conjuntamente a la luz de un enfoque,

hipótesis o teoría se puede apreciar la

información contenida en dichos datos.

Science

Ciencia: Conjunto de conocimientos

estructurados sistemáticamente. Conocimiento

obtenido mediante la observación de patrones

regulares, de razonamientos y de

experimentación generando preguntas, se

construyen hipótesis, se deducen principios y

se elaboran leyes y sistemas organizados por

medio de un método científico.

Data Science

Conjunto de prácticas sobre almacenamiento,

gestión y análisis de conjuntos de datos lo

suficientemente grandes que requieren de

computación distribuida y los recursos de

almacenamiento. Su fin último es extraer

conocimiento de los datos.

Algunas de las áreas relacionadas son:

Matemáticas, estadísticas, tecnologías de la

información, proceso de señales, probabilidad,

aprendizaje máquina, aprendizaje estadístico,

programación de computadoras, ingeniería de

datos, reconocimiento de patrones,

visualización, cómputo de alto desempeño,

data warehousing, entre otras.

Data Science

Data Scientist

Alguien que puede obtener, depurar, explorar,

modelar e interpretar los datos.

Data Scientist

En promedio $130,000 MXN al mes

Data Scientist

Suele involucrar conocimientos de uno o más

dominios (por ejemplo finanzas, medicina o

geología).

Debe tomar en cuenta aspectos

computacionales.

Incluye prueba de hipótesis y la validación de

resultados.

Implicaciones de Data Science

Los resultados deben ser confiables.

Suele incluir el aprendizaje automatizado

(machine learning), inteligencia artificial o

algoritmos de descubrimiento de conocimiento

(knowledge discovery).

Implicar la visualización y creación rápida de

prototipos

Implicaciones de Data Science

Big Data

Término que hace referencia a una cantidad de

datos tal que supera la capacidad del software

habitual para ser capturados, gestionados y

procesados en un tiempo razonable. Deben

garantizarse las 3 Vs (volumen, variedad y

velocidad).

Suele involucrar cómputo distribuido en

múltiples servidores.

Implica gestión y procesamiento de datos.

Suele ir más allá de las bases de datos

relacionales y data warehouses.

Mejora el tiempo de ejecución o latencia.

Big Data

Big Data tools

Big Data resourceshttp://www.slideshare.net/carlostoxtli/big-data-

para-principiantes

http://www.ibm.com/developerworks/ssa/data/li

brary/techarticle/dm-1209hadoopbigdata/

http://searchstorage.techtarget.com/guides/Big-

data-tutorial-Everything-you-need-to-know

http://www.lynda.com/Big-Data-training-

tutorials/2061-0.html

Los infaltables

Es importante saber las siguientes tecnologías:

R

Python

Java

Matlab

Octave

C++, entre otros

Radica en mostrar la información suficiente

para que los humanos la podamos

comprender. Se utilizan técnicas visuales para

mostrar sólo los insights que sean relevantes y

sean sencillos de entender y aplicar en la vida

cotidiana.

Small Data

Small Data resources

Forget Big Data, Small Data is the Real

Revolution

What the “Small Data” Revolution Means for

Marketers

In Praise of ‘Small Data': How Targeted

Analytics— Are Transforming Education Today

How To Create Incredible Customer Service

Through The ‘Small Data’ Advantage

High Quality data

Se refiere a los procesos, técnicas, algoritmos

y operaciones encaminados a mejorar la

calidad de los datos existentes en empresas y

organismos.

Evitando tener información duplicada.

La normalización de archivos mejora el análisis

de datos y permite segmentaciones precisas.

Optimizar la captación y la fidelización.

Información focalizada y correcta.

Identificación más rápidamente del usuario

reduciendo los tiempos de espera.

Beneficios de la calidad de datos

Data Quality resources

http://www.ocdqblog.com/home/alternatives-to-

enterprise-data-quality-tools.html

http://searchdatamanagement.techtarget.com/n

ews/2240025847/Buyers-Guide-Choosing-

data-quality-tools-and-software

Behavioral targeting

Consiste en analizar el comportamiento que

sigue un usuario al navegar por ejemplo entre

sitios y detectando patrones de conducta es

posible asociar un perfil al mismo. Es muy

usado para empresas de advertisement.

Behavioral targeting resources

http://adsolutions.yp.com/small-business-

marketing-center/integrated-marketing-

articles/best-behavioral-targeting-tools

http://searchengineland.com/behavioral-

targeting-is-easier-than-you-think-33840

Rama de la inteligencia artificial cuyo objetivo

es desarrollar técnicas que permitan a las

computadoras aprender. Crear programas

capaces de generalizar comportamientos a

partir de una información no estructurada

suministrada en forma de ejemplos.

Machine Learning

Machine Learning resources

http://scikit-

learn.org/stable/tutorial/basic/tutorial.html

http://jmlr.org/mloss/

http://sourceforge.net/directory/science-

engineering/ai/machinelearning/os:mac/freshne

ss:recently-updated/

Reality mining

A través de equipos censados estudia la

interacción de los humanos y detectar patrones

de comportamiento entre los individuos.

Reality mining resources

http://realitycommons.media.mit.edu/

http://www.forbes.com/forbes/2010/0830/e-

gang-mit-sandy-pentland-darpa-sociometers-

mining-reality.html

http://mitpress.mit.edu/books/reality-mining

http://www.sciencechannel.com/video-

topics/gadgets-and-tech/brave-new-world-

reality-mining.htm

Information Extraction (IE)

Creación de conocimiento de datos

estructurados (relational databases, XML) y no

estructurados (text, documents, images). El

conocimiento generado debe estar en un

formato machine-readable y machine-

interpretable para facilitar inferencia. El

resultado debe estar en un formato de formal

knowledge (identifiers o ontologies).

IE resources

http://www.dfki.de/~neumann/esslli04/reader/ov

erview/IJCAI99.pdf

http://www.ecmlpkdd2013.org/wp-

content/uploads/2013/09/Web-Scale-

Information-Extraction.pdf

http://www.isweb.uni-

koblenz.de/files/ssms09/SSMS_Slides/ciravegn

a-IE%20text.pdf

Describe el proceso de automáticamente

buscar en grandes volúmenes de datos para

encontrar patrones que puedan ser

considerados conocimiento. Esta rama engloba

al Data Mining en la etapa de analisis.

Knowledge discovery

Knowledge discovery resources

http://www.tutorialspoint.com/data_mining/dm_

knowledge_discovery.htm

https://www.linkedin.com/pulse/article/2014111

4094203-52688293-tutorials-from-knowledge-

discovery-and-data-mining-2014

Knowledge base

Una Base de Conocimiento es un tipo especial

de base de datos para la gestión del

conocimiento. Provee los medios para la

recolección, organización y recuperación

computarizada de conocimiento. Existen las

comprensibles por máquinas y por humanos.

Knowledge base resources

http://semanticweb.org/wiki/Getting_data_from_

the_Semantic_Web

http://rdflib.github.io/sparqlwrapper/

http://wiki.freebase.com/wiki/Python

https://developers.google.com/freebase/

https://github.com/dbpedia-spotlight/dbpedia-

spotlight/wiki/User's-manual

Data Mining

Intenta descubrir patrones en grandes

volúmenes de conjuntos de datos. Utiliza los

métodos de la inteligencia artificial, aprendizaje

automático, estadística y sistemas de bases de

datos.

Data mining resources

http://www.tutorialspoint.com/data_mining/

http://www.autonlab.org/tutorials/

http://msdn.microsoft.com/en-

us/library/ms167167.aspx

http://www.rdatamining.com/

http://data-mining-tutorials.blogspot.mx/

Ontologies

Las ontologías son la formulación de un

exhaustivo y riguroso esquema conceptual

dentro de uno o varios dominios dados; con la

finalidad de facilitar la comunicación y el

intercambio de información entre diferentes

sistemas y entidades.

Ontology-based IE

Por medio de por lo menos una ontología,

OBIE utiliza métodos para identificar

conceptos, instancias y relaciones entre las

ontologías dando como salida una ontología.

Forma automática de creación de ontologías a

través de sus relaciones entre sus conceptos

para ser usado en lenguaje natural.

Ontology learning (OL)

Semantic Annotation (SA)

Utiliza análisis semántico en la información

machine-understandable y hace uso de

Terminology extraction y entity linking. Esto se

consigue por medio de metadata.

Semantic Annotation resources

https://gate.ac.uk/sale/talks/gate-course-

may10/track-3/module-10-

ontologies/ontologies.pdf

https://gate.ac.uk/tutorials/iswc2014-social-

media-tutorial.html

http://teaching-wiki.sti2.at/uploads/5/55/05_SW-

SemanticAnnotation.pdf

Terminology extraction

Su función principal es extraer los términos

relevantes en el cuerpo de un texto. Esto

ayuda a entender el tema de que se esta

hablando, todo esto gracias a procesadores

lingüísticos que extraen a las palabras o frases

candidatas.

Terminology extraction resources

http://linguistech.ca/MultiTrans_Prism_TermExt

ractor_E_TUTCERTT_I

https://www.airpair.com/nlp/keyword-extraction-

tutorial

http://recremisi.blogspot.mx/p/online-term-

extractors.html

Es el arte y ciencia de recuperar datos

codificados en formatos que ahora son

obsoletos. Se ha dado el caso de recuperar

información en cintas de los 60’s siendo

importante esta área para poder entender la

información almacenada.

Data Archaeology

Data Archaeology resources

https://www.youtube.com/watch?v=Ak9Mudwf0

EU

http://en.wikipedia.org/wiki/Computational_arch

aeology

Tecnologías para publicar datos legibles por

aplicaciones informáticas (máquinas en la

terminología de la Web semántica). Se basa en

la idea de añadir metadatos semánticos y

ontológicos (describen el contenido, el

significado y la relación) se deben proporcionar

de manera formal, para que así sea posible

evaluarlas automáticamente.

Semantic Web

Semantic Web resources

http://www.w3.org/2001/sw/BestPractices/Tutor

ials

http://www.w3.org/People/Ivan/CorePresentatio

ns/SWTutorial/

http://www.linkeddatatools.com/semantic-web-

basics

http://obitko.com/tutorials/ontologies-semantic-

web/

Sentiment analysis

Interpretación de la actitud por medio de un

texto analizado, esto ayuda a medir la

respuesta emocional de los usuarios que han

interactuado.

Sentiment analysis resources

http://brnrd.me/social-sentiment-sentiment-

analysis/

http://www.bitext.com/bitext-api-2/sentiment-

analysis-2.html

https://cloud.google.com/prediction/docs/sentim

ent_analysis

Opinion Extraction

Es parte del análisis de sentimientos enfocado

a dar seguimiento al proceso de recolectar

opiniones. Implica la extracción de una posible

opinión en el cuerpo de un mensaje.

Opinion Extraction resources

http://alaginrc.nict.go.jp/opinion/index_e.html

http://www.cs.uic.edu/~liub/FBS/sentiment-

analysis.html

http://citeseerx.ist.psu.edu/viewdoc/summary?d

oi=10.1.1.130.2832

https://www.textrazor.com/tutorials#properties

Opinion Mining

Extrae el significado de la opinión y se se

puede categorizar respecto a parámetros. Esto

es muy usado para medir su impacto en los

medios sociales y obtener información

relevante que nos indica si un contenido le

gusta o qué no le gusta al usuario.

Opinion Mining references

http://kmandcomputing.blogspot.mx/2008/06/op

inion-mining-with-rapidminer-quick.html

http://www.slideshare.net/KavitaGanesan/opini

on-mining-kavitahyunduk00

http://jmgomezhidalgo.blogspot.mx/2009/04/opi

nion-mining-tutorial-by-bing-liu-at.html

Text Mining

Área multidisciplinaria basada en la

recuperación de información, minería de datos,

aprendizaje automático, estadísticas y la

lingüística computacional. La mayor parte de la

información (más de un 80%) se encuentra

actualmente almacenada como texto. Gran

desarrollo en la minería de textos multilingual.

Text Mining resources

http://www.predictiveanalyticstoday.com/top-

11-free-software-for-text-analysistext-mining-

text-analytics/

http://www.cis.upenn.edu/~ungar/KDD/text-

mining.html

http://sentimentmining.net/weka/

https://www.youtube.com/watch?v=ziBRRStPIt

k

Corpus linguistics

Un corpus lingüístico es un conjunto,

habitualmente muy amplio, de ejemplos reales

de uso de una lengua. Estos ejemplos pueden

ser textos (lo más común) o muestras orales

(generalmente transcritas). Tambien conocido

como corpora.

Corpus linguistics tools

corpus-of-contemporary-american-english

american-corpus

webcorp

spanish-framenet

spanish-oral-corpora

british-national-corpus

spanish-corpora

Corpus linguistics resourceshttp://www-

nlp.stanford.edu/manning/courses/corpcourse.p

s

http://www.york.ac.uk/language/current/resourc

es/corpora/

http://www-01.sil.org/linguistics/etext.html

http://radimrehurek.com/gensim/tutorial.html

https://gate.ac.uk/demos/movies.html#section-

1.2.2.

Rama interdisciplinaria que modela el lenguaje

natural en términos computacionales. Reúne

expertos en lingüística, lenguaje, computer

scientists, inteligencia, matemáticas, lógica,

filosofía, ciencia cognitiva, psicología cognitiva,

psicolingüística, antropólogos, neurociencia,

por mencionar lo más involucrados.

Computational Linguistics

Estudia la comprensión, producción,

adquisición y representación del lenguaje

humano por medio de modelos

computacionales resultados de experimentos

psicolingüísticos y análisis del corpus.

Computational Psycholinguistics

Computational Linguistics resource

http://www.coli.uni-sb.de/~krenn/edu.html

http://linguistlist.org/sp/GetWRListings.cfm?WR

Abbrev=Software

Natural language processing

Campo de las ciencias de la computación,

inteligencia artificial y lingüística que estudia

las interacciones entre las computadoras y el

lenguaje humano. El PLN se ocupa de

mecanismos para la comunicación entre

personas y máquinas por medio de lenguajes

naturales. Programas que ejecutan o simulan

la comunicación.

NLP resources

https://www.youtube.com/playlist?list=PLEC36

CC787EA50D7C

http://vikparuchuri.com/blog/natural-language-

processing-tutorial/

http://research.microsoft.com/apps/pubs/?id=21

7165

http://idibon.com/natural-language-processing-

tutorial-with-ebert/

Proceso de reducir un documento de texto con

un programa de cómputo con el fin de obtener

un resumen que conserve los puntos más

importantes del documento original. Son

tomadas en cuenta variables como longitud,

estilo de escritura y sintaxis. Los 2 enfoques

principales son extracción y abstracción.

Automatic summarization

Automatic summarization tools

SystemQ

MEAD

textteaser

Estudia la correcta interpretación de un texto,

la importancia de cada tema mencionado, la

correcta asociación de ideas individuos.

Los resultados están representados en

términos de porcentajes de correlación.

Coreference resolution

Analiza lenguaje escrito, hablado, en señas o

cualquier tipo de expresión. Se analiza la

secuencia de oraciones coherentes,

proposiciones, mensaje entre otras. Analiza

también las características socio psicológicas

del discurso. Es un área multidisciplinaria.

Discourse analysis

Discourse analysis tools

discourse-analisys

Machine translation

La traducción automática es un área de la

lingüística computacional que investiga el uso

de software para traducir texto o habla de un

lenguaje natural a otro. Permite un manejo más

apropiado de las diferencias en la Tipología

lingüística, el reconocimiento de frases, la

traducción de expresiones idiomáticas y el

aislamiento de anomalías.

Data warehouse

Entre otras cosas contempla los medios para

obtener esos datos, para extraerlos,

transformarlos y cargarlos, las técnicas para

analizarlos y generar información, herramientas

para extraer, transformar y cargar datos,

herramientas para el análisis (inteligencia

empresarial) y herramientas para gestionar y

recuperar los metadatos.

Estudia la estructura interna de las palabras

para delimitar, definir y clasificar sus unidades.

Un morfema se analiza en términos de

lexemas y gramemas.

Lexema: niños lexema: niñ

Gramema: niños morfemas flexivos:

-o, género masculino

-s, número plural

Morphological segmentation

Morphological segmentation source

http://perso.limsi.fr/anne/coursM2R/morphology

.pdf

Conjunto de algoritmos en aprendizaje

automático que intenta modelar abstracciones

de alto nivel en datos usando arquitecturas

compuestas de transformaciones no-lineales

múltiples. Una observación (por ejemplo, una

imagen) puede ser representada en muchas

formas (por ejemplo, un vector de píxeles).

Deep Learning

Deep Learning resources

http://www.deeplearning.net/tutorial/

http://deeplearning.net/tutorial/deeplearning.pdf

http://es.wikipedia.org/wiki/Aprendizaje_profund

o

http://ufldl.stanford.edu/wiki/index.php/UFLDL_

Tutorial

https://github.com/lisa-

lab/DeepLearningTutorials

Signal processing

Es la manipulación matemática de una señal

de información para modificarla o mejorarla en

algún sentido. Por medio del muestreo se

toman muestras de una señal a una frecuencia

o tasa de muestreo constante, para

cuantificarlas posteriormente.

Pattern recognition

El reconocimiento de patrones es la ciencia

que se ocupa de los procesos sobre ingeniería,

computación y matemáticas relacionados con

objetos físicos o abstractos, con el propósito de

extraer información que permita establecer

propiedades de entre conjuntos de dichos

objetos.

Pattern recognition resources

http://www.cedar.buffalo.edu/~srihari/CSE555/

http://research.microsoft.com/pubs/67119/svmt

utorial.pdf

http://homepages.inf.ed.ac.uk/rbf/IAPR/researc

hers/PPRPAGES/pprtut.htm

http://en.wikipedia.org/wiki/Pattern_recognition

Stochastic

Sistema cuyo comportamiento es

intrínsecamente no determinista. Cualquier

comportamiento que pueda ser analizable en

términos de probabilidad merece ser

denominado como un proceso estocástico.

"Validación" - Asegurar que los datos

suministrados son "limpio, correcto y útil."

Clasificación- "Ordena elementos de cierta

secuencia y / o en diferentes conjuntos."

Recapitulación - reducir los detalles de los

datos a sus principales puntos.

Data processing

Data processing

Agregación - combinación de múltiples piezas

de datos .

" Análisis"- la "colección, organización ,

análisis, interpretación y presentación de

datos.".

Información- lista detallada o resumen de los

datos de información computarizada.

Data processing resources

http://en.wikipedia.org/wiki/Data_processing

Data management

Modelado de datos, Administración de base de

datos, Data warehousing, Migración de datos,

Minería de datos, Calidad de datos, Seguridad

de datos, Gestión de meta-datos (repositorios

de datos, y su gestión) y Arquitectura de datos

Data management resources

http://www.tutorialspoint.com/dbms/

https://www.youtube.com/watch?v=R5BN-

1Llhcw

http://www.sqlcourse.com/intro.html

http://searchdatamanagement.techtarget.com/g

uide/Master-data-management-tutorial

Latent Dirichlet Allocation

Usando palabras en documentos, presupone

que cada documento es una mezcla de un

pequeño número de categorías y la aparición

de cada palabra en un documento se debe a

una de las categorías a las que el documento

pertenece. LDA es un ejemplo de modelo de

categorías y es un modelo en grafo para

descubrir categorías

Latent Dirichlet Allocation tools

lda

pylda

Técnica empleada en ML y PLN para descubrir

temas contenidos en una colección de

documentos. Analiza la concentración de una

palabras ligadas a un tema por ejemplo si hay

más palabras como “dog” o “bone” y menos

como “cat” o “meow” entonces el documento

está por ejemplo inclida 90% perro y 10% gato.

Topic Modeling

Topic modeling Tools

Gensim

mallet

Data visualization

La visualización de datos no es solo una

manera de presentar los datos, sino una

manera de explorar y comprender los datos.

Los elementos de la visualización como

tamaño, forma, color, orden y encapsulamiento

ayudan a mostrar de una forma más clara y

comprensible.

Data visualization resources

https://www.dashingd3js.com/table-of-contents

https://www.processing.org/tutorials/

http://www.lynda.com/Design-Infographics-

tutorials/Data-Visualization-

Fundamentals/153776-2.html

Conclusión

Lo importante no es saberlo todo, sino saber

que utilizar en cada caso. Es importante que

desarrolles proyectos con varias de estas

tecnologías para comprobar tu experiencia

como data scientist. También es buena

práctica estructurar información para que sea

accesible por la comunidad. Te invito a

volverte un científico de datos.

Para descargarla

La presentación la subiré a mis redes sociales,

cualquier duda estoy a sus órdenes en las

mismas:

http://google.com/+CarlosToxtli

http://facebook.com/carlos.toxtli

Gracias

Carlos Toxtli Hernández

psykohack carlos.toxtli ctoxtli@gmail.com