KNIME (/nm/ ), the Konstanz Information Miner,[2] is a free and open-source data analytics, reporting and integration platform. KNIME integrates various components for machine learning and data mining through its modular data pipelining "Building Blocks of Analytics" concept. A graphical user interface and use of JDBC allows assembly of nodes blending different data sources, including preprocessing (ETL: Extraction, Transformation, Loading), for modeling, data analysis and visualization without, or with minimal, programming.[citation needed]

KNIME
Developer(s)KNIME
Stable release
5.3 / July 10, 2024[1]
Repository
Written inJava
Operating systemLinux, macOS, Windows
Available inEnglish
TypeGuided Analytics / Enterprise Reporting / Business Intelligence / Data Mining/ Deep Learning / Data Analysis / Text Mining / Big Data
LicenseGNU General Public License
Websitewww.knime.com

Since 2006, KNIME has been used in pharmaceutical research,[3] and in other areas including CRM customer data analysis, business intelligence, text mining and financial data analysis. Recently, attempts were made to use KNIME as robotic process automation (RPA) tool.[4][when?]

KNIME's headquarters are based in Zurich, with additional offices in Konstanz, Berlin, and Austin (USA).[citation needed]

History

edit

Development of KNIME began in January 2004, with a team of software engineers at the University of Konstanz, as an open-source platform. The original team, headed by Michael Berthold, came from a Silicon Valley pharmaceutical industry software company. The initial goal was to create a modular, highly scalable and open data processing platform that allowed for the easy integration of different data loading, processing, transformation, analysis and visual exploration modules, without focus on any particular application area. The platform was intended to be a collaboration and research platform and also serve as an integration platform for various other data analysis projects.[5]

In 2006, the first version of KNIME was released. Several pharmaceutical companies started using KNIME, and a number of life science software vendors began integrating their tools into the platform.[6][7][8][9][10] Later that year, after an article in the German magazine c't,[11] users from a number of other areas[12][13] joined ship. As of 2012, KNIME is in use by over 15,000 actual users (i.e. not counting downloads, but users regularly retrieving updates) in the life sciences and at banks, publishers, car manufacturer, telcos, consulting firms, and various other industries, and a large number of research groups, worldwide.[citation needed][needs update] Latest updates to KNIME Server and KNIME Big Data Extensions, provide support for Apache Spark 2.3, Parquet and HDFS-type storage.[citation needed]

For the sixth year in a row, KNIME has been placed as a leader for Data Science and Machine Learning Platforms in Gartner's Magic Quadrant.[citation needed][year needed]

 
A screenshot of KNIME


Design Philosophy and Features

edit

These are the design principles and features that KNIME software follows:[14]

  • Visual, Interactive Framework: KNIME Software prioritizes a user-friendly and intuitive approach to data analysis. This is achieved through a visual and interactive framework where data flows can be combined using a drag-and-drop interface. Users can develop customized and interactive applications by creating simple to advanced and highly-automated data pipelines. These may include, for example, access to databases, machine learning libraries, logic for workflow control (e.g., loops, switches, etc.), abstraction (e.g., interactive widgets), invocation, dynamic data apps, integrated deployment, or error handling.
  • Modularity: processing units and data containers should remain independent of each other. This design choice enables easy distribution of computation and allows for the independent development of different algorithms. Data types within KNIME are encapsulated, meaning no types are predefined. This design choice facilitates the addition of new data types and their integration with existing ones, bringing along type-specific renderers and comparators. Additionally, this principle enables the inspection of results at the end of each single data operation.
  • Extensibility: KNIME Software is designed to be extensible. Adding new processing nodes or views is made simple through a plugin mechanism. This mechanism ensures that users can distribute their custom functionalities without the need for complicated install or uninstall procedures.
  • Interleaving No-Code with Code: the platform supports the integration of both visual programming (no-code) and script-based programming (e.g., Python, R, Javascript) approaches to data analysis. This design principle is referred to as low-code.
  • Automation and Scalability: for example, the use of parameterization via flow variables, or the encapsulation of workflow segments in components contribute to reduce manual work and errors in analyses. Additionally, the scheduling of workflow execution (available in KNIME Business Hub and KNIME Community Hub for Teams) reduces dependency on human resources. In terms of scalability, a few examples include the ability to handle large datasets (millions of rows), execute multiple processes simultaneously out of the box and reuse workflow segments.
  • Full Usability: due to the open source nature, KNIME Analytics Platform provides free full usability with no limited trial periods.

Internals

edit

