{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 13 - Scikit-Learn Library for Data Science " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[![View notebook on Github](https://img.shields.io/static/v1.svg?logo=github&label=Repo&message=View%20On%20Github&color=lightgrey)](https://github.com/avakanski/Fall-2024-Applied-Data-Science-with-Python/blob/main/docs/Lectures/Theme_3-Model_Engineering/Lecture_13-Scikit-Learn/Lecture_13-Scikit-Learn.ipynb)\n", "[![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/avakanski/Fall-2024-Applied-Data-Science-with-Python/blob/main/docs/Lectures/Theme_3-Model_Engineering/Lecture_13-Scikit-Learn/Lecture_13-Scikit-Learn.ipynb) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [13.1 Introduction to Scikit-Learn](#13.1-introduction-to-scikit-learn)\n", "- [13.2 Supervised Learning: Classification](#13.2-supervised-learning:-classification)\n", " - [13.2.1 k-Nearest Neighbors (kNN)](#13.2.1-k-nearest-neighbors-(kNN))\n", " - [13.2.2 Support Vector Machines (SVM)](#13.2.2-support-vector-machines-(SVM))\n", " - [13.2.3 Logistic Regression](#13.2.3-logistic-regression)\n", " - [13.2.4 Decision Trees](#13.2.4-decision-trees)\n", " - [13.2.5 Random Forest](#13.2.5-random-forest)\n", " - [13.2.6 Naive Bayes](#13.2.6-naive-bayes)\n", " - [13.2.7 Perceptron](#13.2.7-perceptron)\n", " - [13.2.8 Stochastic Gradient Descent (SGD)](#13.2.8-stochastic-gradient-descent-(SGD))\n", "- [13.3 Supervised Learning: Regression](#13.3-supervised-learning:-regression)\n", "- [13.4 Unsupervised Learning: Clustering](#13.4-unsupervised-learning:-clustering)\n", "- [13.5 Hyperparameter Tuning](#13.5-hyperparameter-tuning)\n", " - [13.5.1 Grid Search](#13.5.1-grid-search)\n", " - [13.5.2 Random Search](#13.5.2-random-search)\n", "- [13.6 Cross-Validation](#13.6-cross-validation)\n", " - [13.6.1 k-Fold Cross-Validation](#13.6.1-k-fold-cross-validation)\n", "- [13.7 Performance Metrics](#13.7-performance-metrics)\n", "- [13.8 Model Pipelines](#13.8-model-pipelines)\n", "- [13.9 Flow Chart: How to Choose an Estimator](#13.9-flow-chart:-how-to-choose-an-estimator)\n", "- [Appendix](#appendix)\n", "- [References](#references)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.1 Introduction to Scikit-Learn " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Scikit-Learn](http://github.com/scikit-learn/scikit-learn) is a Python library designed to provide access to machine learning algorithms within Python code, through a clean and well-designed API. It has been built by hundreds of contributors from around the world, and is used in industry and academia.\n", "\n", "Scikit-Learn is built upon Python's NumPy (Numerical Python) and SciPy (Scientific Python) libraries, which enable efficient numerical and scientific computation within Python. \n", "\n", "Scikit-Learn is imported via the `sklearn` module. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sklearn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Representation of Data in Scikit-Learn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most machine learning algorithms implemented in scikit-learn expect the training data to be stored in a **two-dimensional array** (matrix). The size of the array is expected to be `[n_samples, n_features]`.\n", "\n", "- **n_samples** is the number of samples (also referred to as inputs, data points, instances, examples), where each sample is an item to process (e.g., classify). A sample can be a row in database or CSV file, an image, a video, a document, an astronomical object, or anything that we can describe with a set of quantitative features.\n", "- **n_features** is the number of features or distinct characteristics that can be used to describe each sample in a quantitative manner. Features are generally real-valued numbers, but they can also be boolean or discrete values." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### A Dataset Example: Iris Dataset\n", "\n", "As an example of a simple dataset, we are going to look at the `Iris` dataset stored by the scikit-learn library.\n", "\n", "The data consists of measurements of three different species of irises:\n", "\n", " 1. Iris Setosa\n", " 2. Iris Versicolour\n", " 3. Iris Virginica" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each sample has 4 features, which include:\n", "\n", " 1. Sepal length in cm\n", " 2. Sepal width in cm\n", " 3. Petal length in cm\n", " 4. Petal width in cm\n", "\n", "All four features are measured in centimeters (cm). Note that the data are not images of iris flowers, but 4 measurements for each flower. \n", "\n", "Examples of images from the three iris species are shown below. \n", "\n", "\"Drawing\"\n", "\n", "There are 50 samples for each species, therefore there are 150 samples in total for all 3 species. \n", " \n", "Scikit-learn provides a helper function `load_iris` to load the dataset into a dictionary with numpy arrays as values." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "iris = load_iris()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's explore the keys in the loaded dictionary. The main elements are the `data` and the `target` keys. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iris.keys()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(150, 4)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 150 samples, 4 features\n", "iris.data.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([5.1, 3.5, 1.4, 0.2])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show the features for the first sample\n", "iris.data[0]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(150,)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 'Target' is the array of class labels for each sample\n", "iris.target.shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2\n", " 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n", " 2 2]\n" ] } ], "source": [ "print(iris.target)\n", "# 0 is Iris Setosa, 1 is Iris Versicolor, 2 is Iris Virginica" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa' 'versicolor' 'virginica']\n" ] } ], "source": [ "print(iris.target_names)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n" ] } ], "source": [ "print(iris.feature_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although the dataset is four-dimensional, we can visualize two of the dimensions at a time using a scatter plot." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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uFcmsmPdnswethA+kZzs/neQxWKhSJEiPimWfCUpydM+pw5eFUylSpVKu3300UeMHDmS/v37ExkZSWRkJP3792f48OG8//77/ynpW4G27YPkvwFXI212SFiItnv3C1Lb/oXEFe7bS1yOGb8UtPttH9AXMBPXeNWvt7R5ARJm41wcXpNfchQ6eYdP+73daK35fvNGl4+bWnMxMZF5e3L/B+WiUUvQLgaqFYCpGfl/vzFj+HwMi4tfURpMu2bhd3/4PL+ZIxdgcbPnnTIUc0cvYdbXC93HWRRzRi3mx61bsLgZmTeU4ueoLV7nN2fUYiyunhccI01zvlnkdXvi9jV27FiKFy+OaTr//u7UqRN9+vQBYO7cudStW5fAwEDKli3Lu+++67TeolKKMWPG0LlzZ0JCQvjggw84f/48vXr1omDBggQFBVGhQgXGjx8POEaElFJs2bIlrY3t27fTvn17wsLCCA0N5a677mL//v2AY0T6vffe44477iAgIIBatWqxaJH71/fKlStp0KABAQEBFC1alNdee80p5+bNm/Pss88yaNAgChQoQKtWrhe0TS/TK31HR0dTpkyZ6+4vU6YMO3bIhyJJUZ5jMCHZy334kqNwv6MpjsfjvRzdS1jiXZy3knfhelQrlYKkTb7t9zZzISGBf2Nj3b4SrIbB5pjj2ZbTjbLtPYdydyAaDq4/wM51e5xGlq5lmibb1+zyeX7bV+92Grm5rl+bSfRfO9m2apfnuFU7WX/smNPI0rXsWvP3sX+9zi961U63/dptJlF/7nT5uLj1xcbGOt0SExMzjOvRowdnzpxx2v7s/PnzLF68mF69erF48WJ69+7N888/z44dOxg7diwTJkzgww8/dGpn6NChdO7cmejoaB5//HHeeustduzYwcKFC9m5cyejR4+mQIECGeZw7Ngx7r77bgIDA/njjz/YuHEjjz/+eFqBM2LECD7//HM+++wzoqKiuO++++jUqRN79+512V67du2oX78+W7duZfTo0Xz//fd88MEHTnE//vgjVquV1atXM3bsWK+e10yPiVWpUoUPPviA77//Pm3xysTERD744AOqVKmS2eZuPcrLGlRZPMdkKs7bH6WPh0G9yk9nIj+REYvh3VWpFiPTfwNlPwPXA5KpIVYD3IyipLL4efn+yASXo1rpWK0Wt6NLqSxWi1c/O2smfm7e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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "x_index = 0 # sepal_length\n", "y_index = 1 # sepal_width\n", "\n", "# this formatter will label the colorbar with the correct target names\n", "formatter = plt.FuncFormatter(lambda i, *args: iris.target_names[int(i)])\n", "\n", "plt.scatter(iris.data[:, x_index], iris.data[:, y_index],\n", " c=iris.target, cmap=plt.cm.get_cmap('viridis_r', 3))\n", "plt.colorbar(ticks=[0, 1, 2], format=formatter)\n", "plt.clim(-0.5, 2.5)\n", "plt.xlabel(iris.feature_names[x_index])\n", "plt.ylabel(iris.feature_names[y_index]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other Available Data in Scikit-Learn\n", "\n", "Besides the Iris dataset, scikit-learn provides other datasets, that can be loaded directly from scikit-learn. \n", "The datasets include:\n", "\n", "- **Packaged Data:** several small datasets are packaged with the scikit-learn installation, and can be downloaded using the tools in ``sklearn.datasets.load_*``\n", "- **Downloadable Data:** several larger datasets are available for download, and scikit-learn includes tools that streamline this process. These tools can be found in ``sklearn.datasets.fetch_*``\n", "- **Generated Data:** several datasets can be generated using various random sample generators. These are available in ``sklearn.datasets.make_*``" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from sklearn import datasets" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "To see the available datasets in scikit-learn use the following:\n", "\n", " # Type datasets.load_ to see all available datasets\n", " datasets.load_\n", "\n", " # Type datasets.fetch_ to see all available datasets\n", " datasets.fetch_\n", "\n", " # Type datasets.make_ to see all available datasets\n", " datasets.make_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.2 Supervised Learning: Classification " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In **supervised learning**, an algorithm processes a dataset consisting of samples (training data) and labels. Supervised learning is further broken down into two main categories: **classification** and **regression**. In classification, the label is discrete such as the class membership, while in regression the label is continuous. We will first look at examples of performing classification with scikit-learn, and afterwards we will study regression tasks.\n", "\n", "The implementations of machine learning algorithms and models in scikit-learn are called **estimators** or estimator objects. Each estimator can be fitted to input data using the `fit()` method in scikit-learn. Fitting an estimator to data is equivalent to training a model, that is, the parameters of the model are learned from the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.1 k-Nearest Neighbors (kNN) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "We will illustrate classification first with the **k-nearest neighbors (kNN)** algorithm. This algorithm uses a very simple learning strategy: to predict the target class of a new sample, it takes into account its *k* closest samples in the training set and predicts the class labels based on majority voting of these samples.\n", "\n", "For instance, if *k*=1, to assign a class label to the test example shown with the white square in the figure below, the kNN classifier will first calculate the distance to each data point in the training set, and afterward, it will assign the class of the nearest data point to the test example. \n", "\n", "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or, if *k*=3, then the 3 nearest neighbors will be considered to classify a test data point. For the test data points shown with the `+` marker in the figure below, the class is obtained by voting based on the class labels of the 3 closest data points. \n", "\n", "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "kNN is a simple classification algorithm, and one main disadvantage is that the classifier needs to remember all of the training data and store it for future comparisons with test samples. This can be space inefficient when working with large datasets having many data points, and it can be computationally expensive since it requires calculating the distance to all data points." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's try kNN on the iris classification problem. In the following cell, we passed the newly created classifier object to the name `knn` and we chose to use 5 nearest neighbors." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [], "source": [ "from sklearn import neighbors\n", "\n", "# create the model\n", "knn = neighbors.KNeighborsClassifier(n_neighbors=5)\n", "\n", "X, y = iris.data, iris.target" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The full set of arguments that can be passed to kNN in scikit-learn is shown below, and more information about the arguments can be found at this [link](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html).\n", "\n", " class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, *, weights='uniform', \n", " algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Train the Model" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
KNeighborsClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "KNeighborsClassifier()" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fit the model with model.fit(training data, training target)\n", "knn.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "The model training is depicted in the following diagram. The model is fit to the training data/samples/instances (often denoted `X`) and training target/label/class/category (often denoted `y`). The method `fit` uses the specified **learning algorithm** for estimating the parameters of the model. The learned parameters constitute the **model state** that can later be used to make predictions (to classify test data).\n", "\n", "Note again the syntax for training/fitting a model: `model.fit(data, target)`\n", "\n", "\"Drawing\"\n", "Figure source: Reference [5]." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "#### Make Predictions\n", "\n", "Next, we will use our trained model to make predictions on the same dataset `X` that we used for training. To predict, the model uses the input data together with the model state to output a target/label for each data point.\n", "\n", "Note the syntax for predicting with a model: `model.predict(data)`\n", "\n", "\"Drawing\"\n", "Figure source: Reference [5]." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_predicted = knn.predict(X)\n", "\n", "# y_predicted is an array of predicted class labels for each input\n", "y_predicted" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(150,)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_predicted.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output of `model.predict()` is an array with a class label assigned to each data instance. The array `y_predicted` has 150 items, because we passed an array `X` with 150 data instances.\n", "\n", "Compare the predicted class labels to the ground-truth target array `y` given below. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ground-truth target array\n", "y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also make a prediction only on a subset of the data. For example, the next cell shows the prediction for the first two samples. The predicted class labels are 0 and 0." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "result = knn.predict(X[0:2])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that `predict` expects the data to be two-dimensional, and if we input only 1 sample, we will get an error. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "Expected 2D array, got 1D array instead:\narray=[5.1 3.5 1.4 0.2].\nReshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[19], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m result_1 \u001b[38;5;241m=\u001b[39m knn\u001b[38;5;241m.\u001b[39mpredict(X[\u001b[38;5;241m0\u001b[39m])\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\sklearn\\neighbors\\_classification.py:271\u001b[0m, in \u001b[0;36mKNeighborsClassifier.predict\u001b[1;34m(self, X)\u001b[0m\n\u001b[0;32m 268\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclasses_[np\u001b[38;5;241m.\u001b[39margmax(probabilities, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)]\n\u001b[0;32m 269\u001b[0m \u001b[38;5;66;03m# In that case, we do not need the distances to perform\u001b[39;00m\n\u001b[0;32m 270\u001b[0m \u001b[38;5;66;03m# the weighting so we do not compute them.\u001b[39;00m\n\u001b[1;32m--> 271\u001b[0m neigh_ind \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkneighbors(X, return_distance\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 272\u001b[0m neigh_dist \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 273\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\sklearn\\neighbors\\_base.py:826\u001b[0m, in \u001b[0;36mKNeighborsMixin.kneighbors\u001b[1;34m(self, X, n_neighbors, return_distance)\u001b[0m\n\u001b[0;32m 824\u001b[0m X \u001b[38;5;241m=\u001b[39m _check_precomputed(X)\n\u001b[0;32m 825\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m--> 826\u001b[0m X \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_data(X, accept_sparse\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcsr\u001b[39m\u001b[38;5;124m\"\u001b[39m, reset\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, order\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mC\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 828\u001b[0m n_samples_fit \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_samples_fit_\n\u001b[0;32m 829\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m n_neighbors \u001b[38;5;241m>\u001b[39m n_samples_fit:\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:633\u001b[0m, in \u001b[0;36mBaseEstimator._validate_data\u001b[1;34m(self, X, y, reset, validate_separately, cast_to_ndarray, **check_params)\u001b[0m\n\u001b[0;32m 631\u001b[0m out \u001b[38;5;241m=\u001b[39m X, y\n\u001b[0;32m 632\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m no_val_X \u001b[38;5;129;01mand\u001b[39;00m no_val_y:\n\u001b[1;32m--> 633\u001b[0m out \u001b[38;5;241m=\u001b[39m check_array(X, input_name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mX\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcheck_params)\n\u001b[0;32m 634\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m no_val_X \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m no_val_y:\n\u001b[0;32m 635\u001b[0m out \u001b[38;5;241m=\u001b[39m _check_y(y, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcheck_params)\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\sklearn\\utils\\validation.py:1035\u001b[0m, in \u001b[0;36mcheck_array\u001b[1;34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[0m\n\u001b[0;32m 1028\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 1029\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 1030\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExpected 2D array, got 1D array instead:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124marray=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00marray\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1031\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mReshape your data either using array.reshape(-1, 1) if \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1032\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myour data has a single feature or array.reshape(1, -1) \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1033\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mif it contains a single sample.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1034\u001b[0m )\n\u001b[1;32m-> 1035\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n\u001b[0;32m 1037\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m dtype_numeric \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(array\u001b[38;5;241m.\u001b[39mdtype, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkind\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m array\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;241m.\u001b[39mkind \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUSV\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m 1038\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 1039\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdtype=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnumeric\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m is not compatible with arrays of bytes/strings.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1040\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConvert your data to numeric values explicitly instead.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1041\u001b[0m )\n", "\u001b[1;31mValueError\u001b[0m: Expected 2D array, got 1D array instead:\narray=[5.1 3.5 1.4 0.2].\nReshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample." ] } ], "source": [ "result_1 = knn.predict(X[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is because the shape of the first sample is `(4,)`. If we make the sample two-dimensional with `X[np.newaxis, 0]`, then we can perform a prediction without error. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4,)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X[0].shape" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# This works, we changed the shape from (4,) to (1,4)\n", "result_1 = knn.predict(X[np.newaxis, 0])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0]\n" ] } ], "source": [ "print(result_1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or, we can use the suggestion in the error message, and use `array.reshape(1,-1)`." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1, 4)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "first_sample = X[0].reshape(1,-1)\n", "first_sample.shape" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0]\n" ] } ], "source": [ "result_2 = knn.predict(first_sample)\n", "print(result_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly, we can make predictions by specifying arbitrary input features; for example, an iris flower that has 3cm x 5cm sepal and 4cm x 2cm petal, as follows. " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# what kind of iris has 3cm x 5cm sepal and 4cm x 2cm petal?\n", "result_2 = knn.predict([[3, 5, 4, 2]])" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "print(result_2)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['versicolor']\n" ] } ], "source": [ "print(iris.target_names[result_2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also perform probabilistic predictions with `predict_proba`, which outputs the probability that a sample belongs to each of the three iris species. In the output, the first element 1 means target class 0. " ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0.]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.predict_proba(first_sample)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Applying the `argmax()` function will output the index of the greatest element in the array. " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.predict_proba(first_sample).argmax()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0.],\n", " [1., 0., 0.],\n", " [1., 0., 0.],\n", " [1., 0., 0.]])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# for the first 4 data samples\n", "knn.predict_proba(X[0:4])" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0], dtype=int64)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.predict_proba(X[0:4]).argmax(axis=1)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "#### Evaluate the Performance\n", "\n", "**Model evaluation** (model validation) is determining how well the model predictions are relative to the known target labels. \n", "\n", "To assess the accuracy of the prediction, we can compute the average success rate, i.e., all cases where the predicted target label `y_predicted` is the same as the ground-truth target label `y`. " ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9666666666666667" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(y == y_predicted).mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or, using `.sum().` we can see that the model predicted correctly 145 samples out of the 150 samples in the dataset. The above function `mean()` just calculates the average as 145/150." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "145" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(y == y_predicted).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And, instead of manually calculating the accuracy, we can use `model.score()` to calculate the average success rate. This method first performs prediction on a set of data inputs, and afterwards it calculates the accuracy of the predicted class labels in comparison to the true class labels. \n", "\n", "The syntax is: `model.score(data, target)`\n", "\n", "\"Drawing\"\n", "Figure source: Reference [5]." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9666666666666667" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "accuracy = knn.score(X, y)\n", "accuracy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One additional way to calculate the average success rate is to import the `accuracy_score` metric, and then apply it to find the match between ground-truth and predicted class labels. " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9666666666666667" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import accuracy_score\n", "accuracy_score(y, y_predicted)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another useful way to examine the prediction results is to view the **confusion matrix**, that is, the matrix showing the frequency of inputs and outputs for each class. In the output of this cell, we can see in the first row that all 50 data points in class 0 (iris setosa) were correct. In the second row, we see that 47 data points in class 1 (iris versicolor) were correct, but 3 data points were predicted in class 2 (iris virginica). Similarly, 2 data points from class 2 were incorrectly classified as class 1. Apparently, there is some confusion between the second and third species. And, as we know, out of 150 data points, in total 5 data points were misclassified, which can be seen in the off-diagonal elements in the confusion matrix." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[50 0 0]\n", " [ 0 47 3]\n", " [ 0 2 48]]\n" ] } ], "source": [ "from sklearn.metrics import confusion_matrix\n", "print(confusion_matrix(y, y_predicted))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "#### Train-test Data Split\n", "\n", "When building a machine learning model, it is important to evaluate the trained model on data that was not used to fit it, since the **generalization** ability of the model on new unseen data is of primary concern. \n", "\n", "Correct evaluation of a model is done by leaving out a subset of the data when training the model, and using it afterwards for model evaluation.\n", "\n", "Scikit-learn provides the function `sklearn.model_selection.train_test_split` to automatically split a dataset into two subsets: **training dataset** and **testing dataset**. This function shuffles the data and randomly splits it into a train and test set. Setting the `random_state` parameter allows to obtain deterministic results when using a random number generator. Setting `stratify=y` will ensure that the training and testing datasets have the same proportions of data points from the 3 classes of irises. " ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=123, test_size=0.25, stratify=y)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training data inputs (112, 4)\n", "Training labels (112,)\n", "Testing data inputs (38, 4)\n", "Testing labels (38,)\n" ] } ], "source": [ "print('Training data inputs', X_train.shape)\n", "print('Training labels', y_train.shape)\n", "print('Testing data inputs', X_test.shape)\n", "print('Testing labels', y_test.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the `bincount()` function to examine how the data from different classes were distributed in the training and testing datasets. In the next cell, we can see that the datasets are stratified. " ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[38 37 37]\n", "[12 13 13]\n" ] } ], "source": [ "print(np.bincount(y_train))\n", "print(np.bincount(y_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's re-train and re-evaluate the model." ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37%\n" ] } ], "source": [ "# 1. initialize the model\n", "knn_model = neighbors.KNeighborsClassifier()\n", "\n", "# 2. fit the model on train data\n", "knn_model.fit(X_train, y_train)\n", "\n", "# 3. evaluate the model on test data\n", "accuracy = knn_model.score(X_test, y_test)\n", "\n", "print(f'The test accuracy is {round(accuracy, 4) * 100}%')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "This example was not the best though, because the obtained score on the unseen test data (97.37%) is typically lower than the accuracy obtained by evaluating the model on the training data (96.67% in this case). This is probably due to the small dataset. In practice, evaluating a machine learning model on the training data is unacceptable in all scenarios.\n", "\n", "Finally, how do we know how many nearest neighbors to use: 5, 7, 29? Well, it is not easy to answer that question. First, we can make an intuitive guess based on our understanding of the dataset, or second, we can run the model several times using different numbers of nearest neighbors and see which model performs the best. The second approach is more common in practice. In an ensuing section on hyperparameter tuning, we will learn about different strategies for searching for model hyperparameters that result in improved model performance." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary\n", "\n", "If we select only 2 features of the iris data, we can also inspect the decision boundary. Let's select the last two features, fit a model, and plot the decision boundary for the model using the function in the following cell. " ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "X1 = iris.data[:, [2, 3]] # select only the last two features\n", "y1 = iris.target\n", "\n", "X1_train, X1_test, y1_train, y1_test = train_test_split(X1, y1, random_state=123, test_size=0.25, stratify=y1)\n", "\n", "knn_model_2 = neighbors.KNeighborsClassifier()\n", "\n", "knn_model_2.fit(X1_train, y1_train)\n", "\n", "accuracy = knn_model_2.score(X1_test, y1_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The code in this cell is not required to quizzes or assignments\n", "\n", "from matplotlib.colors import ListedColormap\n", "\n", "def plot_decision_regions(X, y, classifier, test_idx=None, resolution=0.02):\n", " \n", " # Adapted from Python Machine Learning (2nd Ed.) Code Repository, Sebastian Raschka, \n", " # available at: [https://github.com/rasbt/python-machine-learning-book-2nd-edition]\n", " \n", " # setup marker generator and color map\n", " markers = ('s', 'x', 'o', '^', 'v')\n", " colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')\n", " cmap = ListedColormap(colors[:len(np.unique(y))])\n", "\n", " # plot the decision surface\n", " x1_min, x1_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n", " x2_min, x2_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n", " xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, resolution),\n", " np.arange(x2_min, x2_max, resolution))\n", " Z = classifier.predict(np.array([xx1.ravel(), xx2.ravel()]).T)\n", " Z = Z.reshape(xx1.shape)\n", " plt.contourf(xx1, xx2, Z, alpha=0.3, cmap=cmap)\n", " plt.xlim(xx1.min(), xx1.max())\n", " plt.ylim(xx2.min(), xx2.max())\n", "\n", " for idx, cl in enumerate(np.unique(y)):\n", " plt.scatter(x=X[y == cl, 0], \n", " y=X[y == cl, 1],\n", " alpha=0.8, \n", " c=colors[idx],\n", " marker=markers[idx], \n", " label=cl, \n", " edgecolor='black')\n", " \n", " plt.xlabel('petal length')\n", " plt.ylabel('petal width')\n", " plt.legend(loc='upper left')\n", " plt.tight_layout()\n", " plt.show()\n", " \n", "plot_decision_regions(X1, y1, classifier=knn_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.2 Support Vector Machines (SVM) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Support Vector Machines** are supervised learning algorithms used for classification, regression, and outlier detection. SVM are one of the most powerful models in machine learning suited for handling complex and high-dimensional datasets. \n", "\n", "SVM algorithm solves an optimization problem to identify a *decision boundary* (also referred to as *hyperplane*) that separates class instances in an optimal manner. Specifically, depending on the dimensionality of the data, to separate two-dimensional data into two groups we can use a line (one dimension), then to separate three-dimensional data we can use a plane (two dimensions), or to separate N-dimensional data we can use a hyperplane (N-1 dimensions). \n", "\n", "For instance, in the following figure, all lines correctly separate the classes of blue circles and red squares. The question is how to find the best decision boundary?\n", "\n", "\"Drawing\"\n", "\n", "SVM solves this problem by finding the maximum *margin* between the decision boundary and the data points, where the main assumption is that the line that is farthest from all training examples will have better generalization capabilities. Conversely, hyperplanes that pass too close to the training examples will be sensitive to noise and, therefore, less likely to generalize well for data outside the training set. \n", "\n", "The algorithm first identifies a classifier that correctly classifies all the examples, and afterwards increases the geometric margin until it cannot increase the margin any further. In the following figure, the maximum margin boundary is specified by three data points, called *support vectors*.\n", "\n", "\"Drawing\"\n", "\n", "An advantage of SVM is that if the data is linearly separable, there is a unique global solution. An ideal SVM analysis should produce a hyperplane that completely separates the data points into two non-overlapping classes. However, perfect separation may not be possible, and in that situation, SVM finds the hyperplane that maximizes the margin and minimizes the misclassifications.\n", "\n", "The mathematical details regarding SVM and other machine learning models are omitted in this lecture. Instead, we will just treat the scikit-learn algorithm as a black box which fits an SVM and predicts on the data.\n", "\n", "Let's import SVM classifier from scikit-learn and fit it to the iris dataset. Note the `SVC` stands for Support Vector Classifier." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "LinearSVC()" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.svm import LinearSVC\n", "\n", "lin_svm = LinearSVC()\n", "lin_svm.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "linsvm_pred = lin_svm.predict(X_test)\n", "\n", "accuracy_score(y_test, linsvm_pred)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[12, 0, 0],\n", " [ 0, 13, 0],\n", " [ 0, 0, 13]], dtype=int64)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "confusion_matrix(y_test, linsvm_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And recall again that we could have obtained the same result using the `score` function. " ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lin_svm.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interestingly, SVM achieved 100% accuracy on the iris dataset. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### SVM Kernel Methods" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although the Linear SVM method is very efficient when the data points are linearly separable, in cases when the data are not linearly separable (as the data in the following figure), SVM will fail, as obviously, no linear discrimination can separate these data points.\n", "\n", "\"Drawing\"\n", "\n", "SVM can handle such cases by using a **kernel function**, which applies a functional transformation of the input data into a different space. This is shown in the following figure, where a non-linear kernel function $\\phi$ is used to map the data $x$ into a different space where the data is linearly separable. This is called the *kernel trick*, which means the kernel function transforms the data into a higher dimensional feature space to make it possible to perform the linear separation. \n", "\n", "\"Drawing\"\n", "\n", "SVM supports several kernels, including `linear`, `polynomial`, `sigmoid`, and `rbf` kernels. Linear kernel is just the regular SVM. Among the non-linear kernels, Gaussian radial basis function (RBF) kernel is one of the most commonly used. In scikit-learn, SVM with a linear kernel can be imported as LinearSVC (as we did above), while SVC provides access to the different kernels (meaning that LinearSVC can be implemented as SVC with the argument `kernel = 'linear'`).\n", "\n", "Let's try to apply SVM with polynomial and rbf kernels to the Iris dataset and compare the results." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SVC(kernel='poly')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SVC(kernel='poly')" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.svm import SVC\n", "\n", "poly_svm = SVC(kernel='poly')\n", "\n", "poly_svm.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9736842105263158" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "polysvm_pred = poly_svm.predict(X_test)\n", "\n", "accuracy_score(y_test, polysvm_pred)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SVC()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SVC()" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rbf_svm = SVC(kernel='rbf')\n", "\n", "rbf_svm.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9736842105263158" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rbfsvm_pred = rbf_svm.predict(X_test)\n", "\n", "accuracy_score(y_test, rbfsvm_pred)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[12, 0, 0],\n", " [ 0, 12, 1],\n", " [ 0, 0, 13]], dtype=int64)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "confusion_matrix(y_test, rbfsvm_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Therefore, for the Iris dataset the linear kernel has the best performance, indicating that the data is linearly separable. \n", "\n", "Due to supporting different types of kernels, SVM can tackle different kinds of datasets, both linear and non-linear. In the real world, many datasets are not linear. If we cannot get good results with linear models, it helps to apply SVM with non-linear kernels.\n", "\n", "Let's compare two SVM models using a linear and rbf kernel to the following data which is obviously non-linearly separable. " ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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1Sutv11RUQFYxtutW7ctty9fvrxFBizJuX2d3n//fb755psW93377bee/s+7detGz549+eyzzzzHKk117tyZ4uLiFt/ck30OKioq4rYvKSlhu+228y3WQpfOaxXP4MGDeeKJJzIdnrRCGD5TSl486Ny5M507d/blb/fu3ZuKigqmTZtG//79ARtTnjlzJjfddJMvz5mv3L5OQ4YMobq6mnfeeYd9990XgLfffpvq6mqGDh3q+vlWrlzJkiVLmiSdkp62bdsyYMAApk2bxtFHH73l9mnTpnHkkUfGfcyQIUN4/vnnm9z2yiuvMHDgQNq0aeNrvIUsndcqnsrKSn12AiYUn6lczhbOZ4sWLXIqKyuda6+91tl6662dyspKp7Ky0lmzZs2WNn379nUmT5685fqNN97olJeXO5MnT3Y++OAD58QTT3S6devm1NTU5OKfUBAOO+wwZ88993Rmz57tzJ4929ljjz2cww8/vEmbxq/TmjVrnIsvvtiZNWuWs3DhQmf69OnOkCFDnB/84Ad6nTLk6aefdtq0aeM89NBDzscff+xceOGFzlZbbeV89dVXjuM4zuWXX+6MGjVqS/svv/zS6dChg3PRRRc5H3/8sfPQQw85bdq0cf7xj3/k6p9QMLy+Vn/5y1+cKVOmOJ9++qnz4YcfOpdffrkDOJMmTcrVP6EgrFmzZss5CHBuu+02p7Ky0lm0aJHjOOH8TCl58cno0aMdoMVl+vTpW9oAziOPPLLlen19vXP11Vc7FRUVTmlpqbPffvs5H3zwQfaDLyArV650Tj75ZKdjx45Ox44dnZNPPrnFMs7Gr9P69eud4cOHO9tvv73Tpk0bZ8cdd3RGjx7tLF68OPvB57G7777b6dmzp9O2bVtnn332cWbOnLnlvtGjRzv7779/k/YzZsxw+vfv77Rt29bp1auXc++992Y54sLl5bW66aabnJ133tlp166ds8022zg//elPnRdeeCEHUReW2BL15pfRo0c7jhPOz1TEcaKzcERERERCQEulRUREJFSUvIiIiEioKHkRERGRUFHyIiIiIqGi5EVERERCRcmLiIiIhIqSFxEREQkVJS8iIiISKkpeREREJFSUvIiIiEioKHkRERGRUFHyIiIiIqHy/wHbjMjngaMcYQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.datasets import make_circles\n", "X2, y2 = make_circles(100, factor=.1, noise=.1)\n", "plt.scatter(X2[:, 0], X2[:, 1], c=y2, s=50, cmap='spring')" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "X2_train, X2_test, y2_train, y2_test = train_test_split(X2, y2, random_state=123, test_size=0.25)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SVC()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SVC()" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rbf_svm = SVC(kernel='rbf')\n", "\n", "rbf_svm.fit(X2_train, y2_train)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rbfsvm_pred = rbf_svm.predict(X2_test)\n", "\n", "accuracy_score(y2_test, rbfsvm_pred)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SVC(kernel='linear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SVC(kernel='linear')" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lin_svm_2 = SVC(kernel='linear')\n", "lin_svm_2 .fit(X2_train, y2_train)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "linsvm_pred = lin_svm_2.predict(X2_test)\n", "\n", "accuracy_score(y2_test, linsvm_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the model with the rbf kernel performed much better than the linear model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary\n", "\n", "We can also plot the decision boundary again when using two features of the dataset. Note that in this case because we use only two features, the accuracy of linear SVM is not 100%." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] }, { "data": { "image/png": "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f/58jBs3DlFRUaiqqsKGDRuQkZGBH374QezSROPv72829rJ9+/bo1KmTR4/JnD17NpKTkxEdHY2SkhK8/vrrqKysxKRJk8QuTTTPPfcckpKS8Oabb+Khhx7C/v37sXr1aqxevVrs0kSn1+vx6aefYtKkSVCp2MJYJJBVH374odC1a1fBx8dHGDRokLBz506xSxJdenq6AMDsM2nSJLFLE4Wl3wUA4dNPPxW7NFE98cQTDf/sdO7cWRgzZozw008/iV2W27n99tuFZ599VuwyRPXwww8LERERgre3txAZGSk88MADwvHjx8UuS3Rbt24V+vbtK6jVaqFnz57C6tWrxS7JLfz4448CAOHkyZNil+K2mGNHREREJBMcY0dEREQkE2zsiIiIiGSCjR0RERGRTLCxIyIiIpIJNnZEREREMsHGjoiIiEgm2NgRERERyQQbOyIiIiKZYGNHRNQGGRkZUCgUKC8vt3qMQqHAt99+67KamvPyyy8jPj5e7DKIyEnY2BERAVi3bh2CgoLELsOh3KmhJCLXYGNHREREJBNs7IhI8kaOHInp06dj+vTpCAoKQqdOnbBw4UI0Xgq7rq4Oc+bMwU033YT27dvj1ltvRUZGBgDD69THH38cFRUVUCgUUCgUePnllwEAaWlpGDJkCPz9/REeHo5HH30UJSUlbar34sWLePjhhxEcHIxOnTrh3nvvxblz5xr2T548Gffddx8WL16MiIgIdOrUCc888wzq6+sbjikqKsLdd98NX19fdOvWDV988QViYmKwbNkyAEBMTAwA4P7774dCoWj42eif//wnYmJiEBgYiEceeQRVVVVtuicicg9s7IhIFj777DOoVCr88ssveP/997F06VJ8/PHHDfsff/xx7NmzBxs2bMDRo0fx4IMP4q677sKpU6eQlJSEZcuWISAgAEVFRSgqKsLs2bMBGBrC1157DUeOHMG3336Ls2fPYvLkyXbXWVNTg1GjRqFDhw7YtWsXdu/ejQ4dOuCuu+5CXV1dw3Hp6ek4ffo00tPT8dlnn2HdunVYt25dw/6JEyeisLAQGRkZ2LRpE1avXm3ScP76668AgE8//RRFRUUNPwPA6dOn8e233+K7777Dd999h507d+Ktt96y+56IyI0IREQSd/vttwu9evUS9Hp9w7a5c+cKvXr1EgRBEH777TdBoVAIFy9eNDlvzJgxwrx58wRBEIRPP/1UCAwMbPG79u/fLwAQqqqqBEEQhPT0dAGAUFZWZvUcAMI333wjCIIgrF27VoiLizOpVaPRCL6+vsKPP/4oCIIgTJo0Sejataug1WobjnnwwQeFhx9+WBAEQThx4oQAQPj1118b9p86dUoAICxdutTi9xq99NJLgp+fn1BZWdmw7R//+Idw6623tnjvROT++MSOiGRh6NChUCgUDT8nJibi1KlT0Ol0OHToEARBQGxsLDp06NDw2blzJ06fPt3sdQ8fPox7770XXbt2hb+/P0aOHAkAyM/Pt6vOgwcP4rfffoO/v39DHR07dsT169dNaunTpw+8vLwafo6IiGh4Infy5EmoVCoMGjSoYf8tt9yC4ODgVtUQExMDf39/i9cmImlTiV0AEZGz6fV6eHl54eDBgybNEgB06NDB6nnXrl3D2LFjMXbsWKSlpaFz587Iz8/HnXfeafLa1NZaBg8ejM8//9xsX+fOnRv+7O3tbbJPoVBAr9cDgMnYwcasbW+quWsTkbSxsSMiWdi3b5/Zzz169ICXlxcGDhwInU6HkpIS3HbbbRbP9/HxgU6nM9mWm5uL0tJSvPXWW4iKigIAHDhwoE11Dho0CF999RVCQ0MREBBg1zV69uwJrVaLw4cPY/DgwQCA3377zSxLz9vb2+yeiEje+CqWiGShoKAAs2bNwsmTJ/Hll19i+fLlePbZZwEAsbGxmDBhAiZOnIjNmzfj7Nmz+PXXX/H2229j27ZtAAyvJ6urq/G///0PpaWlqKmpQXR0NHx8fLB8+XKcOXMGW7ZswWuvvdamOidMmICQkBDce++9+Pnnn3H27Fns3LkTzz77LC5cuNCqa/Ts2RP/7//9Pzz11FPYv38/Dh8+jKeeegq+vr4mr6NjYmLwv//9D8XFxSgrK2tT3UQkDWzsiEgWJk6ciNraWiQkJOCZZ57BjBkz8NRTTzXs//TTTzFx4kT8/e9/R1xcHP74xz/il19+aXgSl5SUhGnTpuHhhx9G586dsWjRInTu3Bnr1q3Dv/71L/Tu3RtvvfUWFi9e3KY6/fz8sGvXLkRHR+OBBx5Ar1698MQTT6C2ttamJ3jr169HWFgYRowYgfvvvx9Tp06Fv78/2rVr13DMkiVLsH37dkRFRWHgwIFtqpuIpEEhtHZQBhGRmxo5ciTi4+MbMtw80YULFxAVFYX//ve/GDNmjNjlEJFIOMaOiEiCduzYgerqavTr1w9FRUWYM2cOYmJiMGLECLFLIyIRsbEjIpKg+vp6zJ8/H2fOnIG/vz+SkpLw+eefm814JSLPwlexRERERDLByRNEREREMsHGjoiIiEgm2NgRERERyQQbOyIiIiKZYGNHREREJBNs7IiIiIhkgo0dERERkUywsSMiIiKSCTZ2RERERDLx/wHxFgD6Dcix+AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lin_svm_3 = SVC(kernel='linear')\n", "\n", "lin_svm_3.fit(X1_train, y1_train)\n", "\n", "accuracy = lin_svm_3.score(X1_test, y1_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=lin_svm_3)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 94.74 %\n" ] }, { "data": { "image/png": "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HCqVCsOGDWveft111yE4ONimGmJjY+Hv72/1vYlI2lRiF0BE5GwGgwFeXl7Yv3+/WbMEAD169Ghzv8uXL2PixImYOHEi0tPTERoaisLCQtxyyy1ml007W8vw4cPxySefWGwLDQ1t/t7b29tsm0KhgMFgAACzewdbauv51tp7byKSNjZ2RCQLe/futfi5X79+8PLywtChQ6HX61FWVoYbb7zR6v4+Pj7Q6/Vmz+Xn56OiogKvvvoqoqOjAQD79u3rUp3Dhg3D559/jrCwMAQEBNj1HomJidDpdDh48CCGDx8OAPj1118tsvS8vb0tjomI5I2XYolIFoqKijBnzhwcP34cn332Gd555x08+eSTAID4+Hg8+OCDmDJlCjZv3owzZ87gl19+wWuvvYatW7cCMF6erKurw//+9z9UVFSgvr4eMTEx8PHxwTvvvIPTp0/j66+/xosvvtilOh988EGEhITgjjvuwE8//YQzZ85gx44dePLJJ3Hu3Dmb3iMxMRH/7//9Pzz22GPIzs7GwYMH8dhjj8HX19fscnRsbCz+97//obS0FJWVlV2qm4ikgY0dEcnClClT0NDQAI1GgyeeeAKzZs3CY4891rz9ww8/xJQpU/C3v/0NCQkJ+P3vf4+ff/65+UxccnIyZsyYgfvuuw+hoaF4/fXXERoaivXr1+Pf//43rr/+erz66qtYunRpl+r08/PDzp07ERMTg7vvvhv9+/fHI488goaGhk6dwfvoo48QHh6OsWPH4q677sL06dPh7++Pbt26Nb9m2bJl2LZtG6KjozF06NAu1U1E0qAQbL0pg4jITaWkpCApKak5w80TnTt3DtHR0fjvf/+LCRMmiF0OEYmE99gREUnQ9u3bUVdXh0GDBqGkpATz5s1DbGwsxo4dK3ZpRCQiNnZERBLU1NSEhQsX4vTp0/D390dycjI++eQTixWvRORZeCmWiIiISCa4eIKIiIhIJtjYEREREckEGzsiIiIimWBjR0RERCQTbOyIiIiIZIKNHREREZFMsLEjIiIikgk2dkREREQywcaOiIiISCb+P1ns5vmJpkX5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rbf_svm_3 = SVC(kernel='rbf')\n", "\n", "rbf_svm_3.fit(X1_train, y1_train)\n", "\n", "accuracy = rbf_svm_3.score(X1_test, y1_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=rbf_svm_3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.3 Logistic Regression " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Logistic Regression** is one of the most frequently used classifiers, because it is simple and fast, it performs well on linearly separable data, and it can produce good baseline performance. The name can be confusing, because Logistic Regression is a classification algorithm, and not a regression algorithm.\n", "\n", "The main concept of classification with Logistic Regression is shown in the next figure. Namely, for a set of input features $x_0, x_1, ..., x_m$, the algorithm calculates a set of weights $w_0, w_1, ..., w_m$. The product of the input features and weights $\\boldsymbol{w^T*x}$ is passed through a **logistic sigmoid activation function**, also simply known as sigmoid function. The parameters (weights) of Logistic Regression $w_0, w_1, ..., w_m$ are learned by applying an optimization algorithm (e.g., gradient descent, or Newton methods), and it can be considered a simple type of neural network with one layer.\n", "\n", "\"Drawing\"\n", "\n", "The plot of a sigmoid function is shown on the next graph, for an input $z = \\boldsymbol{w^T*x}$. The function squeezes all inputs into the [0,1] range. The output of the sigmoid function can be interpreted as a probability that the data point belongs to class 1 or 0 in binary classification problems (two classes).\n", "\n", "\"Drawing\"\n", "\n", "For multiclass classification problems, the *softmax function* is used as a generalized version of the sigmoid function, and it outputs the probability that a data point belongs to multiple classes.\n", "\n", "Let's fit a Logistic Regression model to the Iris dataset." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "\n", "lr_model_1 = LogisticRegression()\n", "lr_model_1.fit(X_train, y_train)\n", "\n", "accuracy = lr_model_1.score(X_test, y_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lr_model_2 = LogisticRegression()\n", "\n", "lr_model_2.fit(X1_train, y1_train)\n", "\n", "accuracy = lr_model_2.score(X1_test, y1_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=lr_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.4 Decision Trees " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Decision trees** is a machine learning algorithm based on applying an intuitive way to classify or label objects, by simply asking a series of questions designed to help the classification. A simple example is shown below, where the decision tree starts from the root node and splits the data at each next node based on selected features and a threshold value. The nodes create the branches of the tree.\n", "\n", "The total number of times the nodes are split is the *depth* of the tree. We can typically set a limit for the maximum depth of the tree. The ending nodes in the tree are called leaf nodes.\n", "\n", "Decision trees can be applied for classification and regression of numerical and categorical features. For numerical data, the same concept applies, where the tree can split the data based on selected features and threshold values. \n", "\n", "To make predictions on new data, we follow the branches from the root node to a leaf node by following the splits based on the values of the input features. The predicted class is the value associated with the leaf node reached.\n", "\n", "\"Drawing\"\n", "Figure source: Reference [1]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The trick in splitting the nodes is to ask the right questions. In training a decision tree classifier, the algorithm looks at the data and selects the features and threshold values that contain the most information (i.e., maximize the information gain). Several splitting criteria are available in scikit-learn. In the following example, `criterion='gini'` indicates that the \"gini impurity\" criterion is used. \n", "\n", "Here is an example of training a decision tree classifier in scikit-learn on the Iris dataset. " ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "from sklearn.tree import DecisionTreeClassifier\n", "\n", "tree_model_1 = DecisionTreeClassifier(criterion='gini', max_depth=4)\n", "\n", "tree_model_1.fit(X_train, y_train)\n", "\n", "tree_pred = tree_model_1.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, tree_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Scikit-learn has a function for plotting decision trees. In the plot below, we can see that splitting was done mostly based on the features `X[2]` and `X[3]`. For instance, in the root node if the petal length is < 2.45 cm, then split the node, etc. " ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAJ8CAYAAABunRBBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC2wElEQVR4nOzdd1QU1/8+8IdiAbFjQVFQEKWvvSuCFRR7QRGxxGDDBtEYkxhjYgEb9hKxIAY+gr1jixRLUAR7iRVjwUKRKju/P/iyPwmI9NnyvM7hHHZ3yrMsM7y5M/deNUEQBBARERGRylAXOwARERERlS0WgEREREQqhgUgERERkYphAUhERESkYlgAEhEREakYFoBEREREKoYFIBEREZGKYQFIREREpGJYABIRERGpGBaARERERCqGBSARERGRimEBSERERKRiWAASERERqRgWgEREREQqhgUgERERkYphAUhERESkYlgAEhEREakYFoBEREREKoYFIBEREZGKYQFIREREpGJYABIRERGpGBaARERERCqGBSARERGRimEBSERERKRiWAASERERqRgWgEREREQqhgUgERERkYphAUhERESkYlgAEhEREakYFoBEREREKoYFIBEREZGKYQFIREREpGJYABIRERGpGBaARERERCqGBSARERGRimEBSERERKRiWAASERERqRgWgEREREQqhgUgERERkYphAUhERESkYlgAEhEREakYFoBEREREKoYFIBEREZGK0RQ7ACmvp0+fIi4uTuwYVAy6urpo2LCh2DGIiKiEsQCkUvH06VOYmpoiOTlZ7ChUDNra2rh9+zaLQCIiJcMCkEpFXFwckpOT4efnB1NTU7HjUBHcvn0bzs7OiIuLYwFIRKRkWABSqTI1NUWLFi3EjkFERESfYScQIiIiIhXDApCIiIhIxbAAJKWipqYGiUSCu3fvAgAmTZqEpk2bwtraGoMHD8b79+8BAB8+fIBEIkH58uXx/PnzUs8VHh6ONm3awMLCAtbW1ggICMh3+fj4eNSvXx8TJkyQPbdgwQLo6elBIpFAIpHA19e3tGMTEZGSYgFISkVDQwNRUVFo2rQpAMDR0RG3bt3C9evX0bRpU/z6668AgGrVqiEqKgr16tUr1PbfvXtXpFxVq1ZFYGAgbty4gRMnTmDGjBl48+bNF5f//vvvYWNjk+v5KVOm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15c/XlpaiuzsbABvr3weP34ckydPrjF2ZeAVQCK8bdWZmpoiKysLffr0AQDY2Njg008/hZWVFczMzODg4FDpunPmzMGYMWPQq1cv9OvXTz6pua6uLqKiorB48WL4+fmhqKgI48aNg729vVJjt7CwwLx582BnZwdBELBo0SL5CeHOnTto3rx5hXXS0tIQHBwMS0tLeTxz5syBj48P/vOf/1T5FcSqVaswdepUBAYGol27duXu/xGb1HIIvL2X79ChQygpKYGpqSnc3d0REhJSZQ7Lrvrm5uZCJpPBwsICoaGhSn0t9cX81Zw/VSS1vGlra2Pr1q0YP3483rx5gwEDBshnI6kub/PmzYO+vj6cnZ0BAPb29ggPD0dJSQkcHR0hCAL09PSwfft2GBoaKvV1VqneswgTqSFVnNC8rr788kvhq6++qtWykydPFu7du1en51+/fr2wc+fOekQmCB9++KHw8OHDco8p+z1nDmumyjlk/mqm7PwJguLvO/NWM0XyVpXTp08LLi4uFR5XRj7Uo4lBRHKGhobYvHkzcnJyKnx9+3f1uUK3cOHCOq/z/PlzODk54c2bN/KhDqhqzKF6Y/7UkyrmrToRERFYtWpVg/X4ZgFIpGb8/f3h7+8vdhjllA1CS7XDHKo35k89qWLequPl5VXn+0frgp1AiIiIiCSGVwBJkq5fvy52CJLRUO81c9h4GuK9Zv4al7Leb+ZNNSgjDywASVKMjY2hr68PT09PsUORFH19fRgbGyvluZhDcSgrh8yfeBTJIfOmehTdJ2WCoCJD+RM1kgcPHsjHXaLGYWxsXG7iekUxh41PmTlk/sShaA6ZN9WiaD5ZABIRERFJDDuBEBEREUkMC0AiIiIiiWEBSERERCQxLACJiIiIJIYFIBEREZHEsAAkIiIikhgWgEREREQSwwKQiIiISGJYABIRERFJDAtAIiIiIolhAUhEREQkMSwAiYiIiCSGBSARERGRxLAAJCIiIpIYFoBEREREEsMCkIiIiEhiWAASERERSQwLQCIiIiKJYQFIREREJDEsAImIiIgkhgUgERERkcSwACQiIiKSGBaARERERBLDApCIiIhIYlgAEhEREUkMC0AiIiIiiWEBSERERCQxLACJiIiIJIYFIBEREZHEsAAkIiIikhgWgEREREQSwwKQiIiISGJYABIRERFJDAtAIiIiIolhAUhEREQkMSwAiYiIiCSGBSARERGRxLAAJCIiIpIYFoBEREREEsMCkIiIiEhiWAASERERSQwLQCIiIiKJYQFIREREJDEsAImIiIgkhgUgERERkcSwACQiIiKSGBaARERERBLDApCIiIhIYv4/M5ZUcVQArfwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn import tree\n", "\n", "plt.figure(figsize=(8,8))\n", "tree.plot_tree(tree_model_1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary\n", "\n", "The decision boundary is shown in the figure below. The decision tree algorithm separates the data by dividing the space of the input features into rectangles. \n", "\n", "One issue with Decision Trees is that it is easy to create trees that overfit the data. That is, such models can fit the training data almost perfectly, to the point where they begin fitting the noise in the data. This can be seen below for the decision boundary for the second class. " ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 94.74 %\n" ] }, { "data": { "image/png": "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4xAREVHj4HfsXKTo8mVoISA8LszkeHjrcGghoOjyZYcfWxRFpE6Zgg3ffINtmzahdWysw49BREREjY9X7FwkpGVLKCDHxTOFJscvnr4IBeQIadnS4cceP3kyVq9di89XrIC/nx8KLl5EwcWLqKysdPixiIiIqPEw2LlI186dERsRje2fbTf6Hp0gCNj++c+IjYhG186dHX7spR99hJLSUvS//35Etmunf325YYPDj0VERESNh7diXUQul2Py/03AxFnT8PnML9D3qT4Ibx2Oi6cvYvvnPyNvTx4yZr3hlH52YnGxw/dJRERErsdg50J39u2LjFlvYN7S9/BJ6qcGfewyZr3RaH3siIiISBoY7Fzszr590b9370adeYKIiIikicHODcjlcnTv0sXVZRAREZGH42UhIiIiIolgsCMiIiKSCAa7hhDFv3+ILi7E+fTn2ATOlYiIyFMx2DWAlyAAgoCKqipXl+J0FVVVgCDozpmIiIjcEh+eaACFKKJFeTkKi4oAAL7e3pDJZC6uyrFEUURFVRUKi4rQorwcCl6xIyIiclsMdg0UUV4OACjUaACptigRBLQoL9efKxEREbknBrsGkgGILC9H2LVrqJbLAYldsYMowksQeKWOiIjIAzDYOYhCFKHQal1dBhERETVhEr13SERERNT0MNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEcOYJIiKiBhIEAUcOHUFxUTGCQoKQ0CUB8gbOH25un844FkmHxwS79PR0ZGVl4fjx4/Dx8UFSUhLeeustxMfHm91m27ZtGDBggNHyY8eOoV27ds4sl4iImohdW3chc3EmLly4AAEC5JAjKioKY1LHIGlAkkP32bNPT+z5eY9Dj0XS4jERPzs7G+PHj8eePXuwZcsWaDQaDBo0CNeuXat32xMnTiA/P1//atOmTSNUTEREUrdr6y68Pu11qGJVGPHeCEz+ZjJGvDcCqlgVXp/2OnZt3eWwfZYryrFk/hLIImUOOxZJj8dcsfv+++8N3q9cuRJhYWHYv38/+vbta3HbsLAwtGjRwonVERFRUyMIAjIXZyK2ZyyGzh2qvx0anRCNoXOHYu2MtchcnIme/XpafavU3D5van8Tqquq0eGeDugztg+i20QDsoYdi6TJY//X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REQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSoXR1AUSOlHvpEirUarPjvioVYkJDG7EiIiKixsNgR5KRe+kSHnn1VcBCsINKhazZsxnuiIhIkhjsSDIq1GpArcZrSiVae3kZjZ+ursZMtdriFT0iIiJPxmBHktPaywvtvL1ND2o0jVsMERFRI+LDE0REREQSwWBHREREJBEMdkREREQSwWBHREREJBF8eIIk53R1tU3LiYiIpILBjiTDV6UCVCrMVKvNP/2qUunWIyIikiCPC3ZLlizBO++8g/z8fCQkJCAjIwN9+vQxue62bdswYMAAo+XHjh1Du3btnF0qNbKY0FBkzZ5ttk/dhStXAOj63R0/d85onLNSEBGRp/OoYPfll19i4sSJWLJkCXr16oUPPvgAgwcPxtGjRxETE2N2uxMnTiAgIED/PpT/8pYsc8Es99IlTFm2jLNSEBGRpHlUsFuwYAHGjBmD5557DgCQkZGBH374AUuXLkV6errZ7cLCwtCiRYtGqpLcEWelICKipsBjnoqtqqrC/v37MWjQIIPlgwYNwq5duyxu27VrV0RGRmLgwIHYunWrM8skN1czK0Xdl6mwR0RE5Gk85opdUVERtFotwsPDDZaHh4ejoKDA5DaRkZFYvnw5unfvDrVajU8//RQDBw7Etm3b0LdvX5PbqNVqqGtdtSktLXXcSRARERE5kccEuxoymczgvSiKRstqxMfHIz4+Xv8+MTEReXl5mDdvntlgl56ejtmzZzuuYCIiIqJG4jG3YkNCQqBQKIyuzhUWFhpdxbOkZ8+eOHXqlNnxqVOnoqSkRP/Ky8uzu2YiIiKixuQxwc7b2xvdu3fHli1bDJZv2bIFSUlJVu/n4MGDiIyMNDuuUqkQEBBg8CIiIiLyBB51KzYtLQ1PP/00evTogcTERCxfvhy5ublISUkBoLvadv78eXzyyScAdE/NxsXFISEhAVVVVVi9ejXWr1+P9evXu/I0yIU4KwUREUmZRwW7J554ApcvX8acOXOQn5+Pjh074ttvv0VsbCwAID8/H7m5ufr1q6qqMHnyZJw/fx4+Pj5ISEjAN998g3vv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IDo6GkuXLjW5/rJlyxATE4OMjAy0b98ezz33HJ599lnMmzevkSsnIiIicj6PCXZVVVXYv38/Bg0aZLB80KBB2LVrl8ltdu/ebbT+3XffjX379qHazJf61Wo1SktLDV5EREREnsBjgl1RURG0Wi3Cw8MNloeHh6OgoMDkNgUFBSbX12g0KCoqMrlNeno6AgMD9a9oM9/jIiIiInI3HhPsashkMoP3oigaLatvfVPLa0ydOhUlJSX6V15eXgMrJiIiImocHvPwREhICBQKhdHVucLCQqOrcjUiIiJMrq9UKtGyZUuT26hUKqhsaM1BRERE5C485oqdt7c3unfvji1bthgs37JlC5KSkkxuk5iYaLT+5s2b0aNHD3h5eTmtViIiIiJX8JhgBwBpaWn48MMP8dFHH+HYsWOYNGkScnNz9X3ppk6dipEjR+rXT0lJwdmzZ5GWloZjx47ho48+QmZmJiZPnuyqUyAiIiJyGo+5FQsATzzxBC5fvow5c+YgPz8fHTt2xLfffovY2FgAQH5+PnJzc/Xrt27dGt9++y0mTZqE999/H1FRUVi0aBF72BEREZEkeVSwA4Bx48Zh3LhxJsdWrVpltKxfv344cOCAk6siIiIicj2PuhVLREREROYx2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUQw2BERERFJBIMdERERkUR4TLArLi7G008/jcDAQAQGBuLpp5/G1atXLW4zevRoyGQyg1fPnj0bp2AiIiKiRqZ0dQHWeuqpp3Du3Dl8//33AICxY8fi6aefxqZNmyxud88992DlypX6997e3k6tk4iIiMhVPCLYHTt2DN9//z327NmDO+64AwCwYsUKJCYm4sSJE4iPjze7rUqlQkRERGOVSkREROQyHnErdvfu3QgMDNSHOgDo2bMnAgMDsWvXLovbbtu2DWFhYWjbti2Sk5NRWFjo7HKJiIiIXMIjrtgVFBQgLCzMaHlYWBgKCgrMbjd48GA8/vjjiI2NxenTpzFz5kzceeed2L9/P1Qqlclt1Go11Gq1/n1paWnDT4CIiIioEbj0it2sWbOMHm6o+9q3bx8AQCaTGW0viqLJ5TWeeOIJ3HfffejYsSOGDBmC7777DidPnsQ333xjdpv09HT9AxqBgYGIjo5u+IkSERERNQKXXrGbMGEChg0bZnGduLg4HD58GBcvXjQau3TpEsLDw60+XmRkJGJjY3Hq1Cmz60ydOhVpaWn696WlpQx3RERE5BFcGuxCQkIQEhJS73qJiYkoKSnB3r17cfvttwMAfvnlF5SUlCApKcnq412+fBl5eXmIjIw0u45KpTJ7m5aIiIjInXnEwxPt27fHPffcg+TkZOzZswd79uxBcnIy7r//foMnYtu1a4cNGzYAAMrLyzF58mTs3r0bZ86cwbZt2zBkyBCEhITg4YcfdtWpEBERETmNRwQ7APjss8/QqVMnDBo0CIMGDULnzp3x6aefGqxz4sQJlJSUAAAUCgVycnLw4IMPom3bthg1ahTatm2L3bt3w9/f3xWnQERERORUHvFULAAEBwdj9erVFtcRRVH/u4+PD3744Qdnl0VERETkNjzmih0RERERWcZgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRSlcX4O5EUQQAlFZUuLgSIgvUalRUVwIVpa6uhMgqajVQWV6BstIyV5dC5PbKy8oB3MgklshEa9Zqwv766y/ccsstri6DiIiImri8vDy0atXK4jq8YleP4OBgAEBubi4CAwNdXI17KC0tRXR0NPLy8hAQEODqctwGPxdj/ExM4+dijJ+JafxcjDXFz0QURZSVlSEqKqredRns6iGX676GGBgY2GT+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tree_model_2 = DecisionTreeClassifier(criterion='gini', max_depth=6)\n", "\n", "tree_model_2.fit(X1_train, y1_train)\n", "\n", "tree_pred = tree_model_2.predict(X1_test)\n", "\n", "accuracy = accuracy_score(y1_test, tree_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=tree_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One possible way to address overfitting is to use an **ensemble method**, which essentially averages the results of many individual estimators that overfit the data. The resulting ensemble estimators are usually more robust and accurate than the individual estimators which make them up. \n", "\n", "One of the most common ensemble methods is Random Forest, in which the ensemble is made up of many decision trees. This is the topic of the next section." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.5 Random Forest " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we mentioned, **Random Forest** uses many decision trees (`n_estimators` below) to create a more robust model that has reduced overfitting on the data. Typically, using a larger number of estimators results in improved performance, but increased computational cost. \n", "\n", "In the next cell, we used 100 estimators (decision trees). The parameter `n_jobs` specifies the number of CPU cores used for speeding up the model training by using parallel processing, where different cores can process different decision trees." ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "\n", "rf_model_1 = RandomForestClassifier(criterion='gini', n_estimators=100, random_state=1, n_jobs=2)\n", "\n", "rf_model_1.fit(X_train, y_train)\n", "\n", "rf_pred = rf_model_1.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, rf_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] }, { "data": { "image/png": "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UsO2Nm3aYNCgQUhNTTXZf8qUKdi6dSvOnDlj2JaUlIRff/0VBw8etOmcvGNHREREYrLnjp3HzIqtqKjA0aNH0b9/f6Pt/fv3x4EDB8wec/DgQZP9H3zwQRw5cgSVFr7Ur1arUVxcbPQiIiIi8gQeE+wKCgqg1WoRFhZmtD0sLAy5ublmj8nNzTW7v0ajQUFBgdljUlNTERgYaHhFWfgeFxEREZG78ZhgV0Umkxm9FwTBZFtt+5vbXmXq1KkoKioyvLKysupYMREREVH98JjJEyEhIVAoFCZ35/Lz803uylUJDw83u79SqUTTpk3NHqNSqaCyozUHERERkbvwmDt23t7e6NKlC3bu3Gm0fefOnUhMTDR7TEJCgsn+O3bsQNeuXeHl5eWyWomIiIjE4DHBDgBSUlLwySef4NNPP8WZM2cwceJEZGZmGvrSTZ06FSNGjDDsn5SUhEuXLiElJQVnzpzBp59+ipUrV2LSpEliXQIRERGRy3jMo1gAePrpp3Ht2jXMmTMHOTk5aNeuHbZv346YmBgAQE5ODjIzMw37t2jRAtu3b8fEiRPx0UcfITIyEosWLWIPOyIiIpIkj+pjJwb2sSMiIiIxSbKPHRERERFZx2BHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQSwWBHREREJBEMdkREREQS4THBrrCwEM899xwCAwMRGBiI5557Djdu3LB6zKhRoyCTyYxe3bp1q5+CiYiIiOqZUuwCbPXss8/i8uXL+P777wEAY8eOxXPPPYdt27ZZPe6hhx7CqlWrDO+9vb1dWicRERGRWDwi2J05cwbff/89Dh06hPvuuw8AsGLFCiQkJODcuXOIi4uzeKxKpUJ4eHh9lUpEREQkGo94FHvw4EEEBgYaQh0AdOvWDYGBgThw4IDVY/fs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2dPs8d7e3tBqtUbbzp49i4KCArz99tuIiooCABw5cqROdXbu3Blff/01QkNDERAQ4NBntG7dGhqNBsePH0eXLl0AAL///rtJLz0vLy+TayIiaeOjWCKShKysLKSkpODcuXP46quvsHjxYrzyyisAgFatWmHYsGEYMWIENm3ahIsXL+KXX37BO++8g+3btwPQP54sLS3F//73PxQUFKCsrAzR0dHw9vbG4sWL8eeff2Lr1q1444036lTnsGHDEBISgscffxw//fQTLl68iLS0NLzyyiu4fPmyTZ/RunVr/P3vf8fYsWNx+PBhHD9+HGPHjoWPj4/R4+jY2Fj873//Q25uLgoLC+tUNxF5BgY7IpKEESNGoLy8HPfeey/GjRuH5ORkjB071jC+atUqjBgxAv/+978RFxeHxx57DD///LPhTlxiYiKSkpLw9NNPo1mzZnj33XfRrFkzrF69Gv/3f/+Htm3b4u2338a8efPqVKevry/27t2L6OhoDB48GG3atMELL7yA8vJyu+7grVmzBmFhYejVqxeeeOIJjBkzBv7+/mjUqJFhn/nz52Pnzp2IiopCp06d6lQ3EXkGmWDrlzKIiNxUnz590LFjR0MPt4bo8uXLiIqKwo8//oh+/fqJXQ4RiYTfsSMi8kC7du1CaWkp2rdvj5ycHEyePBmxsbHo1auX2KURkYgY7IiIPFBlZSWmTZuGP//8E/7+/khMTMQXX3xhMuOViBoWPoolIiIikghOniAiIiKSCAY7IiIiIolgsCMiIiKSCAY7IiIiIolgsCMiIiKSCAY7IiIiIolgsCMiIiKSCAY7IiIiIolgsCMiIiKSiP8Hhh73qBtogrYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rf_model_2 = RandomForestClassifier(criterion='gini', n_estimators=100, random_state=1, n_jobs=2)\n", "\n", "rf_model_2.fit(X1_train, y1_train)\n", "\n", "rf_pred = rf_model_2.predict(X1_test)\n", "\n", "accuracy = accuracy_score(y1_test, rf_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=rf_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.6 Naive Bayes " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Naive Bayes** are a set of learning algorithms that are based on applying Bayes' theorem. According to the theorem, the posterior probability of the class label $y$ given input features $x_1, \\dots, x_n$ can be calculated based on the prior probability of the class $P(y)$, the likelihood of the training data given the class label $P(x_1, \\dots, x_n \\mid y)$, and the evidence $P(x_1, \\dots, x_n)$.\n", "\n", "$P(y \\mid x_1, \\dots, x_n) = \\frac{P(y) P(x_1, \\dots, x_n \\mid y)}\n", " {P(x_1, \\dots, x_n)}$\n", " \n", "This method is called Naive Bayes, because it is based on a \"naive\" assumption that the input features are independent given the class label. \n", "\n", "The implementation is shown below. " ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "from sklearn.naive_bayes import GaussianNB\n", "\n", "nb_model_1 = GaussianNB()\n", "\n", "nb_model_1.fit(X_train, y_train)\n", "\n", "nb_pred = nb_model_1.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, nb_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Scikit-learn offers several different implementations of Naive Bayes, which differ based on the assumption made about the distribution of the training data. These include: GaussianNB (typically used with continuous features that have normal distribution), BernoulliNB (used with binary features), CategoricalNB (used with categorical features), and MutlinomialNB (used with discrete features that represent counts or frequencies)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.7 Perceptron " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Perceptron** classification algorithm has similarities to the Logistic Regression classifier, and they are both linear classifiers that can be seen as a simple one-layer neural network. Both algorithms learn a set of weights and use similar learning strategies. One difference is that Perceptron uses a step threshold function to output the class prediction, and Logistic Regression uses a sigmoid logistic function to output the class prediction. \n", "\n", "Perceptron outputs a binary class label based on whether the product of input and weights is above or below a certain threshold. The parameters in Perceptron are updated via a simple learning algorithm. Whenever a misclassification occurs, the algorithm tries to minimize classification errors.\n", "\n", "Perceptron is most suitable for binary classification of linearly separable data. \n", "\n", "The following figure depicts classification with Perceptron. \n", "\n", "\"Drawing\"\n", "Figure source: Reference [2]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the model below, the argument `max_iter` is the number of epochs (i.e., the number of passes through the training data), and `eta0` is the learning rate of the model. " ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 65.79 %\n" ] } ], "source": [ "from sklearn.linear_model import Perceptron\n", "\n", "ppn_model_1 = Perceptron(max_iter=40, eta0=0.1)\n", "\n", "ppn_model_1.fit(X_train, y_train)\n", "\n", "ppn_pred = ppn_model_1.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, ppn_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This type of learning algorithms require more finetuning of the hyperparameters. One of the most important parameters is the learning rate (`eta0` in this case). Let's try to change it." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 78.95 %\n" ] } ], "source": [ "ppn_model_2 = Perceptron(max_iter=40, eta0=0.001)\n", "\n", "ppn_model_2.fit(X_train, y_train)\n", "\n", "ppn_pred = ppn_model_2.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, ppn_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although the accuracy improved with a different learning rate, the performance is still not very good. One reason may be because this algorithm is more sensitive to the range of input data, and we may need to scale the training data to obtain better performance. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 81.58 %\n" ] }, { "data": { "image/png": "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iMjpGOzIo2g0ACQSID5e7K4QERE5HefYkedQqQBIjIviERERtSIMdmQXthYvtsZcYWOlRqMvUHzWsF2lggZS/CWFcdViIiKiVoTBjlqkseLFAACFQvu9Jgr288N1qRQzNBqTwsaCIEANbRHiaRoN5IIACIJ2Xp1EAASgRiqDn1+wzc9ERETkrtyuQPEnn3yCd999FwUFBUhMTMSyZcswbNgwi99PT09HSkoKTp48icjISMyZMwfJyclNvh8LFDfOUvFiHV+FwmodPHP2Z2WhpLLSbFtmbi4kALpFRQEAft+QA4S0A0aNAgD4+QUjISGpWfcjIiJyVR5boPjbb7/FzJkz8cknn2Do0KH49NNPMWbMGGRmZiI62rSI7IULF3D33XdjypQpSE1Nxd69e/Hss88iNDQUDz74oAhP4JmaG9qaIikhwWKbUWHj1FSoe4xlaRMiIiK42YjdoEGD0K9fP6xYsUJ/rFu3brjvvvuwaNEik+/PnTsXW7ZswalTp/THkpOTcezYMezfv79J9+SInQtLTcXW/H7AnLli94SIiMhhmjNi5zblTmpra3H48GGMHj3a6Pjo0aOxb98+s+fs37/f5Pt33nknDh06hDoLk/qVSiXKy8uNPuSCDh7UhroRI8XuCRERkctwm2B35coVqNVqhIeHGx0PDw9HYWGh2XMKCwvNfl+lUuHKlStmz1m0aBECAwP1n6gb87jItWxN89PuAztwoNhdISIichluE+x0JBLjImWCIJgca+z75o7rzJs3D2VlZfpPbm5uC3tMdpeaqv2T8+qIiIiMuM3iifbt20Mmk5mMzhUVFZmMyul06NDB7PflcjnatWtn9hyFQgFFM0pzkBPdCHScV0dERGSe24zYeXt7o3///ti+fbvR8e3bt2PIkCFmz0lKSjL5/rZt2zBgwAB4eXk5rK/kADcWSmzt+jzn1REREVngNsEOAFJSUvD555/j3//+N06dOoVZs2YhJydHX5du3rx5mDBhgv77ycnJuHjxIlJSUnDq1Cn8+9//xurVqzF79myxHoFsYbhQYuBAzqsjIiKywG1exQLAI488gqtXr+L1119HQUEBevTogZ9++gkxMTEAgIKCAuTk5Oi/HxcXh59++gmzZs3Cxx9/jMjISHzwwQesYedmtqb51Yc6IiIissit6tiJgXXsxLX1nUzt6lculCAiolbK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ppn_model_3 = Perceptron(max_iter=40, eta0=0.001)\n", "\n", "ppn_model_3.fit(X1_train, y1_train)\n", "\n", "ppn_pred = ppn_model_3.predict(X1_test)\n", "\n", "accuracy = accuracy_score(y1_test, ppn_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))\n", "\n", "plot_decision_regions(X1, y1, classifier=ppn_model_3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.2.8 Stochastic Gradient Descent (SGD) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Stochastic Gradient Descent** (SGD) is another popular estimator in scikit-learn. In fact, SGD is an optimization technique, and it does not correspond to a specific family of machine learning models. In other words, SGD is just an approach to train a model using stochastic gradient descent to learn an optimal set of model parameters that minimize a loss function.\n", "\n", "SGD in scikit-learn supports several loss functions, and depending on the loss parameters that we select, it is used for different types of classification tasks. For instance, if we use `loss='perceptron'` it will be equivalent to solving the Perceptron algorithm with SGD optimization. Using `loss='log_loss'` is equivalent to training Logistic Regression with SGD using log loss, which is also known as logistic loss or binary cross-entropy loss. Similarly, using `loss='hinge'` corresponds to linear SVM. " ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 92.11 %\n" ] } ], "source": [ "from sklearn.linear_model import SGDClassifier\n", "\n", "sgd_model_1 = SGDClassifier(max_iter=80, loss='hinge', random_state=1)\n", "\n", "sgd_model_1 .fit(X_train, y_train)\n", "\n", "sgd_pred = sgd_model_1 .predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, sgd_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 92.11 %\n" ] } ], "source": [ "from sklearn.linear_model import SGDClassifier\n", "\n", "sgd_model_1 = SGDClassifier(max_iter=80, loss='log_loss', random_state=1)\n", "\n", "sgd_model_1 .fit(X_train, y_train)\n", "\n", "sgd_pred = sgd_model_1 .predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, sgd_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 65.79 %\n" ] } ], "source": [ "from sklearn.linear_model import SGDClassifier\n", "\n", "sgd_model_2 = SGDClassifier(max_iter=40, loss='perceptron', random_state=1)\n", "\n", "sgd_model_2.fit(X_train, y_train)\n", "\n", "sgd_pred = sgd_model_2.predict(X_test)\n", "\n", "accuracy = accuracy_score(y_test, sgd_pred)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to Perceptron, SGD is sensitive to feature scaling. And also, scikit-learn offers SGDRegressor for regression tasks. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.3 Supervised Learning: Regression " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Regression\n", "\n", "Estimator functions in scikit-learn are implemented in a very similar way as the classification estimators. \n", "\n", "For instance, a Linear Regression estimator is imported and implemented in scikit-learn as follows." ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the following cell, a new instance of a Linear Regression estimator is created, and we named it `lr_model`. " ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "lr_model = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "LinearRegression()\n" ] } ], "source": [ "print(lr_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create data for fitting the Linear Regression model. For example, we can create data for a line `2 * x + 1`." ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5 6 7 8 9]\n", "[ 1 3 5 7 9 11 13 15 17 19]\n" ] }, { "data": { "image/png": "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N9ygJUuWqKqqKomV4X/+53+Ul5enQ4cOad68eckuJ2OdPn1aJSUl+vnPf66///u/10033aQnn3wy2WVlnIceekj//u//zgywQe68807l5+frueeei7bddddduvzyy/VP//RPSawsdTHDEsfZs2f15ptvatGiRTHtixYt0muvvZakqtAnFApJknJzc5NcSWZbvXq1vva1r+mrX/1qskvJaLt379aMGTN09913Ky8vT9OmTdOzzz6b7LIy2ty5c/Vv//Zvev/99yVJb731ll599VXdcccdSa4sdaXNjx8m2scff6yenh7l5+fHtOfn56u9vT1JVUE698ue5eXlmjt3roqLi5NdTsbatm2bmpqadOTIkWSXkvF+97vfqbq6WuXl5frRj36kxsZG/eAHP5DT6dSKFSuSXV5GevDBBxUKhTR58mRlZWWpp6dHP/7xj3Xvvfcmu7SURWC5AMuyYs5t2+7XhtH1/e9/X//xH/+hV199NdmlZKwTJ05ozZo12rt3r1wuV7LLyXi9vb2aMWOGHn/8cUnStGnT9Nvf/lbV1dUEliTZvn27ampq9MILL2jKlClqbm7W2rVrVVBQoJUrVya7vJREYInjS1/6krKysvrNpnR0dPSbdcHoeeCBB7R79241NDRo/PjxyS4nY7355pvq6OjQ9OnTo209PT1qaGjQpk2bFIlElJWVlcQKM4vX65XP54tpu+GGG1RbW5ukivA3f/M3euihh/Ttb39bknTjjTfqww8/VFVVFYFlmFjDEsdll12m6dOna9++fTHt+/bt05w5c5JUVeaybVvf//73tWPHDh04cEBFRUXJLimjLViwQG+//baam5ujx4wZM/Tnf/7nam5uJqyMsltuuaXfa/7vv/++Jk6cmKSK8Mc//lEOR+xXbFZWFq81XwJmWAZRXl6u5cuXa8aMGZo9e7Y2b96strY2fe9730t2aRln9erVeuGFF/TSSy8pOzs7OvPldrs1duzYJFeXebKzs/utH7riiis0btw41hUlwQ9/+EPNmTNHjz/+uO655x41NjZq8+bN2rx5c7JLy1h+v18//vGPNWHCBE2ZMkXHjh3Tz372M91///3JLi112RjU008/bU+cONG+7LLL7JKSEvvQoUPJLikjSRrw2LJlS7JLw/+79dZb7TVr1iS7jIxVV1dnFxcX206n0548ebK9efPmZJeU0cLhsL1mzRp7woQJtsvlsq+99lr74YcftiORSLJLS1nswwIAAIzHGhYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjPd/QeFIAhn7ckEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(10)\n", "y = 2 * x + 1\n", "\n", "print(x)\n", "print(y)\n", "\n", "plt.plot(x, y, 'o')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the input data in scikit-learn needs to be a 2-dimensional array, we will add a second dimension to `X` with `np.newaxis`." ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(10, 1)\n", "(10,)\n" ] } ], "source": [ "# The input data needs to be a 2D array\n", "X = x[:, np.newaxis]\n", "print(X.shape)\n", "print(y.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next line fits the model to the data. " ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "LinearRegression()" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fit the model on our data\n", "lr_model.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The learned model parameters are shown next." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2.]\n", "1.0\n" ] } ], "source": [ "# underscore at the end indicates a fit parameter\n", "print(lr_model.coef_)\n", "print(lr_model.intercept_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In linear regression, the goal is to learn a linear model (line) that fits the input data in an optimal way. The estimator has two parameters: coefficient (the slope of the line) and intercept (the point of interception of the y-axis). The algorithm solves the linear regression by minimizing the deviations (residuals) of the input data from the line. \n", "\n", "\"Drawing\"\n", "\n", "The two parameters shown in the above cell are correctly estimated, since the data was generated from the line `2 * x + 1`, and the model found a line with a slope `2` and intercept of approximately `1`, as expected." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Regression - Example 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at another example where the data does not come from a straight line. " ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAGdCAYAAABZ+qqcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAiMUlEQVR4nO3df3BU1f3/8dcmgazS7LahxiyyxcBodU1RAYNAW6sFjHVinanWacVBa2cKolIZa/3Rb2OmjrF16lg7mlZqcZyIOP7AmvloFGdKxJ8BglNiHH9AqlA2UkjZjdisNTnfP2hSYhLM3ey5N/fm+ZjZP/bmLPvmTPS+uOee9w0ZY4wAAAAsyvO6AAAAEHwEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWFbj9hb29vdqzZ4+KiooUCoXc/noAAJAFY4y6uro0ZcoU5eU5v17heuDYs2eP4vG4218LAAByYNeuXZo6darjz7keOIqKiiQdKjgSibj99QAAIAvpdFrxeLz/PO6U64GjbxklEokQOAAA8Jlsb4fgplEAAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAda43/gIAALnX02vU3N6pvV3dKikKq6KsWPl5Y+eZZQQOAAB8rrE1qZqGNiVT3f3HYtGwqqsSqiyPeVjZ/7CkAgCAjzW2JrW8vmVA2JCkjlS3lte3qLE16VFlAxE4AADwqZ5eo5qGNpkhftZ3rKahTT29Q41wF4EDAACfam7vHHRl43BGUjLVreb2TveKGgaBAwAAn9rbNXzYyGacTQQOAAB8qqQonNNxNhE4AADwqYqyYsWiYQ23+TWkQ7tVKsqK3SxrSAQOAAB8Kj8vpOqqhCQNCh1976urEmOiHweBAwAAH6ssj6luySyVRgcum5RGw6pbMmvM9OFw1Pjr+OOP1/vvvz/o+FVXXaV77703Z0UBAICRqyyPaVGiNDidRjdv3qyenp7+962trVq0aJEuvvjinBcGAABGLj8vpHkzJntdxrAcBY5jjjlmwPs77rhDM2bM0FlnnZXTogAAQLBk/SyVTz75RPX19Vq1apVCoeEv2WQyGWUymf736XQ6268EAAA+lfVNo0899ZQOHDigyy+//IjjamtrFY1G+1/xeDzbrwQAAD4VMsZk1WD93HPP1cSJE9XQ0HDEcUNd4YjH40qlUopEItl8NQAAcFk6nVY0Gs36/J3Vksr777+vF154QU8++eTnji0sLFRhYWE2XwMAAAIiqyWVNWvWqKSkROeff36u6wEAAAHkOHD09vZqzZo1Wrp0qQoKsr7nFAAAjCOOA8cLL7ygDz74QD/60Y9s1AMAAALI8SWKxYsXK8v7TAEAwDjFs1QAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhX4HUBAACMZz29Rs3tndrb1a2SorAqyoqVnxfyuqycI3AAAOCRxtakahralEx19x+LRcOqrkqosjzmYWW5x5IKAAAeaGxNanl9y4CwIUkdqW4tr29RY2vSo8rsIHAAAOCynl6jmoY2mSF+1nespqFNPb1DjfAnAgcAAC5rbu8cdGXjcEZSMtWt5vZO94qyjMABAIDL9nYNHzayGecHBA4AAFxWUhTO6Tg/IHAAAOCyirJixaJhDbf5NaRDu1UqyordLMsqAgcAAC7LzwupuiohSYNCR9/76qpEoPpxEDgAAPBAZXlMdUtmqTQ6cNmkNBpW3ZJZgevDQeMvAAA8Ulke06JEKZ1GAQCAXfl5Ic2bMdnrMqxjSQUAAFhH4AAAANY5Dhz/+Mc/tGTJEk2ePFlHH320TjvtNG3dutVGbQAAICAc3cPxr3/9SwsWLNDZZ5+tZ599ViUlJdqxY4e++MUvWioPAAAEgaPA8etf/1rxeFxr1qzpP3b88cfnuiYAABAwjpZUnn76ac2ZM0cXX3yxSkpKdPrpp2v16tVH/Ewmk1E6nR7wAgAA44ujwLFz507V1dXphBNO0HPPPadly5bp2muv1UMPPTTsZ2praxWNRvtf8Xh81EUDAAB/CRljzEgHT5w4UXPmzNErr7zSf+zaa6/V5s2b9eqrrw75mUwmo0wm0/8+nU4rHo8rlUopEomMonQAAOCWdDqtaDSa9fnb0RWOWCymRCIx4NjJJ5+sDz74YNjPFBYWKhKJDHgBAIDxxVHgWLBggd5+++0Bx9555x1NmzYtp0UBAIBgcRQ4rrvuOr322mu6/fbb9d5772nt2rW6//77tWLFClv1AQCAAHAUOM444wytX79ejzzyiMrLy/WrX/1Kd999ty699FJb9QEAgABwdNNoLoz2phMAAOA+V28aBQAAyAaBAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQVeFwAANvT0GjW3d2pvV7dKisKqKCtWfl7I67KAcYvAASBwGluTqmloUzLV3X8sFg2ruiqhyvKYh5UB4xdLKgACpbE1qeX1LQPChiR1pLq1vL5Fja1JjyoDxjcCB4DA6Ok1qmlokxniZ33Hahra1NM71AgANhE4AARGc3vnoCsbhzOSkqluNbd3ulcUAEncwwHAh4a7IXRv1/Bh43AjHQcgdwgcAHzlSDeElhSFR/RnjHQcgNxhSQWAb3zeDaH/OphRLBrWcJtfQzoUTirKiq3XCmAgAgcAXxjJDaG/+r+39P/OT0jSoNDR9766KkE/DsADBA4AvjDSG0K/NGmi6pbMUml04LJJaTSsuiWz6MMBeIR7OAD4gpMbQr972nFalCil0ygwhhA4APiC0xtC8/NCmjdjss2SADjAkgoAX6goK+aGUMDHHAWOW2+9VaFQaMCrtLTUVm0A0C8/L6TqKm4IBfzK8RWOU045Rclksv+1fft2G3UBwCCV5TFuCAV8yvE9HAUFBVzVAOCZyvIYN4QCPuQ4cLz77ruaMmWKCgsLNXfuXN1+++2aPn36sOMzmYwymUz/+3Q6nV2lAPBf3BAK+I+jJZW5c+fqoYce0nPPPafVq1ero6ND8+fP1/79+4f9TG1traLRaP8rHo+PumgAAOAvIWNM1s9pPnjwoGbMmKEbbrhBq1atGnLMUFc44vG4UqmUIpFItl8NAABclE6nFY1Gsz5/j6oPx6RJk/S1r31N77777rBjCgsLVVhYOJqvAQAAPjeqPhyZTEZvvfWWYjHuDAcAAMNzFDiuv/56NTU1qb29Xa+//rouuugipdNpLV261FZ9AAAgABwtqezevVs/+MEPtG/fPh1zzDE688wz9dprr2natGm26gMAAAHgKHCsW7fOVh0AACDAeHgbAACf0dNraC6XYwQOAAAO09iaVE1Dm5Kp7v5jsWhY1VUJ2uePAk+LBQDgvxpbk1pe3zIgbEhSR6pby+tb1Nia9Kgy/yNwAACgQ8soNQ1tGqobZt+xmoY29fRm3S9zXCNwAAAgqbm9c9CVjcMZSclUt5rbO90rKkAIHAAASNrbNXzYyGYcBiJwAAAgqaQonNNxGIjAAQCApIqyYsWiYQ23+TWkQ7tVKsqK3SwrMAgcAABIys8LqboqIUmDQkff++qqBP04skTgAACX9PQavbpjv/7yxj/06o797HYYgyrLY6pbMkul0YHLJqXRsOqWzKIPxyjQ+AsAXEAzKf+oLI9pUaKUTqM5FjLGuBqx0+m0otGoUqmUIpGIm18NAJ7oayb12f/Z9p2++Jcz/GC052+WVADAIppJAYcQOADAIppJAYcQOADAIppJAYcQOADAIppJAYcQOADAIppJAYcQOADAIppJAYcQOADAMppJHRkN0cYHGn8BgAtoJjU0GqKNHzT+AgB4goZo/kLjLwCA79AQbfwhcAAAXEdDtPGHwAEAcB0N0cYfAgcAwHU0RBt/CBwAANfREG38IXAAAFxHQ7Txh8ABAPAEDdHGFxp/AQA8Q0O08YPAAQDwVH5eSPNmTPa6DFjGkgoAALCOKxxAwPX0Gi5XA/AcgQMIMB6MBWCsYEkFCKi+B2N9tn10R6pby+tb1Nia9KgyAOMRgQMIIB6MlRs9vUav7tivv7zxD726Yz/zBYwCSypAADl5MBa7A4bGchSQW1zhAAKIB2ONDstRQO4ROIAA4sFY2WM5CrCDwAEEEA/Gyp6T5SgAI0fgAAKIB2Nlj+UowA4CBxBQPBgrOyxHAXaMapdKbW2tbr75Zq1cuVJ33313jkoCkCs8GMu5vuWojlT3kPdxhHQotLEc5Qwdb5F14Ni8ebPuv/9+zZw5M5f1AMgxHozlTN9y1PL6FoWkAaGD5ajssMUYUpZLKh999JEuvfRSrV69Wl/60pdyXRMAeCrIy1FuNzNjizH6ZHWFY8WKFTr//PO1cOFC3XbbbUccm8lklMlk+t+n0+lsvhIAXBXE5Si3rzR83hbjkA5tMV6UKPX1vLJcNDKOA8e6devU0tKizZs3j2h8bW2tampqHBcGAF4L0nJU35WGz578+6402LhyMx463rJcNHKOllR27dqllStXqr6+XuHwyO7Qvummm5RKpfpfu3btyqpQAEB2vGpmFvQtxiwXOeMocGzdulV79+7V7NmzVVBQoIKCAjU1Nemee+5RQUGBenp6Bn2msLBQkUhkwAsA4B6vmpkFeYsxHWmdc7Sk8u1vf1vbt28fcOyKK67QSSedpJ///OfKz8/PaXEAgNHz6kpDkLcYj4flolxzFDiKiopUXl4+4NikSZM0efLkQccBAGODV1cagrzFOOjLRTbQaRQAAs7LZ+sEdYtxkJeLbBlVp1FJ2rhxYw7KAADY4vWVhiBuMQ7ycpEtXOEAgHHA6ysNfVuMv3vacZo3Y7Kvw4bEAxKzETLGuHoLbTqdVjQaVSqVYscKALiMJlW5NZ76cIz2/E3gAABgFMZLiBvt+XvU93AAADCeBakjrU3cwwEAAKwjcAAAAOsIHAAAwDoCBwAAsI7AAQAArCNwAAAA6wgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKwjcAAAAOsIHAAAwDoCBwAAsK7A6wIAoE9Pr1Fze6f2dnWrpCisirJi5eeFvC4LQA4QOACMCY2tSdU0tCmZ6u4/FouGVV2VUGV5zMPKAOQCSyoAPNfYmtTy+pYBYUOSOlLdWl7fosbWpEeVAcgVAgcAT/X0GtU0tMkM8bO+YzUNberpHWoEAL8gcADwVHN756ArG4czkpKpbjW3d7pXFICcI3AA8NTeruHDRjbjAIxNBA4AniopCud0HICxicABwFMVZcWKRcMabvNrSId2q1SUFbtZFoAcI3AA8FR+XkjVVQlJGhQ6+t5XVyXoxwH4HIEDgOcqy2OqWzJLpdGByyal0bDqlsyiDwcQADT+AjAmVJbHtChRSqdRIKAIHADGjPy8kObNmOx1GQAsYEkFAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWOcocNTV1WnmzJmKRCKKRCKaN2+enn32WVu1AQCAgHAUOKZOnao77rhDW7Zs0ZYtW3TOOefou9/9rt58801b9QEAgAAIGWPMaP6A4uJi3XnnnbryyitHND6dTisajSqVSikSiYzmqwEAgEtGe/7O+uFtPT09euyxx3Tw4EHNmzdv2HGZTEaZTKb/fTqdzvYrAQCATzm+aXT79u36whe+oMLCQi1btkzr169XIpEYdnxtba2i0Wj/Kx6Pj6pgAADgP46XVD755BN98MEHOnDggJ544gn96U9/UlNT07ChY6grHPF4nCUVAAB8ZLRLKqO+h2PhwoWaMWOG/vjHP45oPPdwAADgP6M9f4+6D4cxZsAVDAAAgM9ydNPozTffrPPOO0/xeFxdXV1at26dNm7cqMbGRlv1AQCAAHAUOD788ENddtllSiaTikajmjlzphobG7Vo0SJb9QEAgABwFDgeeOABW3UAAIAAy7oPBwC4rafXqLm9U3u7ulVSFFZFWbHy80JelwVgBAgcAHyhsTWpmoY2JVPd/cdi0bCqqxKqLI95WBmAkeBpsQDGvMbWpJbXtwwIG5LUkerW8voWNbYmPaoMwEgROACMaT29RjUNbRqqYVDfsZqGNvX0jqqlEADLCBwAxrTm9s5BVzYOZyQlU91qbu90rygAjhE4AIxpe7uGDxvZjAPgDQIHgDGtpCic03EAvMEulRxgqx5gT0VZsWLRsDpS3UPexxGSVBo99N8dgLGLwDFKbNUD7MrPC6m6KqHl9S0KSQNCR1+sr65KEPKBMY4llVFgqx7gjsrymOqWzFJpdOCySWk0rLolswj3gA9whSNLn7dVL6RDW/UWJUr5lxeQA5XlMS1KlLJ8CfgUgSNLTrbqzZsx2b3CgADLzwvx3xPgUyypZImtegAAjByBI0ts1QMAYORYUskSW/UAYOyhTcHYReDIElv1AGBsoU3B2MaSyiiwVQ8AxgbaFIx9XOEYJbbqAYC3aFPgDwSOHGCrHgB4hzYF/sCSCgDA12hT4A8EDgCAr9GmwB9YUhkBtlkBwNhFmwJ/IHB8DrZZAcDYRpsCf2BJ5QjYZgUA/kCbgrGPKxzDYJsVAPgLbQrGNgLHMNhmBQD+Q5uCsYsllWGwzQoAgNwhcAyDbVYAAOQOgWMYfdushlv5C+nQbhW2WQEA8PkIHMPo22YlaVDoYJsVAADOEDiOgG1WAADkBrtUPgfbrAAAGD0CxwiwzQoAgNFhSQUAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgnaPAUVtbqzPOOENFRUUqKSnRhRdeqLfffttWbQAAICAcBY6mpiatWLFCr732mjZs2KBPP/1Uixcv1sGDB23VBwAAAiBkjDHZfvif//ynSkpK1NTUpG9+85sj+kw6nVY0GlUqlVIkEsn2qwEAgItGe/4e1T0cqVRKklRcXDyaPwYAAARc1g9vM8Zo1apV+vrXv67y8vJhx2UyGWUymf736XQ6268EAAA+lfUVjquvvlp/+9vf9MgjjxxxXG1traLRaP8rHo9n+5UAAMCnsrqH45prrtFTTz2lF198UWVlZUccO9QVjng8zj0cAAD4yGjv4XC0pGKM0TXXXKP169dr48aNnxs2JKmwsFCFhYWOCwMAAMHhKHCsWLFCa9eu1V/+8hcVFRWpo6NDkhSNRnXUUUdZKRAAAPifoyWVUCg05PE1a9bo8ssvH9GfwbZYAAD8x/UlFQAAAKd4lgoAALCOwAEAAKwjcAAAAOsIHAAAwLqsW5sDGJ2eXqPm9k7t7epWSVFYFWXFys8beicYAPgdgQPwQGNrUjUNbUqmuvuPxaJhVVclVFke87AyALCDJRXAZY2tSS2vbxkQNiSpI9Wt5fUtamxNelQZANhD4ABc1NNrVNPQpqE62vQdq2loU08vPW8ABAuBA3BRc3vnoCsbhzOSkqluNbd3ulcUALiAwAG4aG/X8GEjm3EA4BcEDsBFJUXhnI4DAL8gcAAuqigrViwa1nCbX0M6tFuloqzYzbIAwDoCB+Ci/LyQqqsSkjQodPS9r65K0I8DQOAQOACXVZbHVLdklkqjA5dNSqNh1S2ZRR8OAIFE4y/AA5XlMS1KlNJpFMC4QeAAPJKfF9K8GZO9LgMAXMGSCgAAsI7AAQAArCNwAAAA6wgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKwjcAAAAOsIHAAAwDoCBwAAsI7AAQAArCNwAAAA6wgcAADAugKvC8iFnl6j5vZO7e3qVklRWBVlxcrPC3ldFgAA+C/fB47G1qRqGtqUTHX3H4tFw6quSqiyPOZhZQAAoI+vl1QaW5NaXt8yIGxIUkeqW8vrW9TYmvSoMgAAcDjfBo6eXqOahjaZIX7Wd6ymoU09vUONAAAAbvJt4Ghu7xx0ZeNwRlIy1a3m9k73igIAAEPybeDY2zV82MhmHAAAsMe3gaOkKJzTcQAAwB7fBo6KsmLFomENt/k1pEO7VSrKit0sCwAADMG3gSM/L6TqqoQkDQodfe+rqxL04wAAYAzwbeCQpMrymOqWzFJpdOCySWk0rLols+jDAQDAGOG48deLL76oO++8U1u3blUymdT69et14YUXWihtZCrLY1qUKKXTKAAAY5jjwHHw4EGdeuqpuuKKK/S9733PRk2O5eeFNG/GZK/LAAAAw3AcOM477zydd955NmoBAAABZf1ZKplMRplMpv99Op22/ZUAAGCMsX7TaG1traLRaP8rHo/b/koAADDGWA8cN910k1KpVP9r165dtr8SAACMMdaXVAoLC1VYWGj7awAAwBjm6z4cAADAHxxf4fjoo4/03nvv9b9vb2/XG2+8oeLiYn3lK1/JaXEAACAYHAeOLVu26Oyzz+5/v2rVKknS0qVL9eCDD+asMAAAEByOA8e3vvUtGWNs1AIAAAKKezgAAIB1BA4AAGCd9W2xAOzr6TU8wBDAmEbgAHyusTWpmoY2JVPd/cdi0bCqqxKqLI95WBkA/A9LKoCPNbYmtby+ZUDYkKSOVLeW17eosTXpUWUAMBCBA/Cpnl6jmoY2DbVnrO9YTUObenrZVQbAewQOwKea2zsHXdk4nJGUTHWrub3TvaIAYBgEDsCn9nYNHzayGQcANhE4AJ8qKQrndBwA2ETgAHyqoqxYsWhYw21+DenQbpWKsmI3ywKAIRE4AJ/KzwupuiohSYNCR9/76qoE/TgAjAkEDsDHKstjqlsyS6XRgcsmpdGw6pbMog8HgDGDxl+Az1WWx7QoUUqnUQBjGoEDCID8vJDmzZjsdRkAMCyWVAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1rncaNcZIktLptNtfDQAAstR33u47jzvleuDo6uqSJMXjcbe/GgAAjFJXV5ei0ajjz4VMtlElS729vdqzZ4+KiooUCn3+w6XS6bTi8bh27dqlSCTiQoU4HPPvLebfO8y9t5h/7ww398YYdXV1acqUKcrLc35HhutXOPLy8jR16lTHn4tEIvzSeYj59xbz7x3m3lvMv3eGmvtsrmz04aZRAABgHYEDAABYN+YDR2Fhoaqrq1VYWOh1KeMS8+8t5t87zL23mH/v2Jp7128aBQAA48+Yv8IBAAD8j8ABAACsI3AAAADrCBwAAMC6MRE47rvvPpWVlSkcDmv27NnatGnTEcc3NTVp9uzZCofDmj59uv7whz+4VGkwOZn/J598UosWLdIxxxyjSCSiefPm6bnnnnOx2mBx+rvf5+WXX1ZBQYFOO+00uwUGnNP5z2QyuuWWWzRt2jQVFhZqxowZ+vOf/+xStcHjdP4ffvhhnXrqqTr66KMVi8V0xRVXaP/+/S5VGxwvvviiqqqqNGXKFIVCIT311FOf+5mcnHeNx9atW2cmTJhgVq9ebdra2szKlSvNpEmTzPvvvz/k+J07d5qjjz7arFy50rS1tZnVq1ebCRMmmMcff9zlyoPB6fyvXLnS/PrXvzbNzc3mnXfeMTfddJOZMGGCaWlpcbly/3M6930OHDhgpk+fbhYvXmxOPfVUd4oNoGzm/4ILLjBz5841GzZsMO3t7eb11183L7/8sotVB4fT+d+0aZPJy8szv/vd78zOnTvNpk2bzCmnnGIuvPBClyv3v2eeecbccsst5oknnjCSzPr16484PlfnXc8DR0VFhVm2bNmAYyeddJK58cYbhxx/ww03mJNOOmnAsZ/85CfmzDPPtFZjkDmd/6EkEglTU1OT69ICL9u5v+SSS8wvfvELU11dTeAYBafz/+yzz5poNGr279/vRnmB53T+77zzTjN9+vQBx+655x4zdepUazWOByMJHLk673q6pPLJJ59o69atWrx48YDjixcv1iuvvDLkZ1599dVB488991xt2bJF//nPf6zVGkTZzP9n9fb2qqurS8XFxTZKDKxs537NmjXasWOHqqurbZcYaNnM/9NPP605c+boN7/5jY477jideOKJuv766/Xvf//bjZIDJZv5nz9/vnbv3q1nnnlGxhh9+OGHevzxx3X++ee7UfK4lqvzrusPbzvcvn371NPTo2OPPXbA8WOPPVYdHR1Dfqajo2PI8Z9++qn27dunWCxmrd6gyWb+P+u3v/2tDh48qO9///s2SgysbOb+3Xff1Y033qhNmzapoMDT/3R9L5v537lzp1566SWFw2GtX79e+/bt01VXXaXOzk7u43Aom/mfP3++Hn74YV1yySXq7u7Wp59+qgsuuEC///3v3Sh5XMvVeXdM3DT62cfUG2OO+Oj6ocYPdRwj43T++zzyyCO69dZb9eijj6qkpMRWeYE20rnv6enRD3/4Q9XU1OjEE090q7zAc/K739vbq1AopIcfflgVFRX6zne+o7vuuksPPvggVzmy5GT+29radO211+qXv/yltm7dqsbGRrW3t2vZsmVulDru5eK86+k/k7785S8rPz9/UKLdu3fvoDTVp7S0dMjxBQUFmjx5srVagyib+e/z6KOP6sorr9Rjjz2mhQsX2iwzkJzOfVdXl7Zs2aJt27bp6quvlnToBGiMUUFBgZ5//nmdc845rtQeBNn87sdiMR133HEDHs998sknyxij3bt364QTTrBac5BkM/+1tbVasGCBfvazn0mSZs6cqUmTJukb3/iGbrvtNq5uW5Sr866nVzgmTpyo2bNna8OGDQOOb9iwQfPnzx/yM/PmzRs0/vnnn9ecOXM0YcIEa7UGUTbzLx26snH55Zdr7dq1rJ9myencRyIRbd++XW+88Ub/a9myZfrqV7+qN954Q3PnznWr9EDI5nd/wYIF2rNnjz766KP+Y++8847y8vI0depUq/UGTTbz//HHHysvb+ApKz8/X9L//rUNO3J23nV0i6kFfVujHnjgAdPW1mZ++tOfmkmTJpm///3vxhhjbrzxRnPZZZf1j+/bnnPdddeZtrY288ADD7AtdhSczv/atWtNQUGBuffee00ymex/HThwwKu/gm85nfvPYpfK6Did/66uLjN16lRz0UUXmTfffNM0NTWZE044wfz4xz/26q/ga07nf82aNaagoMDcd999ZseOHeall14yc+bMMRUVFV79FXyrq6vLbNu2zWzbts1IMnfddZfZtm1b/5ZkW+ddzwOHMcbce++9Ztq0aWbixIlm1qxZpqmpqf9nS5cuNWedddaA8Rs3bjSnn366mThxojn++ONNXV2dyxUHi5P5P+uss4ykQa+lS5e6X3gAOP3dPxyBY/Sczv9bb71lFi5caI466igzdepUs2rVKvPxxx+7XHVwOJ3/e+65xyQSCXPUUUeZWCxmLr30UrN7926Xq/a/v/71r0f8/7it8y6PpwcAANaNiV0qAAAg2AgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKwjcAAAAOsIHAAAwDoCBwAAsI7AAQAArPv/HGZwzRWLVRYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create data\n", "np.random.seed(0)\n", "X = np.random.random(size=(20, 1))\n", "y = 3 * X.squeeze() + 2 + np.random.randn(20)\n", "\n", "plt.plot(X.squeeze(), y, 'o')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's apply Linear Regression to obtain a new model that fits the data. " ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LinearRegression()" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr_model_2 = LinearRegression()\n", "lr_model_2.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can predict the target values `y_predicted` for given input values `X`, as with classifier estimators. " ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "y_predicted = lr_model_2.predict(X)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "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Op3G7t27rWjP9kK9/osWLTKGDRvW5dj9999vDBkyxLQeE0FPAkekPnejOqSyf/9+bdiwQVOmTOlyfMqUKXrrrbcCfs/bb7/td/65556rd999V19++aVpvdpRONf/YD6fTy0tLcrIyDCjRdsK99ovXbpUmzdvVklJidkt2lo41//FF1/U6NGj9atf/UpHH320jjvuOF1//fX64osvrGjZVsK5/uPHj9f27dv18ssvyzAM7dy5U88++6ymTp1qRcsJLVKfu5Y/vO3rdu3apba2Nh111FFdjh911FFqbGwM+D2NjY0Bzz9w4IB27doll8tlWr92E871P9ivf/1r7du3T5dccokZLdpWONf+448/1s0336w33nhDffpE9a9u3Avn+m/ZskVvvvmmUlNTtWLFCu3atUtXX321mpubmccRonCu//jx4/Xkk0/q0ksvVWtrqw4cOKALLrhAv/vd76xoOaFF6nM3JiaNHvyYesMwun10faDzAx1Hz4R6/Ts89dRTWrBggZ5++mllZmaa1Z6t9fTat7W16fLLL1dpaamOO+44q9qzvVB+930+nxwOh5588kkVFBTo/PPP17333qvHHnuMuxxhCuX619XV6dprr9Xtt9+uDRs2qKqqSvX19Zo9e7YVrSa8SHzuRvWfSd/4xjeUnJzsl2ibmpr80lSHrKysgOf36dNHAwcONK1XOwrn+nd4+umnddVVV+mZZ57RpEmTzGzTlkK99i0tLXr33Xe1ceNGXXPNNZLaPwANw1CfPn306quv6pxzzrGkdzsI53ff5XLp6KOP7vJ47hNPPFGGYWj79u0aPny4qT3bSTjXv6ysTBMmTNANN9wgSRoxYoQGDBigM844QwsXLuTutoki9bkb1Tsc/fr106hRo/Taa691Of7aa69p/PjxAb9n3Lhxfue/+uqrGj16tPr27Wtar3YUzvWX2u9szJw5U8uWLWP8NEyhXvv09HRt2rRJ7733XufX7Nmzdfzxx+u9997T2LFjrWrdFsL53Z8wYYJ27NihvXv3dh776KOPlJSUpCFDhpjar92Ec/0///xzJSV1/chKTk6W9NW/tmGOiH3uhjTF1AQdS6OWLFli1NXVGT//+c+NAQMGGP/6178MwzCMm2++2bjyyis7z+9YnnPdddcZdXV1xpIlS1gW2wuhXv9ly5YZffr0MR588EGjoaGh82vPnj3R+iPErVCv/cFYpdI7oV7/lpYWY8iQIcb3vvc94/333zfWrl1rDB8+3PjRj34UrT9CXAv1+i9dutTo06eP8dBDDxmbN2823nzzTWP06NFGQUFBtP4IcaulpcXYuHGjsXHjRkOSce+99xobN27sXJJs1udu1AOHYRjGgw8+aAwdOtTo16+fMXLkSGPt2rWdtRkzZhgTJ07scv6aNWuM0047zejXr59x7LHHGuXl5RZ3bC+hXP+JEycakvy+ZsyYYX3jNhDq7/7XETh6L9Tr/8EHHxiTJk0yDjvsMGPIkCHGvHnzjM8//9ziru0j1Ot///33G3l5ecZhhx1muFwu44orrjC2b99ucdfx7/XXX+/2/+Nmfe7yeHoAAGC6mFilAgAA7I3AAQAATEfgAAAApiNwAAAA0xE4AACA6QgcAADAdAQOAABgOgIHAAAwHYEDAACYjsABAABMR+AAAACmI3AAAADT/X/xVyM4z1D8eAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(X, y, 'o') # plot the training data with circle markers\n", "plt.plot(X, y_predicted) # plot the predicted line\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regression with Random Forest" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Besides Linear Regression, scikit-learn also offers many more sophisticated models for regression. In the next example, a Random Forest regression model is used to fit the data that we created. The output of the model is non-linear, and hence, this model fits better the data than the Linear Regression model." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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2Lt3r4LBoPr379/qfP/+/VVdXd3mc6qrq9u8vrm5WXv37lVRUVHC6nWreD7n4/3iF7/QwYMHdf311yeixLQQz+e8efNm3XvvvVq2bJkyMlzxn21KiOez3rZtm958803l5ORo8eLF2rt3r2677TbV1tYyzqId8XzO5557rh555BHdcMMNamxsVHNzs6688kr97ne/S0bJ3YYT34WuaLEIO36bdcuyOtx6va3r2zqP1mL9nMMWLVqkH/zgB3r88cdVUFCQqPLSRrSfczAY1Je+9CXNnTtXp512WrLKSyux/E6HQiF5PB498sgjmjhxoj772c/ql7/8pf7yl7/QatGJWD7niooK3XHHHfr+97+vVatWqaysTJWVlbr11luTUWq3kuzvQlf86XPyySfL5/OdkHxrampOSGJhhYWFbV6fkZGhvn37JqxWN4vncw57/PHH9bWvfU1PPPGEpkyZksgyXS/Wz7mhoUErV67UmjVr9I1vfEOS+fKzLEsZGRl66aWXdPHFFyeldreJ53e6qKhIAwcObLU99MiRI2VZlnbu3KkRI0YktGY3iudznjdvns477zx961vfkiSNHj1avXr10vnnn68f/ehHtCrbxInvQle0WGRlZWn8+PF6+eWXW51/+eWXde6557b5nMmTJ59w/UsvvaQJEyYoMzMzYbW6WTyfs2RaKm6++WY9+uij9I9GIdbPOS8vT+vXr9fatWsjt1tvvVWnn3661q5dq0mTJiWrdNeJ53f6vPPO0+7du3XgwIHIuU2bNsnr9WrQoEEJrdet4vmcDx06JK+39VeQz+eTdOwvanSdI9+FCRsWarPwVKaHH37YqqiosO666y6rV69e1ocffmhZlmXde++91pe//OXI9eEpNnfffbdVUVFhPfzww0w3jUKsn/Ojjz5qZWRkWPfff79VVVUVue3fv9+p/wmuEOvnfDxmhUQv1s+6oaHBGjRokHXttddaH3zwgbV06VJrxIgR1te//nWn/ie4Qqyf84IFC6yMjAzrgQcesLZu3Wq9+eab1oQJE6yJEyc69T/BFRoaGqw1a9ZYa9assSRZv/zlL601a9ZEpvWmwneha4KFZVnW/fffbw0ePNjKysqyxo0bZy1dujTys5tuusm64IILWl3/+uuvW2eddZaVlZVlDRkyxJo/f36SK3anWD7nCy64wJJ0wu2mm25KfuEuE+vvc0sEi9jE+llv2LDBmjJlitWjRw9r0KBB1qxZs6xDhw4luWr3ifVz/u1vf2uVlJRYPXr0sIqKiqwbb7zR2rlzZ5KrdpfXXnutw39zU+G7kG3TAQCAbVwxxgIAALgDwQIAANiGYAEAAGxDsAAAALYhWAAAANsQLAAAgG0IFgAAwDYECwAAYBuCBQAAsA3BAgAA2IZgAQAAbEOwAAAAtvn/uclIsg3jTWAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Fit a Random Forest\n", "from sklearn.ensemble import RandomForestRegressor\n", "rf_model = RandomForestRegressor()\n", "rf_model.fit(X, y)\n", "\n", "X_fit = np.linspace(0, 1, 100)[:, np.newaxis]\n", "y_predicted = rf_model.predict(X_fit)\n", "\n", "# Plot the data and the model prediction\n", "plt.plot(X, y, 'o')\n", "plt.plot(X_fit.squeeze(), y_predicted)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.4 Unsupervised Learning: Clustering \n", "\n", "**Unsupervised learning** algorithms employ data without labels, and often focus on finding similarities or patterns in the set of samples. Unsupervised learning comprises tasks such as *dimensionality reduction*, *clustering*, and *density estimation*. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clustering with k-Means\n", "\n", "Clustering methods find *clusters* in the data, i.e., they group together data points that are homogeneous with respect to a given criterion.\n", "\n", "A popular clustering algorithm is *k*-means clustering, which iteratively calculates distances from data points to centroids of clusters, until the distances from all data points to the centroids of the clusters are minimized. It employs the Expectation Maximization approach to cluster the data points." ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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v86aFfy5RSQqBby0d8WKFVzu5vLstGnTePHFF5k+fTp79+5lxYoVDWMrV67k3nvvZcuWLeTm5jJnzhxmzpzp9zm1tFfaNYcDPvussQLryJH+Pdxab/PmxgqsP/sZDBzo/1zDgC++MCuwdu8OhYWBVX/1Zc8e2LjRvBI0dqzrcyyGYY7t3m1WYB071v3VFBGJWuraKyIiIpaKmjojIiIiIt4oGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLxVsdgLRUXQ7fLYPaKug2CHJGgM1mdVQiIiLhoWQkihhOWPEwrHkC6k43bs8eCte+CDnDrYpMREQkfHSbJop8cA+s+o1rIgJweAssHAtHt1sSloiISFgpGYkSJ3bDv/4EGC3HDAfUVcPKRyIeloiISNgpGYkSm/8ONi+/DaMOtv4DaqoiF5OIiEgkKBmJEpWl3pMRAGcdnD4emXhEREQiRclIlEjLNR9g9caeAKldIhOPiIhIpCgZiRJDf+Y9GbHFw5AfQUJq5GISERGJBCUjUaJTL7jkfvdjtjhI6giX/mdkYxIREYkEJSNRZPw8uPIxSMpw3Z53McxYA5n9rIlLREQknFT0LIrYbObVkVF3w75VUFMJXQdCt4FWRyYiIhI+SkaiUHwynDPB6ihEREQiQ7dpRERExFJKRkRERMRSuk0Tg8oPmM+UGAbkF0LnvlZHJCIiErygrow888wz9OnTh+TkZEaMGMHq1as97rtixQpsNluL1/bt6voWqDNl8M8fwZO9YPFP4Y2fwdP94JWpUHXE6uhERESCE3Ay8vrrr3PPPffw4IMPsmHDBsaOHcukSZPYv3+/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.cluster import KMeans\n", "\n", "k_means = KMeans(n_clusters=3, random_state=0)\n", "\n", "k_means.fit(X_train)\n", "\n", "y_pred = k_means.predict(X_train)\n", "\n", "plt.scatter(X_train[:, 2], X_train[:, 3], c=y_pred, cmap='rainbow');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is one more example." ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.datasets import make_blobs\n", "# n_samples is number of blobs, centers is number of clusters, cluster_std is the standard deviation of each cluster\n", "X3, y3 = make_blobs(n_samples=300, centers=4, random_state=0, cluster_std=0.60)\n", "plt.scatter(X3[:, 0], X3[:, 1], s=50);" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "image/png": "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WLFihcTIaCIRQmDDhg04cOAAjhw5gry8PNkhTUhCiKibW4YTVYlFqE6cOIETJ05g0aJFSElJwaVLl/D4449j5syZUbVaEY7a2lr87Gc/Q25uLp599lk0Njb2fW3q1KkSI5OnpqYGNpsNNTU18Pl8OHPmDABg1qxZSE5OlhtcBJSXl6O4uBgLFizoW8GqqamJ6X03bW1t+Pbbb/s+/+6773DmzBmkpqYiNzdXYmRyrFu3Du+88w4OHjwIk8nUt8JlsVhgNBolRyfH5s2bsWzZMuTk5MDpdGLv3r04cuQIPvnkE9mhRY7MIymynD17VhQWForU1FRhMBjEjBkzRFlZmfjhhx9khyZNRUWFABD0I1aVlJQEHY/Dhw/LDi1iXn75ZTF9+nSh1+vFDTfcEPPHCA8fPhz0d6KkpER2aFIM9ZpRUVEhOzRpHnjggb7/MxkZGWLp0qXi0KFDssOKKLZNJyIiIs1E3010IiIikoaJBREREWmGiQURERFphokFERERaYaJBREREWmGiQURERFphokFERERaYaJBREREWmGiQURERFphokFERERaYaJBREREWmGiQURERFp5v8ByW6zeIal/6IAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k_means_2 = KMeans(n_clusters=4, random_state=0) # 4 clusters\n", "k_means_2.fit(X3)\n", "kmeans_pred = k_means_2.predict(X3)\n", "plt.scatter(X3[:, 0], X3[:, 1], c=kmeans_pred, s=50, cmap='rainbow');" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k_means_2 = KMeans(n_clusters=3, random_state=0) # 3 clusters\n", "k_means_2.fit(X3)\n", "kmeans_pred = k_means_2.predict(X3)\n", "plt.scatter(X3[:, 0], X3[:, 1], c=kmeans_pred, s=50, cmap='rainbow');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.5 Hyperparameter Tuning " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "During model training, the **parameters** of the model are updated in an iterative process. \n", "\n", "**Hyperparameters** (tuning parameters) are a set of parameters that control the complexity of the model. For instance, in k-Nearest Neighbors, the number of nearest neighbors is a hyperparameter of the model. Or, in Random Forest the number of used decision trees is a hyperparameter. Unlike the model parameters that are learned during training, hyperparameters are selected (i.e., tuned) by the user. While models such as kNN have only one or two hyperparameters, other models such as deep neural networks can have many.\n", "\n", "**Hyperparameter tuning** is the process of screening hyperparameter values (or combinations of hyperparameter values) to find a model that generalizes well to unseen data. The performance of some models (e.g., deep neural networks) can significantly depend on the value of hyperparameters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For instance, to find a suitable value for the number of nearest neighbors in kNN, we can write a for-loop to train the kNN model multiple times and evaluate the performance when the number of nearest neighbors varies from 3 to 15, as in the next cell. We can see that the best performance is achieved for 3 to 5 neighbors. " ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of neighbors is 3, the test accuracy is 97.37 %\n", "Number of neighbors is 4, the test accuracy is 97.37 %\n", "Number of neighbors is 5, the test accuracy is 97.37 %\n", "Number of neighbors is 6, the test accuracy is 94.74 %\n", "Number of neighbors is 7, the test accuracy is 94.74 %\n", "Number of neighbors is 8, the test accuracy is 94.74 %\n", "Number of neighbors is 9, the test accuracy is 94.74 %\n", "Number of neighbors is 10, the test accuracy is 92.11 %\n", "Number of neighbors is 11, the test accuracy is 94.74 %\n", "Number of neighbors is 12, the test accuracy is 94.74 %\n", "Number of neighbors is 13, the test accuracy is 94.74 %\n", "Number of neighbors is 14, the test accuracy is 94.74 %\n" ] } ], "source": [ "from sklearn.neighbors import KNeighborsClassifier\n", "\n", "for n_neighbors in range(3, 15):\n", " knn_model = KNeighborsClassifier(n_neighbors)\n", " \n", " knn_model.fit(X_train, y_train)\n", "\n", " accuracy = knn_model.score(X_test, y_test)\n", " print('Number of neighbors is {0:}, the test accuracy is {1:5.2f} %'.format(n_neighbors, accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.5.1 Grid Search " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "Scikit-learn offers the function `GridSearchCV()` for hyperparameter tuning, which searches through different values of hyperparameters to find the best combination of values based on a used performance metric. The letters CV in the name of the function stand for cross-validation, which is explained in the next section.\n", "\n", "When there are several hyperparameters to tune, doing it manually can take time and resources, and functions like GridSearchCV can help to automate the tuning of hyperparameters.\n", "\n", "In the cell below, we can see that `GridSearchCV()` takes as arguments the model, a grid of hyperparameter values named `hyper_grid`, and a scoring function (in this case `accuracy`). It will loop through the predefined values for the hyperparameters in the grid and fit the model for each predefined value. Based on the scoring function, it will find the best values from the listed hyperparameters." ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [], "source": [ "from sklearn.model_selection import GridSearchCV\n", "\n", "knn_model = KNeighborsClassifier()\n", "\n", "# Create grid of hyperparameter values\n", "hyper_grid = {'n_neighbors': [3, 6, 9, 12]}\n", "\n", "# Tune a knn model using grid search\n", "grid_search = GridSearchCV(knn_model, hyper_grid, scoring='accuracy')\n", "results = grid_search.fit(X_train, y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The best accuracy score on the training dataset and best value of the hyperparameters are attributes of the `results` from the grid search." ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9557312252964426" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.best_score_" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'n_neighbors': 3}" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.best_params_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And, we can check the accuracy on the test set as well to confirm that the results are consistent with the accuracies in the previous section. " ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "accuracy = grid_search.score(X_test, y_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One more example is shown below, where a Support Vector Machines Classifier is used with the same dataset, and grid search is performed over two hyperparameters: `C` is a regularization value, and `kernel` is the kernel type. The function searches over all combinations of the two hyperparameters, and the best accuracy is achieved for `C=0.1` and `kernel='linear'`." ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9739130434782609\n", "Hyperparameters: {'C': 1.0, 'kernel': 'poly'}\n" ] } ], "source": [ "from sklearn.svm import SVC\n", "\n", "svc_model = SVC()\n", "\n", "hyper_grid = {'C': [0.01, 0.1, 1.0, 10.0, 100.0], \n", " 'kernel': ['linear', 'rbf', 'poly']}\n", "\n", "grid_search = GridSearchCV(svc_model, hyper_grid, scoring='accuracy')\n", "results = grid_search.fit(X_train, y_train)\n", "\n", "print('Accuracy:',results.best_score_)\n", "print('Hyperparameters:', results.best_params_)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "accuracy = grid_search.score(X_test, y_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.5.2 Random Search " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "However, a Cartesian grid search approach performed by `GridSeachCV()` has limitations, because it does not scale well when the number of hyperparameters to tune is high. **Random search** based on hyperparameter distributions is another approach for hyperparameter tuning which has often demonstrated better performance than grid search. \n", "\n", "\"Drawing\"\n", "Figure source: Reference [4]." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "An example of using Random Search with the SVM classifier is shown next where we used the function `RandomizedSearchCV()`. Unlike the grid search, in this case, the distribution of the hyperparameter C is specified, as a uniform distribution with values between 0.01 and 100. Also, in the `RandomizedSearchCV()` we need to provide the number of samples for the hyperparameter from the distribution via the `n_iter` argument. " ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9735177865612649\n", "Hyperparameters: {'C': 29.838232595603078}\n" ] } ], "source": [ "from sklearn.model_selection import RandomizedSearchCV\n", "from scipy.stats import uniform, randint\n", "\n", "svc_model = SVC()\n", "\n", "# specify hyperparameter distributions to randomly sample from\n", "hyper_distributions = {'C': uniform(0.01, 100)}\n", "\n", "random_search = RandomizedSearchCV(svc_model, hyper_distributions, n_iter=40, scoring='accuracy')\n", "results = random_search.fit(X_train, y_train)\n", "\n", "print('Accuracy:',results.best_score_)\n", "print('Hyperparameters:', results.best_params_)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 100.00 %\n" ] } ], "source": [ "accuracy = random_search.score(X_test, y_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One more example of a random search is shown with a Random Forest classifier. Random Forests can have several hyperparameters, and here we considered the number of trees in the forest with `n_estimators`, maximum depth of the trees is `max_depth`, and the minimum number of samples required in a leaf node is `min_samples_leaf`. These hyperparameters are sampled from a uniform distribution of integers, with the ranges of values defined for each hyperparameter using the function `randint()`. For this case, a standard grid search would be more computationally expensive." ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9466403162055336\n", "Hyperparameters: {'max_depth': 10, 'min_samples_leaf': 10, 'n_estimators': 80}\n" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "\n", "rf_model = RandomForestClassifier(random_state=123)\n", "\n", "# specify hyperparameter distributions to randomly sample from\n", "hyper_distributions = {\n", " 'n_estimators': randint(20, 100),\n", " 'max_depth': randint(4, 20),\n", " 'min_samples_leaf': randint(1, 100),\n", "}\n", "\n", "random_search_2 = RandomizedSearchCV(rf_model, hyper_distributions, n_iter=20, scoring='accuracy')\n", "results = random_search_2.fit(X_train, y_train)\n", "\n", "print('Accuracy:',results.best_score_)\n", "print('Hyperparameters:', results.best_params_)" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37 %\n" ] } ], "source": [ "accuracy = random_search_2.score(X_test, y_test)\n", "print('The test accuracy is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.6 Cross-Validation " ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "So far, we adopted a strategy to split our data into training and testing sets, and we assessed the performance of our model on the test set. Unfortunately, there are a few pitfalls to this approach:\n", "\n", "1. If our dataset is small, a single test set may not provide an adequate measure of the model's performance on unseen data.\n", "2. A single test set does not provide insights regarding the variability of the model's performance.\n", "\n", "An alternative strategy is to use a resampling method, where we can repeatedly fit a model to parts of the training data and test its performance on other parts of the training data. This allows us to train and validate our model entirely on the training data and not touch the test data until we have selected a final \"optimal\" model. The two most commonly used resampling methods include **k-fold cross-validation** and \n", "**bootstrap sampling**. This section focuses on k-fold cross-validation." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "### 13.6.1 K-Fold Cross-Validation \n", "\n", "**Cross-validation** involves repeating the training and testing procedure so that the training and testing sets are different each time. The values of the performance metrics are collected for each repetition and then aggregated. This allows to obtain an estimate of the variability of the model’s performance. Also, a single train-test split may lead to high variance in the performance due to the randomness in the data. By averageing the results across multiple folds, k-fold cross-validation provides a more stable and robust estimate of the model performance.\n", "\n", "Furthermore, when tuning hyperparameters, we often need to evaluate several combinations of hyperparameters to find the best set of hyperparameters. Rather than relying on a single train-test split for model evaluation, using k-fold cross-validation allows to evaluate the different combinations of hyperparameters on multiple subsets of the data. This strategy provides a more reliable measure of the model performance and enhances the process of tuning hyperparameters. " ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "**k-fold cross-validation** is a resampling method that randomly divides the training data into *k* groups (referred to as *folds*) of approximately equal size. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "First, the model is fit on $k-1$ folds and then the remaining fold is used to compute the model's performance. This procedure is repeated _k_ times; each time, a different fold is treated as the validation set. This process results in $k$ estimates of the accuracy, and the overall accuracy is calculated by averaging the $k$ estimates. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Drawing\"\n", "Figure source: Reference [4]." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "In scikit-learn, the function `cross_validate` allows us to perform cross-validation, and we need to pass to it the model, the data, the target, and the number of folds with `cv`. \n", "\n", "In practice, it is most common to use `k=5` or `k=10`. " ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "{'fit_time': array([0.0979414 , 0.09593987, 0.09194469, 0.09294271, 0.09294271]),\n", " 'score_time': array([0.00499654, 0.0039978 , 0.00499701, 0.00399733, 0.00399733]),\n", " 'test_score': array([0.86956522, 1. , 0.86363636, 0.95454545, 1. ])}" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.model_selection import cross_validate\n", "\n", "rf_model = RandomForestClassifier(n_estimators=56, max_depth=9, min_samples_leaf=3, random_state=123)\n", "\n", "cv_result = cross_validate(rf_model, X_train, y_train, cv=5)\n", "cv_result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output of `cross_validate` is a Python dictionary (named `cv_rsults` in our case), which by default contains three entries: \n", "\n", "- `fit_time`: the time to train the model on the training data for each fold.\n", "- `score_time`: the time to predict with the model on the testing data for each fold. \n", "- `test_score`: the score (such as accuracy) on the testing data for each fold." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next cell, we displayed the mean and standard deviation of the accuracy for the five folds, by using the values for the `'test_score'` key in the resulting dictionary." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The mean cross-validation accuracy is: 0.938 +/- 0.060\n" ] } ], "source": [ "scores = cv_result[\"test_score\"]\n", "print(\"The mean cross-validation accuracy is: \"\n", " f\"{scores.mean():.3f} +/- {scores.std():.3f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And optionally, we can manually perform k-fold cross-validation by using a for-loop and feed the folds for training and testing. In the code below `train` and `test` are the indices of the elements in each fold." ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fold: 1, Class dist.: [30 30 29], Acc: 0.870\n", "Fold: 2, Class dist.: [30 30 29], Acc: 1.000\n", "Fold: 3, Class dist.: [30 30 30], Acc: 0.864\n", "Fold: 4, Class dist.: [31 29 30], Acc: 0.955\n", "Fold: 5, Class dist.: [31 29 30], Acc: 1.000\n", "\n", "CV accuracy: 0.938 +/- 0.060\n" ] } ], "source": [ "from sklearn.model_selection import StratifiedKFold\n", "\n", "kfold = StratifiedKFold(n_splits=5).split(X_train, y_train)\n", "\n", "scores = []\n", "for k, (train, test) in enumerate(kfold):\n", " rf_model.fit(X_train[train], y_train[train])\n", " accuracy_score = rf_model.score(X_train[test], y_train[test])\n", " scores.append(accuracy_score)\n", " print('Fold: %2d, Class dist.: %s, Acc: %.3f' % (k+1,\n", " np.bincount(y_train[train]), accuracy_score))\n", " \n", "print('\\nCV accuracy: %.3f +/- %.3f' % (np.mean(scores), np.std(scores)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.7 Performance Metrics " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the above examples, we worked only with accuracy as a performance metric, but other metrics are also frequently used with prediction models. \n", "\n", "We will use the breast cancer dataset to explain the metrics. The dataset consists of diagnoses for 569 patients, and includes 30 features for each patient, which are shown below. The targets are the benign or malignant class, shown in the column `target` to the right." ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ " mean radius mean texture mean perimeter mean area mean smoothness \\\n", "0 17.99 10.38 122.80 1001.0 0.11840 \n", "1 20.57 17.77 132.90 1326.0 0.08474 \n", "2 19.69 21.25 130.00 1203.0 0.10960 \n", "3 11.42 20.38 77.58 386.1 0.14250 \n", "4 20.29 14.34 135.10 1297.0 0.10030 \n", "\n", " mean compactness mean concavity mean concave points mean symmetry \\\n", "0 0.27760 0.3001 0.14710 0.2419 \n", "1 0.07864 0.0869 0.07017 0.1812 \n", "2 0.15990 0.1974 0.12790 0.2069 \n", "3 0.28390 0.2414 0.10520 0.2597 \n", "4 0.13280 0.1980 0.10430 0.1809 \n", "\n", " mean fractal dimension ... worst texture worst perimeter worst area \\\n", "0 0.07871 ... 17.33 184.60 2019.0 \n", "1 0.05667 ... 23.41 158.80 1956.0 \n", "2 0.05999 ... 25.53 152.50 1709.0 \n", "3 0.09744 ... 26.50 98.87 567.7 \n", "4 0.05883 ... 16.67 152.20 1575.0 \n", "\n", " worst smoothness worst compactness worst concavity worst concave points \\\n", "0 0.1622 0.6656 0.7119 0.2654 \n", "1 0.1238 0.1866 0.2416 0.1860 \n", "2 0.1444 0.4245 0.4504 0.2430 \n", "3 0.2098 0.8663 0.6869 0.2575 \n", "4 0.1374 0.2050 0.4000 0.1625 \n", "\n", " worst symmetry worst fractal dimension target \n", "0 0.4601 0.11890 0 \n", "1 0.2750 0.08902 0 \n", "2 0.3613 0.08758 0 \n", "3 0.6638 0.17300 0 \n", "4 0.2364 0.07678 0 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from sklearn.datasets import load_breast_cancer\n", "\n", "bc = load_breast_cancer()\n", "df = pd.DataFrame(data=bc.data, columns=bc.feature_names)\n", "df[\"target\"] = bc.target\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 569 entries, 0 to 568\n", "Data columns (total 31 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 mean radius 569 non-null float64\n", " 1 mean texture 569 non-null float64\n", " 2 mean perimeter 569 non-null float64\n", " 3 mean area 569 non-null float64\n", " 4 mean smoothness 569 non-null float64\n", " 5 mean compactness 569 non-null float64\n", " 6 mean concavity 569 non-null float64\n", " 7 mean concave points 569 non-null float64\n", " 8 mean symmetry 569 non-null float64\n", " 9 mean fractal dimension 569 non-null float64\n", " 10 radius error 569 non-null float64\n", " 11 texture error 569 non-null float64\n", " 12 perimeter error 569 non-null float64\n", " 13 area error 569 non-null float64\n", " 14 smoothness error 569 non-null float64\n", " 15 compactness error 569 non-null float64\n", " 16 concavity error 569 non-null float64\n", " 17 concave points error 569 non-null float64\n", " 18 symmetry error 569 non-null float64\n", " 19 fractal dimension error 569 non-null float64\n", " 20 worst radius 569 non-null float64\n", " 21 worst texture 569 non-null float64\n", " 22 worst perimeter 569 non-null float64\n", " 23 worst area 569 non-null float64\n", " 24 worst smoothness 569 non-null float64\n", " 25 worst compactness 569 non-null float64\n", " 26 worst concavity 569 non-null float64\n", " 27 worst concave points 569 non-null float64\n", " 28 worst symmetry 569 non-null float64\n", " 29 worst fractal dimension 569 non-null float64\n", " 30 target 569 non-null int32 \n", "dtypes: float64(30), int32(1)\n", "memory usage: 135.7 KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "target\n", "1 357\n", "0 212\n", "Name: count, dtype: int64" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['target'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 357 patients with malignant tumors, and 212 patients with benign tumors. Let's create train and test datasets." ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "X = df.drop('target', axis=1)\n", "y = df['target']\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training data inputs (398, 30)\n", "Training labels (398,)\n", "Testing data inputs (171, 30)\n", "Testing labels (171,)\n" ] } ], "source": [ "print('Training data inputs', X_train.shape)\n", "print('Training labels', y_train.shape)\n", "print('Testing data inputs', X_test.shape)\n", "print('Testing labels', y_test.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Logistic Regression model achieved 93.57% accuracy. " ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.935672514619883" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr_model = LogisticRegression()\n", "\n", "# fit model\n", "lr_model.fit(X_train, y_train)\n", "\n", "# accuracy\n", "lr_model.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[101 6]\n", " [ 5 59]]\n" ] } ], "source": [ "from sklearn.metrics import confusion_matrix\n", "\n", "y_pred = lr_model.predict(X_test)\n", "\n", "confmat = confusion_matrix(y_test, y_pred, labels=[1, 0])\n", "print(confmat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The confusion matrix can be interpreted as the values of positives and negatives, if there are only two classes (binary classification). For the case of breast cancer they mean:\n", "\n", "- True Positive (TP): Predicted malignant, actually malignant (positive). There are 101 TP samples in this case.\n", "- True Negative (TN): Predicted benign, actually benign (negative). There are 59 TN samples in this case. \n", "- False Negative (FN): Predicted benign, actually malignant (positive). There are 6 FN samples in this case. \n", "- False Positive (FP): Predicted malignant, actually benign (negative). There are 5 FP samples in this case.\n", "\n", "Obviously, correctly guessing TP and TN is the goal. Other than that, FN is the worst case, because it means that a malignant tumor is missed. FP is also bad, because it will require to perform biopsy and will put stress on the patient, but the outcome is still preferred. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Drawing\"\n", "Figure source: Reference [2]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following performance metrics are commonly used." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Accuracy** = $(TP+TN)/(TP+FN+TN+FP)$, or it is the fraction of correct predictions by the model among all available samples. In this case it is $(101+59)/(101+6+5+59) = 160/171 = 0.9357$.\n", "\n", "**Precision** = $TP/(TP+FP)$, or it is the fraction of correct positive predictions by the model among all positive predictions by the model. In this case it is $101/(101+5) = 101/106 = 0.9528$. Or, you can think of precision as, from all patients that the model predicted to have malignant tumors, how many patients have malignant tumors. \n", "\n", "**Recall** = $TP/(TP+FN)$, or it is the fraction of all positive predictions by the model from all positive samples in the data. In this case it is $101/(101+6) = 101/107 = 0.9439$. Or, you can think of recall as, from all patients that have malignant tumors, how many patients the model predicted that have malignant tumors. In binary classification, recall is also called **sensitivity** or **true positive rate**. \n", "\n", "**Specificity** = $TN/(TN+FP)$, or it is the fraction of all negative predictions by the model from all negative samples in the data. In this case it is $59/(59+5) = 59/64 = 0.9219$. Or, you can think of specificity as, from all patients that have benign tumors, how many patients the model predicted that have benign tumors. Specificity is also called **true negative rate**.\n", "\n", "**F1 score** = $(2 * precision * recall)/(precision + recall)$, is a measure which combines the precision and recall, and it is also called *harmonic mean of precision and recall*. F1 score is considered as a more suitable metric than accuracy in cases when the dataset is unbalanced, that is, there are more samples from one class than the other class (or classes)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following two figures provide a graphical representation of confusion matrix, precision, and recall, which can be helpful for understanding the meaning of these performance metrics. \n", "\n", "\"Drawing\"\n", "Figure: Confusion matrix." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Drawing\"\n", "Figure: Precision and recall metrics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In scikit-learn, we can obtain the individual metrics as follows." ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.9528301886792453\n", "0.9439252336448598\n", "0.9483568075117371\n" ] } ], "source": [ "from sklearn import metrics\n", "\n", "print(metrics.precision_score(y_test, y_pred))\n", "print(metrics.recall_score(y_test, y_pred))\n", "print(metrics.f1_score(y_test, y_pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also, the function `classification_report` prints the precision, recall, f1-score, and accuracy for all classes. The reported averages include **macro average accuracy** (averaging the accuracy per each class), and **weighted average** (averaging the accuracy by using weights for each class based on the proportions of samples in each class). The support column shows the number of samples, i.e., from the 171 samples in the test dataset, there are 64 benign and 107 malignant cases." ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.91 0.92 0.91 64\n", " 1 0.95 0.94 0.95 107\n", "\n", " accuracy 0.94 171\n", " macro avg 0.93 0.93 0.93 171\n", "weighted avg 0.94 0.94 0.94 171\n", "\n" ] } ], "source": [ "# multiple metrics at once\n", "print(metrics.classification_report(y_test, y_pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And one more commonly used metric in binary classification is **Receiver Operating Characteristic (ROC)**. ROC curves are created by plotting the False Positive Rate (= $FP/(FP + TN)$) on the x-axis and True Positive Rate (= $TP/(TP+FN)$, or sensitivity, recall) on the y-axis. The curve summarizes the trade-off between the True Positive Rate and False Positive Rate of the model using different probability thresholds. \n", "\n", "So far, we only used a threshold of 0.5, where predictions greater or equal to it are assigned the class label 1, and predictions smaller than 0.5 are assigned the class label 0. In binary classification, using different thresholds for the probability in predicting the class label of a data point changes the True Positive Rate and False Positive Rate. By changing the threshold value from 0 to 1 we can obtain many different points with True Positive Rate and False Positive Rate, and by connecting the different points we can plot the ROC curve. The curve allows to better interpret the results of the classifier.\n", "\n", "In a ROC curve, the top left corner of the plot is the ideal point - with a False Positive Rate of 0, and a True Positive Rate of 1. In general, a higher x-value indicates high False Positive Rate ($FP/(FP + TN)$), that is, higher number of False Positives than True Negatives. This means that the model is classifying significant proportion of actual negatives as positives. Conversely, lower x-value indicates low False Positive Rate, meaning that the model achieves low number of False Positives and high number of True Negatives. Similarly, a higher y-value indicates high True Positive Rate ($TP/(TP+FN)$), that is, higher number of True Positives than False Negatives. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot below shows the ROC curve for the Logistic Regression model. It also shows a line for a model that makes random predictions. The further the curve from the line with random prediction, the better the model predictions are." ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [], "source": [ "# output probabilities for each sample\n", "y_pred_probabilities = lr_model.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.metrics import roc_curve\n", "\n", "# output probabilities for each sample\n", "output_probabilities = lr_model.predict_proba(X_test)\n", "# probabilities for the positive class\n", "y_pred_probabilities = output_probabilities[:,1]\n", "\n", "# calculate FPR and TRP \n", "fpr, tpr, _ = roc_curve(y_test, y_pred_probabilities)\n", "\n", "# roc curve for tpr = fpr \n", "random_probs = [0 for i in range(len(y_test))]\n", "p_fpr, p_tpr, _ = roc_curve(y_test, random_probs)\n", "\n", "plt.plot(fpr, tpr, linestyle='--', color='orange', label='Logistic Regression')\n", "plt.plot(p_fpr, p_tpr, linestyle='--', color='blue', label='Random Prediction')\n", "plt.title('ROC curve')\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive rate')\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The **Area Under the Curve (AUC) of ROC (AUC-ROC)** is the measure of the ability of a classifier to distinguish between classes and is used as a summary of the ROC curve. The higher the AUC, the better the performance of the model at distinguishing between the positive and negative classes. When AUC = 1, the classifier is able to perfectly predict the classes. When AUC = 0.5, the classifier is making random predictions of the class for the data points. \n", "\n", "In scikit-learn, AUC-ROC is calculated using the `auc_roc_score`." ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9897780373831776" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics.roc_auc_score(y_test, y_pred_probabilities)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.8 Model Pipelines " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can combine sequential operations with a scikit-learn `Pipeline`, which chains together operations. The helper function `make_pipeline` is used to create a `Pipeline`, and takes as arguments the successive transformations to perform, followed by the classifier or regressor model.\n", "\n", "Let's create one pipeline consisting of a Standard Scaler function and a Logistic Regression classifier, and another pipeline consisting of a MinMax Scaler function and a Random Forest classifier. " ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [], "source": [ "from sklearn.pipeline import make_pipeline\n", "from sklearn.preprocessing import StandardScaler, MinMaxScaler\n", "\n", "pipeline_ss_lr = make_pipeline(StandardScaler(), LogisticRegression())\n", "pipeline_ns_rf = make_pipeline(MinMaxScaler(), RandomForestClassifier())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "Apply the first pipeline to perform data scaling via standardization and afterward fit the Logistic Regression model to the data. " ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy of Logistic Regression is 95.91 %\n" ] } ], "source": [ "# apply the pipeline \n", "pipeline_ss_lr.fit(X_train, y_train)\n", "\n", "# score on the test data\n", "accuracy = pipeline_ss_lr.score(X_test, y_test)\n", "print('The test accuracy of Logistic Regression is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apply the second pipeline to perform data scaling via normalization and afterward fit the Random Forest model to the data. " ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy of Random Forests is 93.57 %\n" ] } ], "source": [ "# apply the pipeline \n", "pipeline_ns_rf.fit(X_train, y_train)\n", "\n", "# score on the test data\n", "accuracy = pipeline_ns_rf.score(X_test, y_test)\n", "print('The test accuracy of Random Forests is {0:5.2f} %'.format(accuracy*100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13.9 Flow Chart: How to Choose an Estimator \n", "\n", "This is a flow chart created by the scikit-learn contributor Andreas Mueller that gives a nice summary of which algorithms to choose in various situations. \n", "\n", "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recap: Scikit-learn's Estimator Interface\n", "\n", "Scikit-learn strives to have a uniform interface across all methods, as we saw in the examples. Given a scikit-learn *estimator* object named `model`, the following methods are available:\n", "\n", "- Available in **all estimators**\n", " + `model.fit()`: fit training data. For supervised learning applications,\n", " this accepts two arguments: the data `X` and the labels `y` (e.g. `model.fit(X, y)`).\n", " For unsupervised learning applications, this accepts only a single argument,\n", " the data `X` (e.g. `model.fit(X)`).\n", "- Available in **supervised estimators**\n", " + `model.predict()`: given a trained model, predict the label of a new set of data.\n", " This method accepts one argument, the new data `X_new` (e.g. `model.predict(X_new)`),\n", " and returns the learned label for each item in the array.\n", " + `model.predict_proba()`: For classification tasks, some estimators also provide\n", " this method, which returns the probability that a new sample has for each category.\n", " In this case, the label with the highest probability is returned by `model.predict()`.\n", " + `model.score()`: for classification or regression tasks, most estimators implement\n", " a score method. Scores are between 0 and 1, with a larger score indicating a better fit.\n", "- Available in **unsupervised estimators**\n", " + `model.predict()`: predict labels in clustering algorithms.\n", " + `model.transform()`: given an unsupervised model, transform new data into a new basis.\n", " This also accepts one argument `X_new`, and returns the new representation of the data based\n", " on the unsupervised model.\n", " + `model.fit_transform()`: some estimators implement this method,\n", " which more efficiently performs a fit and a transform on the same input data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Appendix " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**The material in the Appendix is not required for quizzes and assignments.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Application Example: Optical Character Recognition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To demonstrate the above principles on a more interesting problem, let's consider OCR (Optical Character Recognition) – that is, recognizing hand-written digits. Here, we will use scikit-learn's set of pre-formatted digits, which can be loaded directly with `load_digits()`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Loading and visualizing the digits data\n", "\n", "We'll use scikit-learn's data access interface and take a look at this data:" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(1797, 8, 8)" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import datasets\n", "digits = datasets.load_digits()\n", "digits.images.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot a few images and show the ground-truth label in the lower left corner." ] }, { "cell_type": "code", "execution_count": 120, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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UnNlICwwDEHNghzOzjrjuo/D/G3zERUWhdjwWOw5vQev7ngVU/pNcTo1y+k65oC+czugZ+2mF387T+3EyIyRNT/P+vjHz/8kxSVhxfgVbifmrU4UncDD6x7G95e+R/vg9ujZsicyhmUgokWE06nZ4sHeD+L85fN4MedFnC45jd7hvbFh4gZEt5I/s9bYFZYV4tlPnsWJohMICwjD3VF347e3/RbNmjRzOjVLXXu8397pdux4fIfPjzcApO38scXFiIwRdR5PT0zHpH6TbM/HLn9O+DNe+PQFTNswDedKzyEiJAJPDHgCvxv+O6dTs5yuYw7oO7cDetZuevE3ovMIuOa4PJlLo7D2Z2vr/OwN36tqt2mDpmHaoGlOp2GrCbETMCF2AgD5Ox59zbXHu050nN+AH+9uT7k7BSl3pzidiu10HfNqOs7t1XSrvV6LP5frxxOiqKjI0mRqq6ioEONXr15VxszkWf2c6lqrGdVeUlKi3GZVlfozMuXl5Ya5qDRp4rmPapqtuz7bvJFrX6c2aX8BQFlZmanXNHpOQ2svLi5WbtPouFUxql3arnQM3qgGK8ZcOp7dcfmy+psV7BxzK0jHMyCfKw09F6yoWzrupNyNXLp0SRlrDGMubU963zIizQENGfPaj5mp/cqVK8qYlGNlZaUyZvTc0lL1t+rYdbxLx6XE6Fyw633tRokZKigocAHQ4l9BQYGWtetat86161q3zrXrWrfOtV9bt86161K3atxr83O5jH9Fq6qqwqlTpxASEgI/Pz+j/71RcrlcKC4uRkRERJ0ra75eu651A/rWrmvdgL6161o3oG/tqroBfWv39boBedxrq9fij4iIiIh8A/v8EREREWmEiz8iIiIijdTrbl+d/07u67XrWjegb+261g3oW7uudQP61s7P/Ok35kD9P/PHu30N7pDRpXZd69a5dl3r1rl2XevWuXbe7atf3apxr61eV/5CQkIAAAUFBQgNDa3PU+rl4sWLytjQoUPF54aFhSljH374oTLWqlWrGz5eVFSEyMjImlqruVP7vn37lLFHHnlEGSsoKBC3GxkZqYwdOHDAOLFarKhbMnWq+utypHEzivft27fBuZitPT8/X7lNaVyPHz+ujI0dO1bMdeLEicrYsGHDxOdey2zd0vkq5S/VvX37djHX6OhoMd5Qdh/v0j4zqm316tXKmNHx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "fig, axes = plt.subplots(10, 10, figsize=(8, 8))\n", "fig.subplots_adjust(hspace=0.1, wspace=0.1)\n", "\n", "for i, ax in enumerate(axes.flat):\n", " ax.imshow(digits.images[i], cmap='binary')\n", " ax.text(0.05, 0.05, str(digits.target[i]),\n", " transform=ax.transAxes, color='green')\n", " ax.set_xticks([])\n", " ax.set_yticks([])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The images are just 8x8 pixels. " ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1797, 8, 8)\n", "[[ 0. 0. 5. 13. 9. 1. 0. 0.]\n", " [ 0. 0. 13. 15. 10. 15. 5. 0.]\n", " [ 0. 3. 15. 2. 0. 11. 8. 0.]\n", " [ 0. 4. 12. 0. 0. 8. 8. 0.]\n", " [ 0. 5. 8. 0. 0. 9. 8. 0.]\n", " [ 0. 4. 11. 0. 1. 12. 7. 0.]\n", " [ 0. 2. 14. 5. 10. 12. 0. 0.]\n", " [ 0. 0. 6. 13. 10. 0. 0. 0.]]\n" ] } ], "source": [ "# The images themselves\n", "print(digits.images.shape)\n", "print(digits.images[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because scikit-learn uses two-dimensional inputs, the images have been reshaped from 8x8 pixels into one long vector of 64 elements. " ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1797, 64)\n", "[ 0. 0. 5. 13. 9. 1. 0. 0. 0. 0. 13. 15. 10. 15. 5. 0. 0. 3.\n", " 15. 2. 0. 11. 8. 0. 0. 4. 12. 0. 0. 8. 8. 0. 0. 5. 8. 0.\n", " 0. 9. 8. 0. 0. 4. 11. 0. 1. 12. 7. 0. 0. 2. 14. 5. 10. 12.\n", " 0. 0. 0. 0. 6. 13. 10. 0. 0. 0.]\n" ] } ], "source": [ "# The data for use in our algorithms\n", "print(digits.data.shape)\n", "print(digits.data[0])" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 ... 8 9 8]\n" ] } ], "source": [ "# The target label\n", "print(digits.target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data have 1797 samples having 64 dimensions (features)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Classification on Digits\n", "\n", "Let's first split the digits into a training and testing sample." ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1347, 64) (450, 64)\n" ] } ], "source": [ "Xtrain, Xtest, ytrain, ytest = train_test_split(digits.data, digits.target, random_state=2)\n", "print(Xtrain.shape, Xtest.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And, we will use a simple Logistic Regression as a classification algorithm." ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression\n", "clf = LogisticRegression(penalty='l2')\n", "clf.fit(Xtrain, ytrain)\n", "ypred = clf.predict(Xtest)" ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.9466666666666667" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import accuracy_score\n", "accuracy_score(ytest, ypred)" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[41 0 0 0 1 0 0 0 0 0]\n", " [ 0 46 0 1 0 0 0 0 2 1]\n", " [ 0 0 47 0 0 0 0 0 0 0]\n", " [ 0 0 0 44 0 1 0 1 2 0]\n", " [ 0 0 0 0 36 0 0 0 3 1]\n", " [ 0 1 0 0 1 50 0 0 0 0]\n", " [ 0 1 0 0 0 0 41 0 1 0]\n", " [ 0 0 0 0 0 0 0 48 1 0]\n", " [ 0 0 0 0 0 0 0 0 39 1]\n", " [ 0 0 0 2 0 1 0 0 2 34]]\n" ] } ], "source": [ "from sklearn.metrics import confusion_matrix\n", "print(confusion_matrix(ytest, ypred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the confusion matrix as an image." ] }, { "cell_type": "code", "execution_count": 128, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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FhYqLy9Pv/rVr/TWW29pypQp8vv9Gj9+vOt5ZkyfPl1VVVXq2bOnIiIiVF9fr/z8fN1www2upznRqmN11LffXsTzvJN+y5GzVU5Ojt555x1t3LjR9RRzysvLlZubqzVr1igqKsr1HLMaGhqUkZGhBQsWSJL69u2rXbt2qbCwkFh9w8qVK/Xcc89p+fLlSk1NVWlpqaZOnaouXbro5ptvdj3vtGvVsTr33HMVERERdhVVWVkZdrUFafLkyVq1apXWr1/f4m/NcjYoLi5WZWWl0tPTg8fq6+u1fv16LV68WIFAQBEREQ4X2pCYmKiLL7445FhKSopefPFFR4tsuueeezRjxgyNHTtWktSrVy99/PHHKigoaJWxatW/s4qMjFR6errWrl0bcnzt2rUaMGCAo1X2eJ6nnJwc/eUvf9Hrr7+u5ORk15NMGj58uHbu3KnS0tLgLSMjQzfeeKNKS0sJ1f8MHDgw7J8+7NmzR926dXO0yKavvvoq7M0IIyIiWu1T11v1lZUk5eXl6aabblJGRoYyMzNVVFSkffv2aeLEia6nmZGdna3ly5fr5ZdfVkxMTPBKNC4uTtHR0Y7X2RETExP2e7z27durc+fO/H7vG+6++24NGDBACxYs0M9//nO99dZbKioqUlFRketpplxzzTXKz89X165dlZqaqpKSEi1cuFATJkxwPc0ND97vf/97r1u3bl5kZKTXr18/b926da4nmSKp0duyZctcTzNv6NChXm5urusZ5vztb3/z0tLSPL/f7/Xs2dMrKipyPcmc6upqLzc31+vatasXFRXl9ejRw5s1a5YXCARcT3Oi1f87KwCAfa36d1YAgDMDsQIAmEesAADmESsAgHnECgBgHrECAJhHrAAA5hErAIB5xAowpHv37iFv1Ojz+fTXv/71tO+4//771adPn9P+5wJNIVaAYRUVFbryyiubdS6Bwdms1b+QLdDSjhw5osjIyBb5Xuedd16LfB/gTMeVFXAMl19+uXJycpSTk6OOHTuqc+fOmj17to6+rGb37t01f/583XLLLYqLi9Mdd9whSdq0aZOGDBmi6OhoJSUlacqUKfryyy+D37eyslLXXHONoqOjlZycrOeffz7sz/72w4D//ve/NXbsWHXq1Ent27dXRkaGtm7dqqefflq//vWvtWPHDvl8Pvl8Pj399NOSpKqqKt15552Kj49XbGysfvKTn2jHjh0hf84DDzyghIQExcTE6LbbblNtbW0L34vAySFWQDM888wzatu2rbZu3arf/e53euSRR/Tkk08GP//QQw8pLS1NxcXFmjNnjnbu3KmRI0fq2muv1TvvvKOVK1dq48aNysnJCX7NLbfcoo8++kivv/66/vznP2vJkiWqrKxsckNNTY2GDh2qAwcOaNWqVdqxY4fuvfdeNTQ0aMyYMfrlL3+p1NRUVVRUqKKiQmPGjJHneRo1apQOHjyo1atXq7i4WP369dPw4cP12WefSZL+9Kc/ae7cucrPz9f27duVmJioJUuWnLo7EzgRbl/0HbBv6NChXkpKitfQ0BA8Nn36dC8lJcXzPM/r1q2bN3r06JCvuemmm7w777wz5NiGDRu8Nm3aeIcPH/bKyso8Sd6WLVuCn9+9e7cnyXvkkUeCxyR5L730kud5nvfEE094MTEx3qefftrozrlz53qXXHJJyLHXXnvNi42N9Wpra0OOX3DBBd4TTzzheZ7nZWZmehMnTgz5/GWXXRb2vQCXuLICmuHHP/6xfD5f8OPMzEy99957qq+vlyRlZGSEnF9cXKynn35aHTp0CN5GjhyphoYGffjhh9q9e7fatm0b8nU9e/ZUx44dm9xQWlqqvn37qlOnTs3eXVxcrJqaGnXu3Dlky4cffqgPPvhAkrR7925lZmaGfN23PwZc4wkWQAto3759yMcNDQ266667NGXKlLBzu3btGnxb928G8FhO5F2ZGxoalJiYqDfeeCPsc98VRsAaYgU0w5YtW8I+vvDCCxUREdHo+f369dOuXbv0wx/+sNHPp6SkqK6uTtu3b9ell14qSSorK9MXX3zR5IbevXvrySef1Geffdbo1VVkZGTwSu+bOw4ePKi2bduqe/fuTW7ZsmWLxo8fH/LfB1jCw4BAM5SXlysvL09lZWVasWKFHnvsMeXm5jZ5/vTp07V582ZlZ2ertLRU7733nlatWqXJkydLki666CJdccUVuuOOO7R161YVFxfr9ttv/86rpxtuuEHnnXeeRo8erTfffFN79+7Viy++qM2bN0v677MSP/zwQ5WWluqTTz5RIBDQiBEjlJmZqdGjR+vVV1/VRx99pE2bNmn27Nnavn27JCk3N1dPPfWUnnrqKe3Zs0dz587Vrl27WvDeA04esQKaYfz48Tp8+LAuvfRSZWdna/LkybrzzjubPL93795at26d3nvvPQ0ePFh9+/bVnDlzlJiYGDxn2bJlSkpK0tChQ3XttdcGn17elMjISK1Zs0bx8fG66qqr1KtXLz3wwAPBq7vrrrtOV1xxhYYNG6bvf//7WrFihXw+n1avXq0hQ4ZowoQJ+tGPfqSxY8fqo48+UkJCgiRpzJgxuu+++zR9+nSlp6fr448/1i9+8YsWuueAluHzvP/9YxEAjbr88svVp0+fkJdBAnB6cWUFADCPWAEAzONhQACAeVxZAQDMI1YAAPOIFQDAPGIFADCPWAEAzCNWAADziBUAwDxiBQAw7/8BCvxyW8dXxOsAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(np.log(confusion_matrix(ytest, ypred)),\n", " cmap='Blues', interpolation='nearest')\n", "plt.grid(False)\n", "plt.ylabel('true')\n", "plt.xlabel('predicted');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also look at some of the images along with their predicted labels. The incorrect labels are in red color." ] }, { "cell_type": "code", "execution_count": 129, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(10, 10, figsize=(8, 8))\n", "fig.subplots_adjust(hspace=0.1, wspace=0.1)\n", "\n", "for i, ax in enumerate(axes.flat):\n", " ax.imshow(Xtest[i].reshape(8, 8), cmap='binary')\n", " ax.text(0.05, 0.05, str(ypred[i]),\n", " transform=ax.transAxes,\n", " color='green' if (ytest[i] == ypred[i]) else 'red')\n", " ax.set_xticks([])\n", " ax.set_yticks([])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In fact, some of the mislabeled cases with this simple logistic regression algorithm are difficult to classify even for us." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References \n", "\n", "1. PyCon 2015 Sckikit-Learn Tutorial, Jake VanderPlas available at: [https://github.com/jakevdp/sklearn_pycon2015](https://github.com/jakevdp/sklearn_pycon2015).\n", "2. Python Machine Learning (2nd Ed.) Code Repository, Sebastian Raschka, available at: [https://github.com/rasbt/python-machine-learning-book-2nd-edition](https://github.com/rasbt/python-machine-learning-book-2nd-edition). \n", "3. Complete Machine Learning Package, Jean de Dieu Nyandwi, available at: [https://github.com/Nyandwi/machine_learning_complete](https://github.com/Nyandwi/machine_learning_complete).\n", "4. Advanced Python for Data Science, University of Cincinnati, available at: [https://github.com/uc-python/advanced-python-datasci](https://github.com/uc-python/advanced-python-datasci).\n", "5. Scikit-Learn: Machine Learning Concepts, available at: (https://inria.github.io/scikit-learn-mooc/toc.html)[https://inria.github.io/scikit-learn-mooc/toc.html]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[BACK TO TOP](#top)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 4 }