Watson Studio is a powerful workbench to help you create and coordinate your AI project. Let’s continue our review of what it can do to help you reach your AI goals.
Last month, we took a high-level look at IBM Watson Studio. We saw that it provides a single environment, with a simple-to-understand, nontechnical interface with which you can create and control your AI project.
But now we want to take a more in-depth look at a couple of the features provided.
Jupyter Notebook Integration
One important question you might have in terms of working with Watson Studio is what the learning curve is to get familiar with it. Fortunately, rather than developing their own proprietary integrated development environment (IDE), IBM has chosen to incorporate Jupyter Notebook into Studio. Jupyter Notebook is really a machine-learning IDE. It comes complete with Python or R, and it allows you to include documentation, code, and data into a single instance, or notebook.
The most important thing about Jupyter Notebook, however, is that it tends to be the lingua franca of the AI world and is used in many open-source products, so if you have been dabbling with other software you might already be familiar with the Notebook. If not, it’s quite easy to learn to use and, in addition to IBM’s videos, there are numerous basic and advanced tutorials on the web to help you.
The obvious question you might have at this point is why you wouldn’t just use native Jupyter Notebook rather than subscribe to Watson Studio. The answer is that while Jupyter Notebook is an IDE, it is not a complete computing environment. What IBM has done is to embed Jupyter Notebook inside of a configurable environment so that when you create your project you can also create one or more notebooks. You can then attach a different data set to each notebook, automatically generate an R or Python or Scala data frame to process the data, and choose a hardware environment in which this process can run. Once set up, each notebook is completely configurable and can be modified whenever you want. And, of course, you can always develop your own code in addition to the standard data frame.
Data preparation is a critical part of any machine-learning project. Not only can it be very time-consuming to do but using external tools can raise issues with integrating the tools with the AI model software. Once again, an advantage of Watson Studio is the fact that it has a data cleanup facility, called Data Refinery, built in.
The data being refined can be on your desktop, in storage, or on the cloud. Location doesn’t matter because of the Spark undercarriage.
Using the Refinery tools, you can fix, cleanse, organize, and validate data, searching for missing values, etc. It supports both single and multi-column operations, including creating additional columns from existing ones.
The basic Refinery workbench provides a data tab, where you can view your original data plus any calculated or combined columns that you have added. A Profile tab then gives frequency and other statistics information on each column in your data set. Finally, a visualization tab lets you choose from a number of chart types to see the distribution of your data. These charts may then be exported to either social media or a particular URL.
While working within the Data Refinery, you can shape or “wrangle” your data by sorting by one or more columns, filtering to look at only certain values, changing data types of columns, combining columns, or performing other calculations with existing or newly create columns, rearranging column order, grouping columns, and performing calculations including means, etc.
Once you have finished shaping the data, you can then run that data through the model.
Studio includes a number of built-in models, although you can always create your own. Remember, an AI model is just a function (or several functions) that mathematically describe the problem you are trying to solve.
Currently, Studio’s prebuilt models are in two basic AI areas: image recognition and natural language processing.
These are the models for image recognition:
- Face model—Facial analysis with age and gender
- Explicit model—Whether an image is inappropriate for general use
- Food model—Specifically for images of food items
- Text model—Text extraction from natural scene images
The prebuilt models for the natural language processing are these:
- Classify natural language text—Train classifiers with your text examples
- Multiple languages supported—English, Arabic, French, German, Italian, Japanese, Korean, Portuguese (Brazilian), and Spanish
- API—Use your trained classifier in applications that you develop
- Multi-category classification—List results for multiple classes for given text input
- Multi-phrase classification—Classify up to 30 separate text inputs in a single API request
To use these models, all you need to do is upload your images or text selections, train the existing model on your data, and then analyze the results.
Of course, it is likely that what you want to do doesn’t fit into one of those neat categories.
One option you have is to use the integration Studio has to GitHub to see if anyone else has developed and posted a model that is more in line with your needs.
The other option is to use the model builder within Watson Studio to develop your own model. Or you can develop one in Keras, Pytorch, Caffe, or TensorFlow and then download it into Studio for training with your data.
No matter how you slice it, Watson Studio can be a very effective way to approach your machine-learning project, providing a single environment in which you can do all of the work required to achieve your goal. It’s easy to get started, and it’s even cheap because you can do a small scale project to get your feet wet and then scale up to something that costs real money as your skills mature. For more info on IBM Watson Studio, go here.