Ein typischer Arbeitsablauf in Orange.
Ein typischer Arbeitsablauf in Orange 3

Orange ist ein Open-Source -Toolkit für Datenvisualisierung , maschinelles Lernen und Data Mining . Es bietet eine visuelle Programmierschnittstelle für explorative qualitative Datenanalyse und interaktive Datenvisualisierung .

Klassifikationsbaum-Widget in Orange 3

Beschreibung

Orange ist ein komponentenbasiertes Softwarepaket für visuelle Programmierung zur Datenvisualisierung , zum maschinellen Lernen , zum Data Mining und zur Datenanalyse .

Die Komponenten von Orange werden als Widgets bezeichnet. Sie reichen von einfacher Datenvisualisierung, Teilmengenauswahl und Vorverarbeitung bis hin zur empirischen Evaluierung von Lernalgorithmen und prädiktiver Modellierung .

Die visuelle Programmierung erfolgt über eine Schnittstelle, in der Arbeitsabläufe durch die Verknüpfung vordefinierter oder benutzerdefinierter Widgets erstellt werden . Fortgeschrittene Benutzer können Orange als Python-Bibliothek zur Datenmanipulation und Widget-Änderung verwenden. [ 5 ]

Software

Orange ist ein Open-Source-Softwarepaket, das unter der GPL veröffentlicht und auf GitHub gehostet wird . Versionen bis einschließlich 3.0 enthalten Kernkomponenten in C++ mit Wrappern in Python . Ab Version 3.0 verwendet Orange gängige Python-Open-Source-Bibliotheken für wissenschaftliches Rechnen, wie beispielsweise NumPy , SciPy und scikit-learn , während die grafische Benutzeroberfläche im plattformübergreifenden Qt- Framework basiert.

Die Standardinstallation umfasst eine Reihe von Algorithmen für maschinelles Lernen, Datenvorverarbeitung und Datenvisualisierung in sechs Widget-Sets (Daten, Transformation, Visualisierung, Modellierung, Auswertung und unüberwachtes Lernen). Zusätzliche Funktionen sind als Add-ons verfügbar (Text Mining, Bildanalyse, Bioinformatik usw.).

Orange wird unter macOS , Windows und Linux unterstützt und kann auch aus dem Python Package Index- Repository installiert werden ( pip install Orange3 ).

Merkmale

Orange besteht aus einer Canvas- Oberfläche , auf der der Benutzer Widgets platziert und einen Workflow für die Datenanalyse erstellt. Die Widgets bieten grundlegende Funktionen wie das Einlesen von Daten, das Anzeigen von Datentabellen, das Auswählen von Merkmalen, das Trainieren von Vorhersagemodellen, das Vergleichen von Lernalgorithmen, das Visualisieren von Datenelementen usw. Der Benutzer kann Visualisierungen interaktiv erkunden oder die ausgewählte Teilmenge in andere Widgets einspeisen.

Ein dekoriertes Dendrogramm in Orange 3
Ein dekoriertes Dendrogramm in Orange 3
  • Canvas : Grafische Benutzeroberfläche für die Datenanalyse
  • Widgets :
    • Daten : Widgets für Dateneingabe, Datenfilterung, Stichprobenziehung, Imputation, Merkmalsmanipulation und Merkmalsauswahl
    • Visualize : Widgets für gängige Visualisierungen (Boxplot, Histogramme, Streudiagramme) und multivariate Visualisierungen (Mosaikdarstellung, Siebdiagramm).
    • Klassifizieren : eine Reihe von überwachten maschinellen Lernalgorithmen zur Klassifizierung
    • Regression : Eine Reihe von überwachten maschinellen Lernalgorithmen für die Regression
    • Bewertung : Kreuzvalidierung, stichprobenbasierte Verfahren, Zuverlässigkeitsschätzung und Bewertung von Vorhersagemethoden
    • Unüberwacht : Unüberwachte Lernalgorithmen für Clustering (k-Means, hierarchisches Clustering) und Datenprojektionstechniken (multidimensionale Skalierung, Hauptkomponentenanalyse, Korrespondenzanalyse).

Add-ons

