Seth DeLand, MathWorks
Learn how machine learning tools in MATLAB® can be used to solve regression, clustering, and classification problems.
Machine learning uses algorithms that learn from data to help make better decisions. Examples of machine learning applications include clustering, where objects are grouped into bins with similar traits;regression, where relationships among variables are estimated; and classification, where a trained model is used to predict a categorical response.
Let’s take a look at the steps in a machine learning workflow. You might have data in many places, such as multiple spreadsheets and databases. MATLAB provides interactive tools that make it easy to perform a variety of machine learning tasks, including connecting to and importing data. Apps can generate MATLAB code, enabling you to automate tasks.
Oftentimes data has missing or incorrect values. Functions for finding, removing, and cleaning data enable you to get your data ready for analysis.
Information such as data trends, patterns, and outliers can help us decide which machine learning techniques to apply. Using data visualization tools, you can explore your data, identify key traits, and communicate your findings.
It’s not always obvious what the best machine learning algorithm is going to be for a particular problem. Statistics and Machine Learning Toolbox has a wide variety of algorithms to choose from, and these algorithms use a similar syntax. This enables you to quickly try out several different machine learning approaches, like in this example, where we apply logistic regression, discriminant analysis, and k-nearest neighbors to our dataset.
Some machine learning algorithms are computationally intensive. You can speed up these algorithms using built-in support for parallel computing.
Neural networks are also a common approach for supervised and unsupervised learning. Neural Network Toolbox provides additional algorithms and point-and-click apps that guide you through the process of training and testing neural networks.
Having trained different models, it’s essential to compare their performance on test data, so that we can gain confidence in our results. In this example, we compare how accurately different algorithms correctly classified our test data.
Oftentimes models need to be refined in order for them to run faster in the end-application. Tools for model refinement and reduction enable you to analyze the effect of algorithm parameters, and identify a subset of features that can be used to produce similar results.
Machine learning algorithms are often used in enterprise systems. Using MATLAB Compiler with add-on builder products, you can integrate your MATLAB models directly into applications written in Java and .NET. Models can also be deployed as Excel add-ins, and standalone executables.