Ciclo Data Science (II)

Como os prometimos, aquí tenéis la segunda cápsula formativa del Ciclo Data Science ofrecida por Alumni UOC sus socios Premium. Si no visteis la primera cápsula, la tenéis aquí.

En esta ocasión, María José Peláez, Dra. en Matemáticas y experta en Ciencia de Datos, nos presenta otro tema de interés:

El camino para articular los datos detrás de productos o usuarios

Conoceremos el proceso que existe desde que comienza una pregunta de negocio sobre tus usuarios o tus productos hasta encontrar una respuesta accionable usando los datos disponibles a la problemática que se ha presentado. Haremos un pequeño viaje desde la extracción de datos, la limpieza y el entendimiento de éstos. Y pondremos atención en una comunicación con claras acciones de ataque para resolver el problema.

¡Que lo disfrutéis!

Posted in Big Data, Data Science, UOC Alumni | Tagged , , | 1 Comment

Data Science Awards 2018

Vuelve el reconocimiento del talento analítico en España de la mano de Telefónica y Sinergic Partners. (que organiza) y Telefónica y Google (como sponsors) Vuelve Data Science Awards 2018!

En su tercera edición, este galardón se ha consolidado como un escaparate muy interesante para las empresas innovadoras, los científicos de datos y los periodistas de datos.

El concurso presenta tres categorías de premios:

  • Premio Mejor Iniciativa Empresarial Big Data
  • Premio Mejor Data Science
  • Premio Mejor Trabajo Periodístico de Datos

El año pasado hubo más de 300 registros, así que este año seguro que será reñido también. Os recomendamos la participación: https://www.dscienceawards.com/#registro

Posted in Anuncios, Data Science, Talend Awards | Tagged , | Leave a comment

Oferta de trabajo: BI Data Analyst Junior

BI Data Analyst Junior position

El Consorci de Salut i Social de Catalunya ofrece una vacante de Analista de datos Junior para Business Intelligence a media jornada. Incorporación immediata.

Se requiere: Titulación en Ingeniería Informática, Ingeniería Técnica en Informática o Grado en Informática.

Más detalles aqui:

Logo Consorci de Salut i Social de Catalunya

 

 

Posted in Anuncios, Business Intelligence, Data Analyst | Leave a comment

Ciclo Data Science (I)

Continue reading

Posted in Big Data, Data Science, UOC Alumni | Tagged , , | Leave a comment

Oferta de trabajo: Data Engineer

El centro de supercomputación de Barcelona desea incorporar a un ingeniero de datos experto en bioinformática para cubrir una vacante.

Las características del puesto las podéis encontrar aquí.

http://bioinformaticsbarcelona.eu/

http://bioinformaticsbarcelona.eu/

Fecha límite de inscripción: 31 de Agosto de 2018.

Àngels Rius es profesora del Máster en Business Intelligence y el Máster en Data Science de la UOC, así como del área de bases de datos de los Estudios de Informática Multimedia y Telecomunicación. Actualmente su investigación se enmarca en el ámbito del eHealth.

Posted in Anuncios, Bioinformatics, Data Engineer, Data Science | Tagged | Leave a comment

Cursos de Inteligencia de Negocio y Big Data

Dentro de los Estudios de Informática, Multimedia y Telecomunicación de la UOC, ofrecemos desde hace años formación para profesionales del dato. Todo empezó con la inteligencia de negocio (y big data) y, en años anteriores, hemos extendido a la ciencia de datos.

Como ya saben nuestros lectores, la analítica sigue siendo una de las prioridades de los CIOs. Como indica IDG, no solo se aumentará la inversión en un 47% sino que además se considera que es una de las iniciativas que va a tener mayor impacto en los siguientes cinco años. Este mensaje no es nuevo y, de hecho, en los últimos años llevamos escuchando que la analítica en todas sus formas (business intelligence, big data, data science) ha sido, es y será crítica para generar valor en la organización. Desde la UOC creemos que es así, y por ello continuamos apostando por la formación en estos temas.

Sabemos que el camino a la madurez analítica está plagado de obstáculos y retos y que es necesario ser persistente, definir una estrategia adecuada y contar con profesionales formados en las competencias adecuadas.

Nuestra preocupación está, como os podéis imaginar, en las competencias. Y de forma continua, en cada semestre, buscamos mejorar nuestros programas en diferentes aspectos como: contenido, formatos, herramientas, mecanismos para la adquisición de competencias, caminos de aprendizaje, compatibilidad entre la vida profesional, la personal y los estudios,…

La principal novedad del próximo semestre (más allá de detalles internos) es ofrecer algunas de las asignaturas de nuestros másters como cursos independientes. Buscamos facilitar la adquisición de competencias a nuestros alumnos en estos temas tan interesantes y que puedan conciliar todas las facetas de su vida.

¿Qué cursos están disponibles para el siguiente semestre?

Son los siguientes:

Esperamos que estos cursos faciliten el proceso de aprendizaje a nuestros futuros estudiantes.

