Using decomposition to classify with DictionaryLearning
In this recipe, we'll show how a decomposition method can actually be used for classification. DictionaryLearning
attempts to take a dataset and transform it into a sparse representation.
Getting ready
With DictionaryLearning
, the idea is that the features are the basis for the resulting datasets. Load the iris dataset:
from sklearn.datasets import load_iris iris = load_iris() iris_X = iris.data y = iris.target
Additionally, create a training set by taking every other element of iris_X
and y
. Take the remaining elements for testing:
X_train = iris_X[::2] X_test = iris_X[1::2] y_train = y[::2] y_test = y[1::2]
How to do it...
- Import
DictionaryLearning
:
from sklearn.decomposition import DictionaryLearning
- Use three components to represent the three species of iris:
dl = DictionaryLearning(3)
- Transform every other data point so that we can test the classifier on the resulting data points after the learner is trained:
transformed = dl.fit_transform...