Predicting Whether a Tumor is Benign or Malignant (and Doing Other Amazing Things Surprisingly Fast) with NO CODING Using Azure Automated Machine Learning
As a Microsoft Dynamics 365 CRM technical consultant, I work with thousands of rows of data in large databases on a daily basis. Being the machine learning nerd that I am, I decided to search for solutions that would allow us to put that data to work. I came across a solution from Microsoft called Azure Automated Machine Learning. Azure Automated Machine Learning aims to be a low-code/no-code solution that can quickly train machine learning models using datasets from any source, whether that be from SQL, CRM, Blob storage, etc.
Why is Azure Automated Machine Learning an enticing solution? Why should you use it? Machine learning can discover relationships in your datasets that we humans cannot. Machine learning can help you better understand your business, how users interact with your business and can help you provide a better experience to your customers.
Two of the biggest hurdles to implementing machine learning from a business perspective are cost and time. Hiring machine learning experts, training and testing machine learning models, and putting together a computing cluster to perform the training is, to say the least, very expensive and time consuming.
Microsoft has addressed these barriers by creating an Automated Machine Learning application, included with Azure. While not free, it is reasonable. Microsoft provides a calculator that helps manage and plan costs (I used the free Azure credits that Microsoft provides with new developer accounts to create the machine learning model discussed in this blog). I was able to go from just a dataset to a fully trained machine learning model in only an hour. In addition, Azure Machine Learning models can be deployed as a web service, which allows it to be used in Power BI and other applications.
In this blog, I will showcase the power of Azure’s Automated Machine Learning application by using it to predict whether a breast cancer tumor is benign or malignant (this is called binary classification). I used the Breast Cancer Wisconsin (Diagnostic) Data Set, which has data taken from 569 digitized images of breast cancer tumors. Let’s get to it!
Step 1: Navigate to Azure Portal.
Step 2: Go to Resource Groups.
Step 3: Add a resource group that will contain your machine learning application.
Step 4: Open your newly created resource group.
Step 5: Add the machine learning application to the azure resource group.
Step 6: Create the machine learning application and fill in the fields to create a machine learning workspace.
Step 7: Once the machine learning application completes, the resource group should contain the following:
Step 8: Navigate to https://ml.azure.com, which is a web interface that includes azure machine learning tools.
Step 9: Select the subscription and machine learning workspace you created in the previous steps.
Step 10: Click on Automated ML under the author section in the left pane; then click “New automated ML run”.
Step 11: Now create a data set. In this example, we will use the Wisconsin Breast Cancer Database Dataset.
Step 12: Select the workspaceblobstore option, which was created automatically when we created the machine learning app in Azure.
Step 13: Upload the CSV file that contains the Breast Cancer data.
Step 14: This is where you configure how the dataset should be read. In this case, the file format was CSV, so it was delimited by commas, and the headers were in the first row of my dataset, so I can leave that blank. Azure shows a preview of the dataset at the bottom. Once completed, click Next.
Step 15: Now we will choose the data type for all of our columns in the dataset.
Step 16: Now that the dataset has been created successfully, we can can create a new, automated machine learning run. We will create a new experiment.
Step 17: Next, we need to choose a compute cluster to perform the machine learning. I used a standard virtual machine since this dataset is relatively small. To improve performance of a machine learning model, you can choose a higher performance virtual machine. Note: A higher performance virtual machine might lead to increased cost for training your machine learning model.
Step 18: Since we are trying to classify if a breast cancer tumor is benign or malignant, we will choose the Classification option.
Step 19: An Additional Configurations menu will pop up after selecting the classification task. For simplicity, we will leave it to the defaults, but this can be a great way to fine-tune your model to improve accuracy. Each configuration item has an information icon next to it that explains its effect on the task.
Step 20: Finally, we will click Finish to kick off the machine learning task and start training against the data set! Go get yourself a cup of coffee and a pastry because training will take a couple of hours.
Step 21: Our work here is done…Azure Machine Learning has completed training the model. We can view metrics on how accurate and precise our machine learning model is by selecting Run Metrics. According to the run metrics, our machine learning model can predict if a tumor is benign or malignant correctly 98.7% of the time!
How cool is that? Imagine how much machine learning helps our healthcare industry make informed and proactive decisions daily to help save lives—and what it can do for your business and industry! If you have a project or business and you have data sitting around, I encourage you to test out Azure Automated Machine Learning to discover the possibilities of what your data can do. To learn more, read this informative Azure Automated Machine Learning documentation from Microsoft. Our Azure experts can also help. Contact AKA with your questions.