Semestre 1/2020

Este semestre ha sido el segundo haciendo el "Grado de Ciencia de Datos Aplicada" por la UOC (https://estudios.uoc.edu/es/grados/data-science/presentacion).

No he escrito ningún post sobre el primer semestre que cursé el año pasado así que hago un resumen rápido sobre este:

  • Fundamentos de programación, básicamente iniciación a Python

  • Introducción ciencia de datos, ubicar la figura del data science, sus roles, etc

  • Métodos numéricos, matématicas aplicadas con Python

De las 3 asignaturas no pude completar Métodos numéricos. Si bien la primera PEC fue asequible, rápidamente la segunda crece en complejidad y necesitas de más dominio de Python, así que la tercera no supe ni por donde abordarla. Las otras dos son realmente sencillas, aunque Introducción a la ciencia de datos es bastante aburrida.

Este semestre me he enfrentado a:

  • Programación en scripting, bash, awk, curl, etc

  • Tipología y Fuentes de datos, semántica de datos, etc

  • Bases de datos analíticas, diseño de bases de datos con herramientas Micro$oft

Programación en scripting (Notable)

Si bien no tiene mucha dificultad y los materiales están bastante completos, hay que dedicarle su rato para resolver los ejercicios de una forma decente.

Entre otras te enfrentas a ejercicios para usar curl, leer json o xml, crear algunos bash, etc.

Después de muchísimos años sin haber tocado AWK me ha sido muy placentero volver a usarlo y tener que esforzarme en hacer alguna cosa más allá del buscar y reemplazar algún carácter, usando BEGIN, END, funciones internas, arrays , etc. (aquí mi PEC3 que ya te digo que no fue de las más brillantes)

La última práctica es un ejercicio libre donde elegimos un dataset cualquiera en Internet y debemos tratarle con herramientas bash para generar un report HTML incluyendo algunos plots sobre los datos.

Yo he analizado los accidentes en la M30 durante los años 2016 al 2019 (https://datos.madrid.es/sites/v/index.jsp?vgnextoid=6e1ce0f3e8e22610VgnVCM1000001d4a900aRCRD&vgnextchannel=374512b9ace9f310VgnVCM100000171f5a0aRCRD) generando al final un report de resumen semanal buscando qué día y hora son los peores, utilizando únicamente bash, awk y gnuplot

5

En resumen una asignatura muy interesante y divertida. Si bien en el día a día seguramente uses herramientas más complejas, tener un dominio básico de estas otras te podrá ahorrar muchas horas

Tipología y Fuentes de datos (Aprobado)

En esta asignatura tengo sentimientos encontrados. Como con muchas asignaturas, ves que tienen mucho que contar pero la mayoría de ello no consigue despertar mi interés.

La teoría de cómo usar los metadatos, la nomenclatura Dublin Core (que por cierto no viene de la capital de Irlanda, sino de una ciudad de EEUU), etc no me llega a despertar mucho interés.

Sin embargo los últimos ejercicios sobre cómo atacar Wikidata mediante SPARQL me han dejado tocado. Tras la curva inicial para entender cómo se realizan las sentencias SQL (la cual no he terminado de superar y terminé en un estado de prueba-error) me quedé impresionado con las posibilidades que ofrece.

Poder consultar infinidad de datos, no sólo los típicos sobre películas y actores, sino política, geografía, espacio y un largo etc desde la línea de consola y obtener unos datos estructurados para su tratamiento me parece bestial.

Soccer players, who are born in a country with more than 10 million inhabitants, who played as goalkeeper for a club
that has a stadium with more than 30.000 seats and the club country is different from the birth country
PREFIX dbo: <http://dbpedia.org/ontology/>

SELECT distinct ?soccerplayer ?countryOfBirth ?team ?countryOfTeam ?stadiumcapacity
{
?soccerplayer a dbo:SoccerPlayer ;
   dbo:position|dbp:position <http://dbpedia.org/resource/Goalkeeper_(association_football)> ;
   dbo:birthPlace/dbo:country* ?countryOfBirth ;
   #dbo:number 13 ;
   dbo:team ?team .
   ?team dbo:capacity ?stadiumcapacity ; dbo:ground ?countryOfTeam .
   ?countryOfBirth a dbo:Country ; dbo:populationTotal ?population .
   ?countryOfTeam a dbo:Country .
FILTER (?countryOfTeam != ?countryOfBirth)
FILTER (?stadiumcapacity > 30000)
FILTER (?population > 10000000)
} order by ?soccerplayer

Por otra parte, esta asignatura cuenta con muchos ejercicios a realizar en Python, usando la plataforma de Google https://colab.research.google.com/ donde puedes crear y ejecutar programas en Python complejos.

Durante toda mi carrera profesional me he tenido que aprender muchos lenguajes y Python no es de los más complejos en absoluto, pero tal vez porque ya no tengo los mismos reflejos y dedicación de antes no termina de enamorarme. Le encuentro un lenguaje guarro , pero es una opinión personal sin ningún fundamento De todas formas es un lenguaje básico en este Grado así que tocará poco a poco ir usándolo cada vez más.

Bases de datos analíticas (No presentado)

Sobre esta asignatura poco que decir pues a mitad de curso sucedieron dos cosas:

  • cambio de trabajo, con toda la presión que conlleva ponerte a un nivel aceptable donde puedas aportar

  • covid19 y todo lo que supuso. Probablemente para algunos esta situación les ofreciera oportunidad para poder dedicarse a estudiar pero en mi caso fue a la inversa.

A todo ello se une que la asignatura me pareció de lo más aburrida y no por tener que usar Microsoft SQLServer en un escritorio remoto, sino porque el tipo de ejercicios eran de lo más insulsos y la teoría tampoco acompañaba a hacerlo más interesante.

Así que juntando todas las circunstancias decidí sacrificar esta asignatura pues era la que menos me aportaba, y la dejaremos para más adelante cuando las circunstancias y ganas cambien.

Hasta donde realicé de la asignatura, la teoría era de lo más simple sin representar ninguna complicación. Sin embargo el tener que usar un escritorio remoto representó un montón de problemas de cabeza pues no estaba muy fino ni explicado. Usar herramientas como Pentaho y guardar tus ficheros y que se perdieran tras cerrar sesión nos traía de cabeza, atinar a configurar las conexiones con SQLServer, …​

Próximo semestre

Para el próximo semestre he optado por retomar Métodos numéricos unicamente. No hay prisa y de esta forma espero poder dedicarme en exclusiva a ella para enterarme bien y prestar más atención al Python necesario

Follow comments at Telegram channel

2019 - 2020 | Mixed with Bootstrap | Baked with JBake v2.6.4