# KNIME

KNIME (o Konstanz Information Miner) es una plataforma de minería de datos que permite el desarrollo de modelos en un entorno visual. Está construido bajo la plataforma Eclipse.

## Historia

Fue desarrollado originalmente en el departamento de bioinformática y minería de datos de la Universidad de Constanza, Alemania, bajo la supervisión del profesor Michael Berthold. En la actualidad, la empresa KNIME.com GmbH, radicada en Zúrich, Suiza, continúa su desarrollo además de prestar servicios de formación y consultoría.
En 2006 se publicó la primera versión de KNIME y varias empresas farmacéuticas comenzaron a utilizar KNIME y varios proveedores de software de ciencias de la vida empezaron a integrar sus herramientas en KNIME. Más tarde ese mismo año, tras un artículo en la revista alemana c't, se unieron usuarios de otras áreas. A partir de 2012, KNIME es utilizado por más de 15 000 usuarios reales (es decir, sin contar las descargas, sino los usuarios que recuperan regularmente las actualizaciones cuando están disponibles) no sólo en las ciencias de la vida, sino también en bancos, editoriales, fabricantes de automóviles, empresas de telecomunicaciones, empresas de consultoría, y varias otras industrias, así como en un gran número de grupos de investigación en todo el mundo. Las últimas actualizaciones de KNIME Server y KNIME Big Data Extensions, proporcionan soporte para Apache Spark 2.3, Parquet y almacenamiento tipo HDFS.

## Características

KNIME está desarrollado sobre la plataforma Eclipse y programado, esencialmente, en Java. Está concebido como una herramienta gráfica y dispone de una serie de nodos (que encapsulan distintos tipos de algoritmos) y flechas (que representan flujos de datos) que se despliegan y combinan de manera gráfica e interactiva.
Los nodos implementan distintos tipos de acciones que pueden ejecutarse sobre una tabla de datos:
* Manipulación de filas, columnas, etc., como muestreos, transformaciones, agrupaciones, etc.
* Visualización (histogramas, etc.).
* Creación de modelos estadísticos y de minería de datos, como árboles de decisión, máquinas de vector soporte, regresiones, etc.
* Validación de modelos, como curvas ROC, etc.
* Scoring o aplicación de dichos modelos sobre conjuntosa nuevos de datos.
* Creación de informes a medida gracias a su integración con BIRT.
El carácter abierto de la herramienta hace posible su extensión mediante la creación de nuevos nodos que implementen algoritmos a la medida del usuario. Además, existe la posibilidad de utilizar de llamar directa y transparentemente a Weka y o de incorporar de manera sencilla código desarrollado en R o python/jython.
KNIME integra diversos componentes para aprendizaje automático y minería de datos a través de su concepto de fraccionamiento de datos (data pipelining) modular. La interfaz gráfica de usuario permite el montaje fácil y rápido de nodos para preprocesamiento de datos (ETL: extracción, transformación, carga), para el análisis de datos y modelado y visualización. KNIME es desde 2006 utilizado en la investigación farmacéutica, pero también se utiliza en otras áreas, como: análisis de datos de cliente de CRM, inteligencia de negocio y análisis de datos financieros.

## Licencia y soporte

KNIME es una herramienta de software libre que puede ser descargada y utilizada gratuitamente bajo los términos de la licencia GPLv3 con una excepción que permite que otros usuarios utilicen el bien definido nodo de API para añadir extensiones de propiedad. Esto también permite a los proveedores comerciales de software agregar envolturas enlazando sus herramientas hacia KNIME.
La compañía que lo desarrolla ofrece, adicionalmente, la posibilidad de contratar servicios de soporte en varios niveles, además de brindar servicios de consultoría y formación.