KNIME

Z Wikipedii, wolnej encyklopedii
KNIME Analytics Platform
Logo KNIME Analytics Platform
Logo programu
Ilustracja
KNIME – graficzny interfejs użytkownika
Autor KNIME AG
Aktualna wersja stabilna 4.4.2 – 20 października 2021; ponad 2 lata temu
Język programowania Java
System operacyjny Linux, OS X, Windows
Rodzaj Analityka kierowana (ang. Guided Analytics) / Raportowanie korporacyjne / Business Intelligence / Eksploracja danych/ Uczenie maszynowe / Analiza danych / Eksploracja tekstu / Big Data
Licencja GNU General Public License
Strona internetowa

KNIME[1] (wymowa: /naɪm/[2], skrócona nazwa Konstanz Information Miner) – platforma przeznaczona do integracji, interaktywnej analizy i raportowania danych, dostępna na zasadach wolnego i otwartego oprogramowania. KNIME umożliwia integrację wielu różnorodnych komponentów z dziedziny uczenia maszynowego (ang. machine learning) i eksploracji danych (ang. data mining) dzięki koncepcji modułowego przetwarzania potokowego danych. Graficzny interfejs użytkownika oraz wykorzystanie JDBC pozwala na łatwe i szybkie zestawianie węzłów (ang. nodes) w celu łączenia ze sobą różnych źródeł danych z uwzględnieniem procesu wstępnego przetwarzania – ETL (ang. Extraction, Transformation, Loading) oraz modelowania, analizy i wizualizacji danych bez konieczności korzystania z programowania (lub w minimalnym stopniu). KNIME w pewnym stopniu, jako zaawansowane narzędzie analityczne, można uznać za alternatywę SAS.

Od 2006 r. KNIME jest wykorzystywany w badaniach farmaceutycznych[3], a także w innych dziedzinach, takich jak analiza danych klienta (CRM), Business Intelligence (BI) i analiza danych finansowych.

Historia[edytuj | edytuj kod]

Styczeń 2004 r. to początek rozwoju KNIME na Uniwersytecie w Konstancji, gdzie został stworzony przez zespół programistów jako produkt prawnie zastrzeżony. Pierwsi deweloperzy pod przewodnictwem Michaela Bertholda wywodzili się z Doliny Krzemowej, z firmy dostarczającej oprogramowanie dla przemysłu farmaceutycznego. Od początku głównym celem było stworzenie modułowej, wysoko skalowalnej i otwartej platformy przetwarzania danych, która umożliwiłaby łatwą integrację różnych modułów ładowania, przetwarzania, transformacji, analizy i wizualnej eksploracji danych bez skupiania się na jakimkolwiek szczególnym obszarze zastosowania. W samym zamierzeniu platforma miała być platformą współpracy i badań, a także służyć jako miejsce integracji dla różnych innych projektów analizy danych.

W połowie 2006 r. ukazała się pierwsza publiczna wersja platformy. Od tego momentu niektóre firmy farmaceutyczne zaczęły wykorzystywać KNIME, a wielu dostawców oprogramowania w dziedzinie nauk przyrodniczych zaczęło integrować swoje narzędzia z tą platformą. Nieco później, w tym samym roku, po ukazaniu się artykułu w niemieckim magazynie c’t[4], KNIME zaczęli używać również użytkownicy z wielu innych obszarów i dziedzin. Od czerwca 2008 r. firma KNIME AG z siedzibą w Zurychu w Szwajcarii zapewnia profesjonalne wsparcie techniczne i usługi konsultingowe dla swojej platformy. Od 2012 r. KNIME jest wykorzystywany przez ponad 15 000 rzeczywistych użytkowników (nie licząc tych użytkowników, którzy pobierają samą platformę, a tylko tych, którzy regularnie pobierają aktualizacje, jak tylko stają się dostępne) i to nie tylko w obszarze nauk przyrodniczych, ale także z dziedziny bankowości, produkcji samochodów, telekomunikacji, w wydawnictwach, firmach konsultingowych i wielu innych branżach oraz w dużej liczbie grup badawczych na całym świecie. Najnowsze aktualizacje serwera KNIME Server i rozszerzeń KNIME Big Data zapewniają wsparcie dla platformy programistycznej do obliczeń rozproszonych – Apache Spark 2.3, otwartego formatu przechowywania danych zorientowanego kolumnowo – Apache Parquet i rozproszonego systemu plików – HDFS.