KNIME allows users to visually create data flows (or pipelines), selectively execute some or all analysis steps, and later inspect the results, models, using interactive widgets and views. KNIME is written in Java and based on Eclipse. It makes use of an extension mechanism to add plugins providing additional functionality. The core version includes hundreds of modules for data integration (file I/O, database nodes supporting all common database management systems through JDBC or native connectors: SQLite, MS-Access, SQL Server, MySQL, Oracle, PostgreSQL, Vertica and H2), data transformation (filter, converter, splitter, combiner, joiner), and the commonly used methods of statistics, data mining, analysis and text analytics. Visualization is supported with the Report Designer extension. KNIME workflows can be used as data sets to create report templates that can be exported to document formats such as doc, ppt, xls, pdf and others. Other capabilities of KNIME are:

  • KNIMEs core-architecture allows processing of large data volumes that are only limited by the available hard disk space (not limited to the available RAM). E.g. KNIME allows analysis of 300 million customer addresses, 20 million cell images and 10 million molecular structures.
  • Additional plugins allow the integration of methods for text mining, image mining, as well as time series analysis and network.
  • KNIME integrates various other open-source projects, e.g., machine learning algorithms from Weka, H2O.ai, Keras, Spark, the R project and LIBSVM; as well as plotly, JFreeChart, ImageJ, and the Chemistry Development Kit.[15]

KNIME is implemented in Java, allows for wrappers calling other code, in addition to providing nodes that allow it to run Java, Python, R, Ruby and other code fragments.[citation needed]

License

edit

In 2024, KNIME version version 5.3 is released under the same GPLv3 license as previous versions.[16] As of version 2.1, KNIME is released under the GPLv3 license, with an exception that allows others to use the well-defined node API to add proprietary extensions.[17][needs update] This allows commercial software vendors to add wrappers calling their tools from KNIME.

KNIME Courses

edit

KNIME allows the performance of data analysis without programming skills. Two lines of online courses are provided, based on Data Wrangling and Data Science.[18]

See also

edit
  • Weka – machine-learning algorithms that can be integrated in KNIME
  • ELKI – data mining framework with many clustering algorithms
  • Keras - neural network library
  • Orange - an open-source data visualization, machine learning and data mining toolkit with a similar visual programming front-end
  • List of free and open-source software packages

References

edit
  1. ^ "What's New in KNIME Analytics Platform 5.3". knime.com.
  2. ^ Berthold, Michael R.; Cebron, Nicolas; Dill, Fabian; Gabriel, Thomas R.; Kötter, Tobias; Meinl, Thorsten; Ohl, Peter; Thiel, Kilian; Wiswedel, Bernd (16 November 2009). "KNIME - the Konstanz information miner" (PDF). ACM SIGKDD Explorations Newsletter. 11 (1): 26. doi:10.1145/1656274.1656280. S2CID 408188.
  3. ^ Tiwari, Abhishek; Sekhar, Arvind K.T. (October 2007). "Workflow based framework for life science informatics". Computational Biology and Chemistry. 31 (5–6): 305–319. doi:10.1016/j.compbiolchem.2007.08.009. PMID 17931570.
  4. ^ "KNIME Analytics Platform Bot".,
  5. ^ "Open for Innovation". KNIME.com.
  6. ^ Tripos, Inc. Archived 2011-07-17 at the Wayback Machine
  7. ^ Schrödinger Archived 2009-09-25 at the Wayback Machine
  8. ^ ChemAxon Archived 2011-07-17 at the Wayback Machine
  9. ^ NovaMechanics Ltd.
  10. ^ Treweren Consultants
  11. ^ Datenbank-Mosaik Data Mining oder die Kunst, sich aus Millionen Datensätzen ein Bild zu machen, c't 20/2006, S. 164ff, Heise Verlag.
  12. ^ Forum auf der KNIME Webseite
  13. ^ "Pervasive". Archived from the original on 2010-08-29. Retrieved 2010-12-07.
  14. ^ Berthold, Michael R., et al. "KNIME-the Konstanz information miner: version 2.0 and beyond." AcM SIGKDD explorations Newsletter 11.1 (2009): 26-31.
  15. ^ Beisken, S.; Meinl, T.; Wiswedel, B.; De Figueiredo, L. F.; Berthold, M.; Steinbeck, C. (2013). "KNIME-CDK: Workflow-driven Cheminformatics". BMC Bioinformatics. 14: 257. doi:10.1186/1471-2105-14-257. PMC 3765822. PMID 24103053.
  16. ^ "KNIME 5.3 License Terms and Conditions". 2024-08-03.
  17. ^ KNIME 2.1.0 released Archived 2010-04-17 at the Wayback Machine
  18. ^ the new learning path[permanent dead link]
edit
  • KNIME Homepage
  • KNIME Hub - Official community platform to search and find nodes, components, workflows and collaborate on new solutions
  • Nodepit - KNIME node collection supporting versioning and node installation