Orange-Nutzer können ihren Kernkomponentensatz durch Komponenten aus den Add-ons erweitern. Zu den unterstützten Add-ons gehören:

  • Associate : Komponenten zum Mining häufiger Itemsets und zum Lernen von Assoziationsregeln .
  • Bioinformatik : Komponenten für die Genexpressionsanalyse, Anreicherung und den Zugriff auf Expressionsdatenbanken (z. B. Gene Expression Omnibus ) und Pathway-Bibliotheken.
  • Datenfusion : Komponenten zur Fusion verschiedener Datensätze , kollektive Matrixfaktorisierung und Untersuchung latenter Faktoren.
  • Pädagogisch : Komponenten zum Lehren von Konzepten des maschinellen Lernens, wie z. B. K-Means-Clustering , Polynomregression , stochastischer Gradientenabstieg , ...
  • Explain : Bietet eine Erweiterung mit Komponenten zur Modellerklärung, einschließlich der Shapley-Wert -Analyse
  • Geo : Komponenten für die Arbeit mit Geodaten .
  • Bildanalyse : Komponenten für die Arbeit mit Bildern und ImageNet -Einbettungen
  • Netzwerk : Komponenten für die Graph- und Netzwerkanalyse .
  • Text Mining : Komponenten für die Verarbeitung natürlicher Sprache und Text Mining .
  • Zeitreihen : Widget-Komponenten für die Analyse und Modellierung von Zeitreihen .
  • Einzelzellanalyse : Unterstützung für die Genexpressionsanalyse einzelner Zellen, einschließlich Komponenten zum Laden von Einzelzelldaten, Filterung und Entfernung von Batch-Effekten , Entdeckung von Markergenen, Bewertung von Zellen und Genen sowie Vorhersage von Zelltypen.
    Die Kaplan-Meier-Grafik aus Überlebenszeitanalysedaten stellt Überlebenskurven dar und unterstützt die interaktive Auswahl von Fällen.
  • Spektroskopie : Komponenten zur Analyse und Visualisierung von (hyper)spektralen Datensätzen. [ 6 ]
  • Überlebenszeitanalyse : Ein Add-on für die Datenanalyse von Überlebensdaten. Es enthält Widgets für Standardverfahren der Überlebenszeitanalyse, wie z. B. die Kaplan-Meier- Kurve, das Cox-Regressionsmodell und verschiedene abgeleitete Widgets.
  • Weltglück : Unterstützung beim Herunterladen sozioökonomischer Daten aus einer Datenbank, einschließlich OECD- und Weltentwicklungsindikatoren . Bietet Zugriff auf Tausende von Länderindikatoren aus verschiedenen Wirtschaftsdatenbanken.
  • Fairness : Ein Add-on zur Bewertung und Erstellung fairer Machine-Learning-Modelle ohne Diskriminierung. Die Widgets reichen von der Berechnung von Fairnessmetriken wie statistischer Parität bis hin zu Post-, Pre- und In-Processing-Methoden zum Aufbau fairer Modelle. [ 7 ]

Ziele

Das Programm bietet eine Plattform für die Experimentauswahl, Empfehlungssysteme und prädiktive Modellierung und findet Anwendung in der Biomedizin , Bioinformatik , Genomforschung und Lehre. In den Naturwissenschaften dient es als Plattform zum Testen neuer Algorithmen des maschinellen Lernens und zur Implementierung neuer Techniken in Genetik und Bioinformatik. Im Bildungsbereich wurde es zur Vermittlung von Methoden des maschinellen Lernens und Data Mining an Studierende der Biologie, Biomedizin und Informatik eingesetzt.

Erweiterungen

Verschiedene Projekte bauen auf Orange auf, indem sie entweder die Kernkomponenten mit Add-ons erweitern oder ausschließlich den Orange Canvas nutzen, um die implementierten visuellen Programmierfunktionen und die grafische Benutzeroberfläche auszunutzen.

  • OASYS — Orange Synchrotron Suite [ 8 ]
  • scOrange – Einzelzell-Biostatistik
  • Quasar – Datenanalyse in den Naturwissenschaften

Geschichte

1996 begannen die Universität Ljubljana und das Jožef-Stefan-Institut mit der Entwicklung von ML*, einem Framework für maschinelles Lernen in C++ . 1997 wurden Python- Bindings für dieses Framework entwickelt, die zusammen mit neu entstehenden Python-Modulen das gemeinsame Framework Orange bildeten. In den folgenden Jahren wurden die meisten wichtigen Algorithmen für Data Mining und maschinelles Lernen in C++ (dem Kern von Orange) oder in Python-Modulen implementiert.

  • Im Jahr 2002 wurden erste Prototypen zur Erstellung einer flexiblen grafischen Benutzeroberfläche mit Hilfe von Pmw Python megawidgets entworfen .
  • Im Jahr 2003 wurde die grafische Benutzeroberfläche für das Qt- Framework unter Verwendung der PyQt -Python-Bindings neu gestaltet und entwickelt . Das visuelle Programmierframework wurde definiert und die Entwicklung von Widgets (grafischen Komponenten der Datenanalyse-Pipeline) begann.
  • Im Jahr 2005 wurden Erweiterungen für die Datenanalyse in der Bioinformatik entwickelt.
  • Im Jahr 2008 wurden Mac OS X DMG- und Fink- basierte Installationspakete entwickelt.
  • Im Jahr 2009 wurden über 100 Widgets erstellt und gepflegt.
  • Im Jahr 2009 wurde Orange 2.0 Beta veröffentlicht, die auf der Website Installationspakete basierend auf dem täglichen Kompilierungszyklus anbot.
  • Im Jahr 2012 wurde eine neue Objekthierarchie eingeführt, die die alte modulbasierte Struktur ersetzte.
  • Im Jahr 2013 wurde die grafische Benutzeroberfläche grundlegend überarbeitet. Dies umfasste eine neue Werkzeugpalette und die Darstellung von Arbeitsabläufen.
  • Im Jahr 2015 wurde Orange 3.0 veröffentlicht. Orange speichert die Daten in NumPy- Arrays; maschinelle Lernalgorithmen verwenden meist scikit-learn .
  • Im Jahr 2015 wurde ein Textanalyse-Add-on für Orange3 veröffentlicht.
  • Im Jahr 2016 veröffentlichte Orange die Version 3.3. Die Entwicklung plante einen monatlichen Zyklus für stabile Versionen.
  • Im Jahr 2016 begann Orange mit der Entwicklung und Veröffentlichung eines Bildanalyse-Add-ons mit serverseitigen tiefen neuronalen Netzen für das Bild-Embedding [ 9 ].
  • Im Jahr 2017 wurde ein Spektroskopie-Add-on zur Analyse spektraler Daten eingeführt. [ 10 ]
  • Im Jahr 2017 wurde Geo, ein Add-on für den Umgang mit Geodaten und die Visualisierung von Geokarten, eingeführt [ 11 ].
  • Im Jahr 2018 begann Orange mit der Entwicklung und Veröffentlichung eines Add-ons zur Einzelzelldatenanalyse. [ 12 ]
  • Im Jahr 2019 trennte Orange seine grafische Benutzeroberfläche für die Entwicklung in ein separates Projekt ab, orange-canvas-core [ 13 ].
  • Im Jahr 2020 führte Orange das Explain-Add-on mit Widgets zur Erläuterung von Klassifikationsmodellen und Regressionsmodellen ein , wobei die Stärke und der Beitrag spezifischer Merkmale zur Vorhersage einer bestimmten Klasse hervorgehoben werden.
  • Im Jahr 2022 wurde World Happiness, ein Add-on für die Orange3 Data Mining Suite, eingeführt, das Widgets für den Zugriff auf sozioökonomische Daten aus verschiedenen Datenbanken wie dem World Happiness Report , den World Development Indicators und der OECD bereitstellt.
  • Im Jahr 2022 erweiterte Orange das Explain-Add-on um ein Diagramm der individuellen bedingten Erwartung und die Permutations-Feature-Importance-Technik.
  • Im Jahr 2023 führte Orange das Fairness-Add-on ein, das Widgets zur Berechnung von Bias-Metriken sowie Widgets für Vor-, Nach- und In-Processing-Methoden enthält und die Erstellung von Modellen ermöglicht, die weniger anfällig für systematische Fehler aufgrund der Unwägbarkeiten des Datensatzes sind.

Siehe auch