Posted in Big Data, Business Analytics, Business Intelligence, Data Science | Tagged , , | Leave a comment

Hablando sobre BI, Big Data y Machine Learning en Compilando Podcast

Muchos de los profesores de la UOC no solo colaboran este blog o el blog de los estudios Informatica++, también participamos en conferencias, congresos, eventos (como el pasado UOC D^2 – en próximas semanas publicaremos las charlas –  y entrevista en diferentes medios.

En esta ocasión he participado en Compilando Podcast hablando sobre Business Intelligence, Big Data y Machine Learning (y en realidad de muchos otros temas). No es la primera vez que participo en un podcast, en el pasado participé en PRNoticias hablando sobre Customer Analytics.

Agradezco la invitación de Paco Estrada, creador de este interesante podcast sobre open source que recomendamos. La charla fue muy interesante y divertida. Espero que los oyentes lo disfrutaran (o lo disfruten) también.

Aquí el enlace al podcast: https://compilando.audio/index.php/2018/05/21/business-intelligence-big-data-y-machine-learning-con-josep-curto-akademy-es-y-gnulinux-valencia/

¡Espero que os guste!

Posted in Big Data, Business Intelligence, Machine learning, podcast | Tagged , , , | Leave a comment

Visualizando representaciones de capas internas en Redes Neuronales

La redes neuronales artificiales están en el “ojo del huracán”, tanto en temas de investigación pura y dura, como en aplicaciones empresariales e industriales. Continuamente aparecen nuevas aplicaciones donde sorprende su uso y permite mejorar, de forma considerable, los resultados obtenidos previamente con otros modelos de aprendizaje automático.

Uno de los principales problemas de las redes neuronales está relacionado con la falta de interpretación y “explicabilidad” de los modelos generados. En este post veremos un método que nos permitirá, de alguna forma, poder representar y ver la información contenida en las capas internas de una red neuronal.

El detalle del proceso completo, junto con el código fuente completo para el ejemplo, está disponible aquí.

La idea que subyace en este proceso es sencilla:

  1. En primer lugar, entrenaremos el modelo, de la forma habitual.
  2. Una vez el modelo esté entrenado, lo que nos interesa (de alguna forma) es “cortar” la red en el punto que queremos analizar (en principio, alguna de las capas ocultas) y poder ver cuales son los valores que se están generando en las capas ocultas. Es decir, queremos ver como se van “agrupando” o “clasificando” los datos en las diferentes capas ocultas.
  3. Para realizar esta acción, lo que haremos será crear un nuevo modelo truncado que sólo incluirá las capas iniciales hasta la capa que queremos analizar.
  4. A partir de del modelo original y completo, copiaremos los valores (pesos y bias) entrenados al modelo truncado, de forma que tendremos acceso a los valores generados por la red neuronal en el punto de salida de la capa deseada.
  5. Finalmente, si queremos poder visualizar estos datos, deberemos realizar una reducción de la dimensionalidad para poder representarlos en un gráfico 2D o 3D.

A continuación mostramos parte del código, empleando Python y la librería Keras.

En primer lugar, como hemos comentado, creamos el modelo original (una red recurrente con varias capas, incluyendo una LSTM) y lo entrenamos con los parámetros requeridos hasta conseguir un nivel de precisión (accuracy) aceptable.

model = Sequential()
model.add(Embedding(max_features, 128, input_length=maxlen))
model.add(Bidirectional(LSTM(64)))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

# try using different optimizers and different optimizer configs
model.compile('adam', 'binary_crossentropy', metrics=['accuracy'])

print('Train...')
model.fit(x_train, y_train,
          batch_size=batch_size,
          epochs=4,
          validation_split=0.2)

Y definimos el modelo truncado con la misma configuración de capas hasta llegar a la capa que queremos analizar. Ésta quedará como la capa de salida del modelo, para poder ver y analizar las salidas de la capa en cuestión. La siguiente función nos permite crear esta red truncada y copiar los valores (pesos y bias) de la red original (una vez entrenada).

def create_truncated_model(trained_model):
   model = Sequential()
   model.add(Embedding(max_features, 128, input_length=maxlen))
   model.add(Bidirectional(LSTM(64)))
   for i, layer in enumerate(model.layers):
      layer.set_weights(trained_model.layers[i].get_weights())

   model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
   return model

truncated_model = create_truncated_model(model)
hidden_features = truncated_model.predict(x_test)

A partir de la salida de la red truncada podremos analizar los resultados obtenidos y ver como se está comportando nuestra red en cada una de las capas, teniendo en cuenta los cálculos realizados en las capas anteriores.

Aún así, en ciertos casos nos puede interesar representar esta información de una forma visual, que permita un análisis rápido de como se están agrupando los datos después del proceso en cada una de las capas.

Para realizar esto, es necesario reducir la dimensionalidad de los datos para poder representarlos en un gráfico 2D o 3D. Una opción es utilizar los métodos de reducción de dimensionalidad, como por ejemplo PCA o T-SNE (o una combinación de ambos).

A continuación mostramos en ejemplo de visualización después de realizar una reducción de dimensionalidad empleando PCA + T-SNE.

En la figura podemos ver como las dos clases de instancias están “bastante” separadas en esta capa, aunque con cierto grado de solapamiento. Esto nos indica que no será posible obtener valores de accuracy cercanos al 100% en esta capa.

Posted in Artificial Intelligence, Data Science, Deep Learning, Machine learning | Tagged , , | Leave a comment

El resurgir de los notebooks en la ciencia de datos

Cuando se trabaja en el ámbito de la ciencia de los datos, hay varios aspectos importantes como la reproducibilidad, la explicabilidad, la experimentación, soporte a múltiples lenguajes de programación,…

Para intentar responder a este tema, han aparecido los notebooks (como Jupyter) que muchas de las más modernas plataformas o soluciones para ciencia de datos incluyen por defecto. Este es un tema que ahora se está volviendo recurrente en múltiples artículos como el de Edd Wilder-James o en Towards Data Science pero es un tema que ya se ha tratado en datami hace tiempo.

El objetivo es ayudar en la productividad del científico de datos. En defintiva, este tema está ligado al hecho de poder experimentar y compartir nuestros desarrollos en equipos.

¡Pero aún hay más!

El siguiente paso es la puesta en producción. Y aquí las cosas cambian, los ciclos que combinan el desarrollo y la puesta de producción de ML requieren estar orquestrados.

Respecto este tema Shengyu Chen ilustra en este artículo muy bien como evoluciona el ciclo de un algoritmo cuando pasamos del desarrollo a las operaciones.

De hecho del ciclo inicial:

Fuente: Towards Data Science

Se pasa a:

Fuente: Towards Data Science

Puede parecer que hemos incorporado muchísima complicación, pero nada más lejos de la realidad. Aunque pueda parece mentira los algoritmos tienen fecha de caducidad (como los yogures y por múltiples motivos) y es necesario retirarlos y sustituirlos cuando dejan de tener validez (indicado por las métricas).

Así que la siguiente ve que pensemos en la aplicación de la ciencia de los datos debemos también ir mucho más allá de tan solo pensar en el algoritmo que nos proporcionará la respuesta adecuada.

Posted in Data Science | Tagged | Leave a comment

¿Multidisciplinar o especialista?

Uno de los retos a los que se enfrentan los profesionales que deben generar valor a partir de los datos es tener un carácter multidisplicinar. Para el contexto de inteligencia de negocio desde hace tiempo llevamos hablando de conocer estadística, informática y negocio. En el contexto de ciencia de los datos se recalca lo mismo aunque de formas diferentes (ya lo recalcamos hace tiempo aquí y aquí).

En esencia:

  • Se pide dominar todo el ciclo del dato: desde la captura (que significa comprender cómo se genera -o se debe generar- el dato y cómo se puede extraer) hasta la presentación (que significa identificar el mejor mecanismo para comunicar y/o integrar el conocimiento generado en el negocio).
  • Se pide ser un maestro de un conocimiento amplio y extenso y con unas capacidades que se encuentran en dos categorías: hard y soft. Capacidades que incluso en muchos escenarios son antagónicas y requieren sangre, sudor y lágrimas para conseguirlas.
  • Se pide incluso que ante cualquier pregunta uno sea capaz de responder a niveles de profundidad sobrehumanos.
  • Se pide ser jack-of-all-trades.

Esta disciplina (en general y sin hacer distinciones académicas o profesionales) está evolucionando a toda velocidad que los que trabajamos en ella nos vemos obligados a estar en un proceso de formación continua. En realidad, en un proceso que incluye tanto aprender como desaprender competencias.

Aunque la realidad es mucho peor. Los conocimientos deben ser tan sumamente amplios que frecuentemente se encuentran en dominos muy alejados. A los campos anteriormente podemos añadir tranquilamente otros como biología (redes neuronales artificiales), visualización (psicología de la percepción) o teoría de juegos (interpretación algorítmica) por comentar algunos.

Por ello es interesante lo que nos comentaba Jose Ramón Cajide en el pasado UOC Meet Data Science: es necesario decir no. A veces el profesional del dato, no tiene todo el conocimiento del mundo y, aunque aprende rápido, necesita de un tiempo. Es sin duda alguna un buen consejo.

Lo de siempre, se recomienda tener un equipo disciplinar, lo más amplio posible. Y dar tiempo al equipo para aprender los conocimientos necesarios como nos comentaba Mar Cabra. Fue sinceramente un placer moderar la mesa redonda con estos excelentes profesionales.

Excelentes consejos para los que se inician en esta profesión en la que ser multidisciplinar es importante pero también es necesario ser un especialista. ¡Nada más contradictorio!

Posted in Big Data, Business Intelligence, Data Science | Tagged , , | Leave a comment