W magicznym kwadracie Gartnera z roku 2019, KNIME jest uznany za jeden z najlepszych produktów w swojej dziedzinie. KNIME radzi sobie znacznie lepiej na rynku niż inne systemy o otwartym źródle przeznaczone do eksploracji danych i wyróżnia się szczególnie łatwością obsługi.

Istotne cechy platformy KNIME[edytuj | edytuj kod]

KNIME umożliwia użytkownikom tworzyć w sposób wizualny przepływy danych lub potoki (ang. pipeline), selektywnie wykonywać niektóre lub wszystkie etapy analizy danych, a następnie sprawdzać wyniki, modele i widoki interaktywne. KNIME jest napisany w Javie i bazuje na środowisku Eclipse. Wykorzystuje mechanizm rozszerzeń do dodawania wtyczek dostarczających dodatkowe funkcjonalności. Już podstawowa wersja KNIME zawiera setki modułów przeznaczonych do integracji danych (zapis i odczyt plików, węzły dostępu do baz danych obsługujące wszystkie popularne systemy zarządzania bazami danych za pośrednictwem JDBC lub konektorów natywnych: SQLite, MS SQL Server, MySQL, PostgreSQL, Vertica i H2), węzły transformacji danych (filtry, konwertery, łączenia danych, podziału danych) oraz węzły powszechnie stosowanych metod statystycznych, eksploracji i analizy danych i tekstu. Obszar wizualizacji jest wspieranych przez bezpłatne rozszerzenie – Projektanta raportów (ang. Report Designer). Przepływy pracy (ang. workflows) w KNIME mogą być wykorzystywane jako zestawy danych do tworzenia szablonów raportów, które mogą być eksportowane do formatów dokumentów, takich jak.doc,.ppt,.xls,.pdf i innych.

Inne cechy KNIME:

  • Podstawowa architektura KNIME pozwala na przetwarzanie dużych woluminów danych, które są praktycznie ograniczone tylko dostępnym miejscem na dysku twardym (brak ograniczeń do dostępnej pamięci RAM). Np. KNIME umożliwia analizę 300 milionów adresów klientów, 20 milionów obrazów komórek i 10 milionów struktur molekularnych.
  • Dodatkowe wtyczki umożliwiają integrację metod eksploracji tekstu, wyszukiwania obrazów, a także analizy szeregów czasowych.
  • KNIME integruje się również z innymi projektami o otwartym źródle, np. algorytmami uczenia maszynowego z Weka[5], pakietem statystycznym R[6], a także z bibliotekami LIBSVM[7], JFreeChart[8], ImageJ[9] i Chemistry Development Kit[10].
  • KNIME jest zaimplementowany w języku Java, ale pozwala również na klasy opakowujące (ang. wrapper) wywołujące inny kod oprócz dostarczania węzłów, które uruchamiają fragmenty kodu napisanego w Javie, Pythonie, Perlu i innych językach.

Licencja[edytuj | edytuj kod]

Począwszy od wersji 2.1, KNIME jest wydawany na licencji GPLv3 z wyjątkiem, który pozwala na korzystanie z dobrze zdefiniowanego interfejsu API dla węzłów (ang. node) do dodawania rozszerzeń na licencjach komercyjnych. Pozwala to również komercyjnym dostawcom oprogramowania na dodawanie klas opakowujących, które wywołują ich narzędzia z KNIME.

Przypisy[edytuj | edytuj kod]

  1. Oficjalna strona platformy (ang.): https://www.knime.com/.
  2. How do you say „KNIME”?. KNIMETV 2016-01-26. [dostęp 2019-06-14].
  3. Abhishek Tiwari, Arvind K.T. Sekhar, „Workflow based framework for life science informatics, „Computational Biology and Chemistry”, 31 (5–6), 2007, s. 305–319, DOI10.1016/j.compbiolchem.2007.08.009.
  4. Magazin für Computertechnik [online], c’t [dostęp 2019-06-17] (niem.).
  5. Strona domowa: Weka 3: Machine Learning Software in Java.
  6. Strona domowa: The R Project for Statistical Computing.
  7. Strona domowa: LIBSVM – A Library for Support Vector Machines (ang.).
  8. Strona domowa: JfreeChart.
  9. Strona domowa: ImageJ.
  10. S. Beisken i inni, KNIME-CDK: Workflow-driven Cheminformatics, „BMC Bioinformatics”, 14, 2013, DOI10.1186/1471-2105-14-257, PMID24103053, PMCIDPMC3765822.

Linki zewnętrzne[edytuj | edytuj kod]