Primera experiencia con Knime

Knime es una plataforma de minería de datos, que facilita muchísimo las tareas de análisis, modelado, procesamiento y visualización de datos, y, además de todo esto, Knime es software libre. En las líneas siguientes expondré cómo funciona Knime, dejando un abrebocas para futuros temas e inmediatamente (en nuestra próxima entrada) un vídeo ejemplo de lo que se puede hacer con cero conocimientos y muy poco esfuerzo.

Principales casos de aplicación de Knime

  • Tareas de preprocesamiento de datos o ETL (Extract, transform and load) soportando diversas fuentes de datos como xls (Excel), xml, Json o bases de datos.
  • Paralelización de algoritmos (Integrable con Hadoop y Spark)
  • Análisis estadístico (básico y avanzado).
  • Análisis de comunidades, grafos y redes sociales, incluyendo reporting (reportería).
  • Procesamiento del lenguaje natural o Text mining (Minería de texto) y web scraping.
  • Image processing (procesamiento de imágenes).
  • Análisis químico y molecular (también empleado en bioinformática).

Como veremos, Knime, a través de su paradigma de flujos de trabajo “workflows” aplica la filosofía de descomponer un problema en sus partes. Un workflow describe la ruta por la que un conjunto de datos es procesado nodo a nodo. En este sentido, cuando un nodo acaba el procesamiento para el que fue destinado, su salida se convierte en la entrada del siguiente nodo y así hasta acabar el proceso.

Las funciones de los nodos son muy diversas, pero inicialmente se pueden clasificar en 4 categorias: Lectura, Procesamiento, Escritura y Visualización de datos.

Trabajar con workflows facilita enormemente las tareas de ideación, diseño, desarrollo, mantenimiento e integración de algoritmos o procedimientos para el análisis de datos. Hacer prototipos es realmente fácil y rápido, tanto que no es necesario un conocimiento previo o muy avanzado para diseñar una ruta en Knime.

El usar Knime no importa si los datos provienen de tablas, párrafos, imágenes o publicaciones en redes sociales, con más de 1.500 nodos dedicados[1], knime es capaz de modelar y solucionar una amplia gama de problemas solo con escogerlos y conectarlos adecuadamente.

El siguiente es el entorno de trabajo en knime, los paneles se pueden mover, agrupar, eliminar o volverse a desplegar desde el menú vista (view).

Y basta con arrastrar y soltar (drag and drop) los nodos desde el repositorio de nodos y conectarlos lógicamente entre sí, para formar el workflow que solucione su problema. Ahora, para poner en ejecución un nodo se hace clic derecho y ejecutar, no sin antes configurarlo adecuadamente en la opción configurar (o haciendo doble clic sobre el nodo).

Los nodos tienen un estado que notifica la respuesta del procesamiento, a continuación se muestran los posibles estados:

Se puede decir entonces que el semáforo clásico (Rojo-Amarillo-Verde) entrega la información general del estado de un nodo, pero que bien podría tener algunos detalles (% de ejecución o tipo de error encontrado) para el paso entre el amarillo y el verde. Además de esto, Knime también podría informar alertas, advirtiendo sobre efectos colaterales que se deben considerar, generalmente relacionadas al manejo de archivos de lectura y escritura, como por ejemplo, el riesgo de sobrescribir un documento o que el documento no exista.

Los resultados del procesamiento de cada nodo pueden ser consultados en cualquier momento; en la opción de visualización, ubicada al final del menú desplegable.

Finalmente, siempre es posible regresar un nodo a su estado anterior, luego de que la ejecución haya terminado se usa “reset” para borrar sus datos o “cancel” si el nodo aún se está ejecutándo.

Importante: vale decir que al ser parte de un workflow, al ejecutar un nodo se ejecuta también todos sus nodos predecesores. De igual forma, no se debe olvidar que al estar en un workflow, cancelar o reiniciar un nodo afectará todos los nodos siguientes que estén conectados. Por esta razón se debe tener mucha precaución.

Lenguajes y herramientas soportadas por Knime

Esta entrada no podría acabar sin destacar algunos de los lenguajes y herramientas soportadas por Knime, los primeros resultan de gran importancia para desarrollar soluciones altamente específicas: nodos de tipo Java, Python, R, Matlab y Perl, son algunas de las posibilidades. Los segundos relucen en la integración de nuestros sistemas como son conexiones a populares bases de datos como Mongo, postgre o mysql.

Próximos temas:

  • Vídeo tutorial, mi primera experiencia con Knime.
  • (El primero de una serie de how-to videos. Todos nuestros vídeo tutoriales vendrán con su ruta workflow para que usted mismo pueda seguirlos)
  • Instalación de Knime y sus plugins.
  • Aprender a importar y exportar proyectos knime en 60 segundos.
  • Personalizando Knime a la medida.
  • Modelado y aprendizaje de maquinas (Machine learning) en Knime.
  • Manejo de puertos, el truco detrás de los workflows dinámicos.
  • Los metadatos y su importancia en la escalabilidad y el mantenimiento.

Fuentes:

[1] KNIME 10 Years of Innovation 

Autor:
Jason E. Angel

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *