Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Orange Data Mining Workflows

Supplemental material for the paper:

Orange Data Mining: Three Decades of Interactive Visual Data Analytics
Janez Demšar and Blaž Zupan

This repository contains Orange workflows used to create the figures in the paper. Each workflow below corresponds to a figure from the manuscript, in the same order as in the paper.

Installation

To reproduce the results and figures:

  1. Install Orange from https://orangedatamining.com/
  2. Download any workflow (.ows file) from this repository
  3. Open the downloaded workflow in Orange (File → Open)
  4. Double-click any widget to inspect its settings, data, and visualization

Some workflows require add-ons (Image Analytics, Geo, Bioinformatics / Single Cell). Install them from Orange's add-on manager before opening the corresponding workflow.

Workflows

The list below follows the figures in the paper, in the same order. Each entry is the workflow used to produce that figure.

Orange Data Mining with an example of an image analytics workflow

Orange provides a visual programming workflow editor with interpreted execution of workflows. In this example, we analyzed images from bone healing designed for analysis of images from cell biology. The workflow loads a data set with images, embeds images in a vector space, and performs hierarchical clustering (b). Orange support interactive exploration of visualizations, where, in this example, three neighboring images of different classes were selected in the dendrogram (b), displayed in an image viewer (c), and highlighted in the multidimensional scaling map (d).

Workflow: workflows/orangeimages.ows

Examples of Orange widgets

Interfaces of three Orange widgets, one for choosing a data set from Orange's data set repository, another that implements logistic regression, and a third for visualizing the distribution of a chosen variable.

Workflow: workflows/widgets.ows

Orange workflow with four interconnected widgets

In this workflow, the File widget reads the data set from a local file (the content of the widget is not shown) and passes the data to the Data Table and Tree widgets. Data Table displays the content of the data set in a spreadsheet. Tree uses the data to construct a model and passes it to the Tree Viewer, while respecting the tree inference parameters set in the content of the widget. The Tree Viewer applies the viewing parameters (on the left, in the control part of the widget) and displays the model in an interactive visualization. The communication between widgets is directed, from left to right, with outputs of the widgets displayed on the right and inputs on the left of the widget's icon. This workflow uses two types of signals: while the File widget emits the attribute-value data set to Data Table and Tree, the Tree constructs a more abstract object, the model, of which a tree is a subclass, and pushes it to the Tree Viewer.

Workflow: workflows/communication.ows

Brushing and linking for exploration of the classification tree

The workflow constructs a classification tree from the Iris flower data set and, in its visualization (widget Tree Viewer), allows the selection of a tree node and, with it, the corresponding data instances. These are passed to the data table through the Selected Data output channel. Every change in the selection in the Tree Viewer would emit newly associated data, and the content of the Data Table would change correspondingly. In this workflow, we also use a Scatter Plot to plot the entire data set in the petal length–width plane. In addition to the entire data set from the Datasets widget, Scatter Plot also receives the data subset from the Tree Viewer and appropriately highlights the data associated with the tree node in the scatter plot. This particular combination could be, for instance, useful when explaining the inner workings of the classification tree induction algorithm.

Workflow: workflows/brush-tree.ows

Brushing and linking for visualization explanation

The figure shows the workflow where we construct the t-SNE plot from employee profiling data. In the plot, every point corresponds to an employee, and two points are close to each other if the employees' profiles are similar. A large cluster of points from this plot was selected with the aim of finding out which features are characteristic of it. The data were fed into the Box Plot and Rank, and both exposed that job role and department membership are the most characteristic features: all selected employees are either sales executives or sales representatives. This particular combination of widgets supports interactive exploration of clusters identified in the t-SNE plot; any change in the selection would trigger a change in the ranking of the features in the Rank widget, where information gain was selected as a scoring method, or in the ranking of the features in the Box Plot, which sorts the attributes according to their separation of the subgroups defined by the "Selected" variable. Note that in both cases we fed all the data into the downstream widgets from t-SNE: its "Data" output adds a "Selected" meta-feature which indicates whether the data instance was selected in the visualization. The Rank widget expects the data instances to include a class label, and we used Select Columns to use the "Selected" variable as the class label (not shown here).

Workflow: workflows/tsne-explain.ows

Communication of objects that learn

Widgets can also pass objects that implement some computational or data analytics approach. The workflow on this figure implements 5-fold cross-validation of various machine learning methods, passed to the Test and Score widget. The inputs of the widget includes a data set, on which the learning methods are evaluated. The widget, among other outputs, reports also evaluation results that include information for confusion matrix. An example of passing objects that learn is also represented in wrapping of logistic regression in a calibration procedure in the upper branch of the workflow.

Workflow: workflows/learners.ows