Referenzen

  1. ^ "orange3/CHANGELOG.md at master . biolab/orange3 . GitHub" . GitHub .
  2. ^ „Version 3.40.0“ . 20. Dezember 2025. Abgerufen am 3. April 2026 .
  3. ^ "Orange - Lizenz" .
  4. ^ "orange3/LICENSE at master . biolab/orange3 . GitHub" . GitHub .
  5. ^ Janez Demšar; Tomaž Curk; Aleš Erjavec; Črt Gorup; Tomaž Hočevar; Mitar Milutinovič; Martin Možina; Matija Polajnar; Marko Toplak; Anže Starič; Miha Stajdohar; Lan Umek; Lan Žagar; Jure Žbontar; Marinka Žitnik; Blaž Zupan (2013). „Orange: Data-Mining-Toolbox in Python“ (PDF) . Zeitschrift für maschinelle Lernforschung . 14 (1): 2349–2353 .
  6. ^ Toplak, M.; Birarda, G.; Read, S.; Sandt, C.; Rosendahl, SM; Vaccari, L.; Demšar, J.; Borondics, F. (2017). „Infrarot-Orange: Hyperspektrale Daten mit maschinellem Lernen verknüpfen“. Synchrotron Radiation News . 30 (4): 40–45 . Bibcode : 2017SRNew..30...40T . doi : 10.1080/08940886.2017.1338424 . S2CID 125273654 . 
  7. ^ Iomids (30. Mai 2024). „Überprüfung von KI auf Diskriminierung mittels GUI unter Verwendung des Orange Fairness Add-Ons“ . IOMIDS.
  8. ^ Sanchez Del Rio, Manuel; Rebuffi, Luca (2017). „OASYS (Or Ange SYnchrotron Suite): Eine Open-Source-Grafikumgebung für virtuelle Röntgenexperimente“. In: Chubar, Oleg; Sawhney, Kawal (Hrsg.). Advances in Computational Methods for X-Ray Optics IV . S. 28. doi : 10.1117/12.2274263 . ISBN 9781510612334S2CID  117118973 .​
  9. ^ Primož Godec; Matjaž Pančur; Nejc Ilenič; Andrej Čopar; Martin Stražar; Aleš Erjavec; Ajda Pretnar; Janez Demšar; Marko Toplak; Anže Starič; Lan Žagar; Jan Hartmann; Hamilton Wang; Riccardo Bellazzi; Uroš Petrovič; Silvia Garagna; Maurizio Zuccotti; Dongsu-Park; Gad Shaulsky; Blaž Zupan (2019). „Demokratisierte Bildanalyse durch visuelle Programmierung durch Integration tiefer Modelle und maschinelles Lernen im kleinen Maßstab“ . Naturkommunikation . 10 (1): 4551. Bibcode : 2019NatCo..10.4551G . doi : 10.1038/s41467-019-12397-x . PMC 6779910 . PMID 31591416 . S2CID 203782491 .   
  10. ^ Marko Toplak; Stuart T. Read; Christophe Sandt; Ferenc Borondics (2021). „Quasar: Einfaches maschinelles Lernen für die Biospektroskopie“ . Cells . 10 ( 9): 2300. doi : 10.3390/cells10092300 . PMC 8466383. PMID 34571947 .  
  11. ^ "Orange3-Geo-Dokumentation — Orange3-Geo-Dokumentation" .
  12. ^ Martin Stražar; Lan Žagar; Jaka Kokošar; Vesna Tanko; Aleš Erjavec; Pavlin G. Poličar; Anže Starič; Janez Demšar; Gad Shaulsky; Vilas Menon; Andrew Lemire; Anup Parikh; Blaž Zupan (2021). „scOrange – ein Tool zum praktischen Training von Konzepten aus der Einzelzellen-Datenanalyse“ . Bioinformatik . 35 (14): i4– i12. doi : 10.1093/bioinformatics/btz348 . PMC 6612816 . PMID 31510695 .  
  13. ^ „Orange Canvas Core“ . GitHub .

Weiterführende Literatur

  • Demšar, Janez und Blaž Zupan, Data Mining Fruitful and Fun – A Historical Perspective , Informatica 37, S. 55–60, (2013).
  • Mario Capurso, Datenerfassung, -bereinigung, -analyse und -visualisierung mit Anwendungen in der Orange Python-basierten Umgebung, in Data Science and Engineering - A learning path Vol. 1 ISBN 979-8875798641.
  • Mario Capurso, Explorative Datenanalyse, Metriken, Modelle mit Anwendungen in der Orange Python-basierten Umgebung, in Data Science and Engineering - A learning path Vol. 2 ISBN 979-8874396145.