Data visualization with data refinery

This tutorial is part of the Getting started with IBM Cloud Pak for Data learning path.

Data refinery is part of IBM Watson and comes with IBM Watson Studio on the IBM Public Cloud, and IBM Watson Knowledge Catalog running on premises using IBM Cloud Pak for Data. It’s a self-service data preparation client for data scientists, data engineers, and business analysts. With it, you can quickly transform large amounts of raw data into consumable, quality information that’s ready for analytics. Data refinery makes it easy to explore, prepare, and deliver data that people across your organization can trust.

Learning objectives

After following this tutorial, the user will learn:

  • How to Load data into the IBM Cloud Pak for Data platform for use with data refinery.
  • How to transform a sample data set, either by entering R code in the command line or selecting operations from the menu.
  • How to use Data Flow steps to keep track of your work.
  • How to visualize the data with charts and graphs.


Estimated time

Completing this tutorial should take about 45 minutes.


Step 1: Load the billing.csv data into data refinery

Download the billing.csv file.

From the Project home, click on Data sets, +Add Data Set, and choose the billing.csv file.

Add the billing.csv data

Click on the newly added billing.csv file.

Data Refinery should launch and open the data like the image below:

Data Refinery view of the BILLING table

Step 2: Refine your data

We’ll start out in the Data tab.

Transform your sample data set by entering R code in the command line or selecting operations from the menu. For example, type filter on the Command line and observe that autocomplete will give hints on the syntax and how to use the command:

Command line filter

Alternatively, hover over an operation or function name to see a description and detailed information for completing the command. When you’re ready, click Apply to apply the operation to your data set.

Click the +Operation button:

Choose Operation button

First, we notice that TotalCharges is a string, but since it represents a decimal number, let’s convert the values to decimal. Choose the Operator Convert Column Type:

Choose Convert Column Type

Click + Select column, Then pick Column -> TotalCharges and Type -> Decimal , then click Apply:

Convert to Decimal

We want to make sure that there are no empty values, and there happen to be some for the TotalCharges column, so let’s fix that. Click on filter and choose the TotalCharges column from the drop down, then the Operator Is empty, then Apply:

Filter is empty

We can see that there are only 3 rows with an empty value for TotalCharges:

Filter is empty results

It should be safe to just drop these rows from the data set, so let’s do that.

First, remove the filter that you just added. You can delete it from the “Steps” section of clicking the undo arrow on top of the page.

Next, choose the Operation Remove empty rows, select the TotalCharges column, and click Apply:

Remove empty rows

Finally, we can remove the CustomerID column, since that won’t be useful for training a machine learning model in the next exercise. Choose the Remove operator, then choose Change column selection. Under Select a column pick CustomerID and then click Next and the Apply:

Remove CustomerID column

Step 3: Use Data Flow steps to keep track of your work

What if we do something we don’t want? We can undo (or redo) an action using the circular arrows:

Undo recent action

As you refine your data, IBM Data Refinery keeps track of the steps in your data flow. You can modify them and even select a step to return to a particular moment in your data’s transformation.

To see the steps in the data flow that you have performed, click the Steps button. The operations that you have performed on the data will be shown:

Data Flow steps

You can modify these steps in real time and save for future use.

Step 4: Profile the data

Clicking on the Profile tab will bring up a quick view of several histograms about the data.

Data Refinery Profile tab

You can get insight into the data from the histograms:

  • Twice as many customers are month-to-month as either 2-year or 1-year contract.

  • More choose paperless billing, but around 40% still prefer a paper bill mailed out to them.

  • You can see the distribution of MonthlyCharges and TotalCharges.

  • From the Churn column, you can see that a significant number of customers will cancel their service.

Step 5: Visualize with charts and graphs

Choose the Visualizations tab to bring up an option to choose which columns to visualize. Click on the empty space for the Columns to Visualize where the image below says Click here, choose TotalCharges, then Click on Visualize data when ready:

Visualize TotalCharges column

We first see the data in a histogram by default. You can choose other chart types. We’ll pick Scatter plot next by clicking on it:

Visualize TotalCharges histogram

In the scatter plot, choose TotalCharges for the x-axis, MonthlyCharges for the y-axis, and Churn for the Color map:

set x- and y- axes and Color map

Scroll down and give the scatter plot a title and sub-title if you wish. Click on the “gear” under Actions to perform tasks such as Start over, Download chart details, Download chart image, or Global visualization preferences:

Visualize set titles and choose preferences

We see that we can do things in the Global visualization preferences for Titles, Tools, Color schemes, and Notifications. Let’s set the Color scheme to Vivid:

Visualize set vivid

Now the colors for all of our charts will reflect this:

Visualize show vivid


This tutorial showed you a small sampling of the power of IBM Data Refinery on IBM Cloud Pak for Data. The tutorial also explained how you can transform data using R code, at the command line, using various operations on the columns such as changing the data type, removing empty rows, or deleting the column altogether. Next, the tutorial explained that all the steps in our data flow are recorded, so you can remove steps, repeat them, or edit an individual step. The tutorial also showed how you can quickly profile the data to see histograms and statistics for each column. And finally, the tutorial explained how you can create more in-depth visualizations, and create a scatter plot mapping TotalCharges vs. MonthlyCharges, with the churn results highlighted in color.

This tutorial is part of the Getting started with IBM Cloud Pak for Data learning path. To continue the series and learn more about IBM Cloud Pak for Data, take a look at the next pattern, Data analysis, model building, and deploying with Watson Machine Learning with notebook.

Scott D’Angelo