The goal of classification is to determine how to label data using a set of discrete labels. This probably sounds similar to supervised clustering; however, in this case, we don't care how close members of the groups are spatially. Instead, we concern ourselves with classifying them with the correct class label. Remember, in Chapter 8, Rule-Based Anomaly Detection, when we classified the IP addresses as hacker or not hacker? We didn't care how well-defined clusters of IP addresses were—we just wanted to find the hackers.
Just as with regression, scikit-learn provides many algorithms for classification tasks. These are spread across modules, but will usually say Classifier at the end for classification tasks, as opposed to Regressor for regression tasks. Some common methods are logistic regression, support vector machines (SVMs), k-NN, decision trees...