Orange canvas and workflow assembly

Orange workflows are assembled by placing widgets on the canvas (right panel in the screenshot) and connecting them to form a data analysis pipeline. The widget library is displayed as a toolbox on the left. The preferred, faster way of adding widgets is by dragging a link from the widget's connector and releasing the mouse, instructing Orange to display a list of compatible widgets. The example in this screenshot lists widgets that can receive a distance matrix from the Distances widget.

Workflow: workflows/canvas.ows

Report assembly in Orange

Each widget's state may be reported, and a report can be assembled that shows the state of the widget and its visualization and remembers the state of the entire workflow and its widgets, allowing the workflow, if needed, to be rolled back to that state and re-explored.

Workflow: workflows/report.ows

Mean life expectancy in different countries

We use the Datasets widget to load the Human Development Index data set and visualize mean life expectancy in the Choropleth Map.

Workflow: workflows/hdi-1.ows

Countries with life expectancy below 70 years

The Distributions widget, showing life expectancy across countries, is used as a filter: we select bins below 70 and pass the data to the Choropleth, which highlights the corresponding countries.

Workflow: workflows/hdi-2.ows

Clustering countries and exploring the results with a map

We feed the data into the Distances widget, which computes pairwise distances between countries using the socioeconomic variables in the table. The matrix is passed to the Hierarchical Clustering widget, which computes the clustering using Ward linkage and displays the resulting dendrogram. The data is augmented with a column containing the cluster assignments, which we use to color the countries in another Choropleth widget.

Workflow: workflows/hdi-3.ows

Exploring the relationship between clustering and mean life expectancy

The data output by the Hierarchical Clustering widget contains a column with cluster assignments. We feed it to the Sieve Diagram, which we set to show the cluster and life expectancy; since the latter is numeric, it is automatically divided into quartiles. To explore which countries in C3 have lower life expectancies than others in the same cluster, we select the corresponding cell and feed the data from the Sieve Diagram into a Table.

Workflow: workflows/hdi-4.ows

Observing countries with lower mean life expectancies in the dendrogram

We added a connection between the Distributions widget, in which we have already selected the countries with life expectancies below 70 years, to Hierarchical Clustering. Since Hierarchical Clustering already receives the data from Distances, the new input is used as a subset: countries in the subset are shown in bold.

Workflow: workflows/hdi-5.ows

Comparing clusters

We connect a Distributions widget to Hierarchical Clustering to show histograms for the selected clusters. This allows us to explore and compare the properties of subgroups in the data.

Workflow: workflows/hdi-6.ows

Two-dimensional t-SNE embedding of single-cell gene expression data

Widget Single Cell Datasets provides access to a collection of gene expression data sets. A sample of the data set from bone marrow mononuclear cells was chosen and displayed in t-SNE, where each dot represents a cell. In a separate branch of the workflow, we loaded a data set with user-specified gene markers (File widget), mapped them to the appropriate gene identifiers (Genes), and presented the results in a table (Data Table (1)), where the user can select markers. The widget Score Cells adds a cell score meta-column to the input data set with the average expression of selected marker genes from Data Table (1). In Orange, meta-columns do not enter any computations, so changing the selection of marker genes does not alter the positions of cells in the t-SNE plot, but does alter their size and color linked to the cell's score, thereby turning the workflow into a tool for interactive exploration of cell types.

Workflow: workflows/sc-markers.ows

Differentially expressed genes in cluster of cells

The input single-cell data are displayed in a t-SNE plot, where we selected a small cluster of cells at the center of the plot. Differential Expression finds genes whose expression distributions within the selected cluster differ most from those outside the cluster (a t-statistic is used in this example). The graph shows the distribution of t-scores, from which we chose 58 genes in the right tail of the distribution, thus identifying genes that were overexpressed in the cluster. Listing these genes (widget Genes) reveals that most of them are known B-cell markers.

Workflow: workflows/sc-diff-exp.ows

Automatic annotation of cell clusters using data base of marker genes

Orange widgets can be very specific, and they are often found in add-ons. An example of such a widget is Annotator, which receives data points and features, two of which are chosen for projection. In our case, these features were the x and y locations of points (cells) from the t-SNE embedding, added as meta-features to the original single-cell gene expression data file. Another input to Annotator is a data table with a list of marker genes and their associated cell types. This information is used to produce annotated cell maps, as shown in this figure. Note that Marker Genes, another specific widget from the bioinformatics add-on, provides access to marker genes, where the user can select a set and, based on the selection, observe the results in the downstream workflow. In our case, all marker genes from the Panglao database were selected.

Workflow: workflows/sc-annotation.ows

About

Workflows and supplementary materials for the Orange Data Mining paper in Patterns

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors