{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 12 - 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-2025-Applied-Data-Science-with-Python/blob/main/docs/Lectures/Theme_3-Model_Engineering/Lecture_12-Scikit-Learn/Lecture_12-Scikit-Learn.ipynb)\n", "[![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/avakanski/Fall-2025-Applied-Data-Science-with-Python/blob/main/docs/Lectures/Theme_3-Model_Engineering/Lecture_12-Scikit-Learn/Lecture_12-Scikit-Learn.ipynb) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [12.1 Introduction to Scikit-Learn](#12.1-introduction-to-scikit-learn)\n", "- [12.2 Supervised Learning: Classification](#12.2-supervised-learning:-classification)\n", " - [12.2.1 k-Nearest Neighbors (kNN)](#12.2.1-k-nearest-neighbors-(kNN))\n", " - [12.2.2 Support Vector Machines (SVM)](#12.2.2-support-vector-machines-(SVM))\n", " - [12.2.3 Logistic Regression](#12.2.3-logistic-regression)\n", " - [12.2.4 Decision Trees](#12.2.4-decision-trees)\n", " - [12.2.5 Random Forest](#12.2.5-random-forest)\n", " - [12.2.6 Naive Bayes](#12.2.6-naive-bayes)\n", " - [12.2.7 Perceptron](#12.2.7-perceptron)\n", " - [12.2.8 Stochastic Gradient Descent (SGD)](#12.2.8-stochastic-gradient-descent-(SGD))\n", "- [12.3 Supervised Learning: Regression](#12.3-supervised-learning:-regression)\n", "- [12.4 Unsupervised Learning: Clustering](#12.4-unsupervised-learning:-clustering)\n", "- [12.5 Hyperparameter Tuning](#12.5-hyperparameter-tuning)\n", " - [12.5.1 Grid Search](#12.5.1-grid-search)\n", " - [12.5.2 Random Search](#12.5.2-random-search)\n", "- [12.6 Cross-Validation](#12.6-cross-validation)\n", " - [12.6.1 k-Fold Cross-Validation](#12.6.1-k-fold-cross-validation)\n", "- [12.7 Performance Metrics](#12.7-performance-metrics)\n", "- [12.8 Model Pipelines](#12.8-model-pipelines)\n", "- [12.9 Flow Chart: How to Choose an Estimator](#12.9-flow-chart:-how-to-choose-an-estimator)\n", "- [Appendix](#appendix)\n", "- [References](#references)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12.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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uIbyr4Pyr5PTaQghhMhF5JScEEIIIYQHUjAJIYQQQnggBZMQQgghhAcyh0nkSlonQfx0dNwUsP8LKhyCuqCCe6EsBXI6PSGEELcZKZhErqPNOPT5vpC8BVCABn0ZroxGx0+FiMkoa5mcTVIIIcRtRU7JiVxHX/4ckqNSv0r3iAnmBfSF59BaZ/StQgghRJaQgknkKtq8DHG/AaaLCDvY9kDyxuxMSwghbjvvvPMOtWrV+s/trFixAqUUFy5c8Pp7+vbtS5cuXf5z374kp+RE7mLbDyR4CDIcp+v862VDQkIIcXt6+eWXee655/5zO40bNyYmJobw8HCvv2fEiBG57kyCFEwid1HeDnpaPIcIIYS4YXny5CFPnjwuH09KSsLf399jO/7+/hQpUiRTfWemuMouckpO5C7WSo4r4twywb9xtqQjhBC3qrFjx1K8eHFM03kKRKdOnejTp891p+RST5MNGzaMYsWKUbFiRQDWrFlDrVq1CAwMpF69esyaNQulFFu2bAGuPyU3YcIE8ubNy+LFi6lSpQp58uShTZs2xMTEXNdXKtM0+eSTTyhfvjwBAQGULFmSDz/8MO3xV199lYoVKxIcHEzZsmV56623SE5O9unzJQWTyFWU8keFPOYmwgL+jVB+lbItJyGEuJnExsY63RITEzOM69GjB2fOnGH58uVp950/f57FixfTq1evDL9n2bJl7Ny5k6VLlzJv3jwuXbpEx44dqVGjBps2beL999/n1Vdf9ZhjXFwcn332GT/99BN//vknR44c4eWXX3YZP2TIED755BPeeustduzYweTJkylcuHDa46GhoUyYMIEdO3YwYsQIvv32W7788kuPeWSGnJITuU9If7AdhITZOE692XHU9iZYy6Py+vZNIIQQt5ISJUo4fT106FDeeeed6+IiIiJo06YNkydPpkWLFgD89ttvRERE0KJFC9asWXPd94SEhPDdd9+lnYobM2YMSim+/fZbAgMDqVq1KseOHaNfv35uc0xOTmbMmDGUK1cOgGeffZb33nsvw9hLly4xYsQIvv76a/r06QNAuXLlaNq0aVrMm2++mfbv0qVL89JLL/HLL78wePBgt3lkhhRMItdRygLhn0JQd3T8r2A/DCofKqgzBLZGKc/nzIUQ4nZ19OhRwsLC0r4OCAhwGdurVy+efPJJRo0aRUBAAJMmTaJn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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": [ "## 12.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": [ "### 12.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)" ] }, { "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": [], "source": [ "# define X and y variables for data and targets\n", "X, y = iris.data, iris.target" ] }, { "cell_type": "code", "execution_count": 14, "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": 14, "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": 15, "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": 15, "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": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(150,)" ] }, "execution_count": 16, "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": 17, "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": 17, "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": 18, "metadata": {}, "outputs": [], "source": [ "result = knn.predict(X[0:2])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0])" ] }, "execution_count": 19, "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": 20, "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[20], 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~\\AppData\\Local\\anaconda3\\Lib\\site-packages\\sklearn\\neighbors\\_classification.py:274\u001b[0m, in \u001b[0;36mKNeighborsClassifier.predict\u001b[1;34m(self, X)\u001b[0m\n\u001b[0;32m 271\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 272\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 273\u001b[0m \u001b[38;5;66;03m# the weighting so we do not compute them.\u001b[39;00m\n\u001b[1;32m--> 274\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 275\u001b[0m neigh_dist \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 276\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", "File \u001b[1;32m~\\AppData\\Local\\anaconda3\\Lib\\site-packages\\sklearn\\neighbors\\_base.py:838\u001b[0m, in \u001b[0;36mKNeighborsMixin.kneighbors\u001b[1;34m(self, X, n_neighbors, return_distance)\u001b[0m\n\u001b[0;32m 836\u001b[0m X \u001b[38;5;241m=\u001b[39m _check_precomputed(X)\n\u001b[0;32m 837\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m--> 838\u001b[0m X \u001b[38;5;241m=\u001b[39m validate_data(\n\u001b[0;32m 839\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m 840\u001b[0m X,\n\u001b[0;32m 841\u001b[0m ensure_all_finite\u001b[38;5;241m=\u001b[39mensure_all_finite,\n\u001b[0;32m 842\u001b[0m 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,\n\u001b[0;32m 843\u001b[0m reset\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 844\u001b[0m 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 845\u001b[0m )\n\u001b[0;32m 847\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 848\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~\\AppData\\Local\\anaconda3\\Lib\\site-packages\\sklearn\\utils\\validation.py:2954\u001b[0m, in \u001b[0;36mvalidate_data\u001b[1;34m(_estimator, X, y, reset, validate_separately, skip_check_array, **check_params)\u001b[0m\n\u001b[0;32m 2952\u001b[0m out \u001b[38;5;241m=\u001b[39m X, y\n\u001b[0;32m 2953\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-> 2954\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 2955\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 2956\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~\\AppData\\Local\\anaconda3\\Lib\\site-packages\\sklearn\\utils\\validation.py:1091\u001b[0m, in \u001b[0;36mcheck_array\u001b[1;34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_writeable, force_all_finite, ensure_all_finite, ensure_non_negative, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[0m\n\u001b[0;32m 1084\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 1085\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 1086\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 1087\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 1088\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 1089\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 1090\u001b[0m )\n\u001b[1;32m-> 1091\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n\u001b[0;32m 1093\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 1094\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 1095\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 1096\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 1097\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": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4,)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X[0].shape" ] }, { "cell_type": "code", "execution_count": 22, "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": 23, "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": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1, 4)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "first_sample = X[0].reshape(1,-1)\n", "first_sample.shape" ] }, { "cell_type": "code", "execution_count": 25, "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": 26, "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": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "print(result_2)" ] }, { "cell_type": "code", "execution_count": 28, "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": 29, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0.]])" ] }, "execution_count": 29, "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": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(0)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.predict_proba(first_sample).argmax()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0.],\n", " [1., 0., 0.],\n", " [1., 0., 0.],\n", " [1., 0., 0.]])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# for the first 4 data samples\n", "knn.predict_proba(X[0:4])" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0])" ] }, "execution_count": 32, "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": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.9666666666666667)" ] }, "execution_count": 33, "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": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(145)" ] }, "execution_count": 34, "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": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9666666666666667" ] }, "execution_count": 35, "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": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9666666666666667" ] }, "execution_count": 36, "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": 37, "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": 38, "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": 39, "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": 40, "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": 41, "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 {accuracy*100:5.2f}%\")" ] }, { "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": 42, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "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iAnhSy+9hMOHD+Prr7/G2bNnMWXKFKvjrKurw9ixY9GtWzfs2rULu3fvRrdu3XDbbbehoaGhab/09HScPn0a6enp+M9//oP169dj/fr1TeOTJk1CYWEhMjIysHnzZqxZs8Yg4fztt98AAB9//DGKioqavgPA6dOn8fXXX+O7777Dd999h507d+K1116z+p6IyIEIRERObvTo0UKfPn0EnU7XtG3evHlCnz59BEEQhN9//12QyWTCxYsXDY67+eabhfnz5wuCIAgff/yx4O/v3+61srKyBABCTU2NIAiCkJ6eLgAQKioqWj0GgPDVV18JgiAI69atE+Lj4w1iVavVgre3t/DTTz8JgiAIkydPFqKjowWNRtO0z7333ivcf//9giAIwvHjxwUAwm+//dY0furUKQGAsHz5cpPX1Xv++ecFHx8fobq6umnbv//9b+HGG29s996JyPFxxo6IXMLw4cMhk8maviclJeHUqVPQarU4ePAgBEFAXFwcunXr1vTZuXMnTp8+3eZ5Dx06hDvvvBPR0dHw9fXFmDFjAAD5+flWxXngwAH8/vvv8PX1bYqje/fuuHr1qkEs/fr1g4eHR9P38PDwphm5EydOQKFQYMiQIU3jN9xwAwIDA82KISYmBr6+vibPTUTOTSF1AERE9qbT6eDh4YEDBw4YJEsA0K1bt1aPu3LlCsaPH4/x48cjLS0NwcHByM/Px6233mrw2NTSWIYOHYrPPvvMaCw4OLjpZ09PT4MxmUwGnU4HAAbvDjbX2vaW2jo3ETk3JnZE5BL27dtn9L13797w8PDA4MGDodVqUVJSgptuusnk8V5eXtBqtQbb8vLyUFZWhtdeew2RkZEAgP3793coziFDhuDLL79ESEgI/Pz8rDpHQkICNBoNDh06hKFDhwIAfv/9d6Naep6enkb3RESujY9iicglFBQUYPbs2Thx4gS++OILvPvuu3jqqacAAHFxcXjooYcwadIkbNmyBWfPnsVvv/2G119/Hdu2bQMgPp6sra3F//3f/6GsrAx1dXWIioqCl5cX3n33XZw5cwbffvstXnrppQ7F+dBDDyEoKAh33nknfvnlF5w9exY7d+7EU089hQsXLph1joSEBPy///f/8PjjjyMrKwuHDh3C448/Dm9vb4PH0TExMfi///s/FBcXo6KiokNxE5FzYGJHRC5h0qRJqK+vh0qlwpNPPomZM2fi8ccfbxr/+OOPMWnSJPzrX/9CfHw8/vznP+PXX39tmolLTk7G9OnTcf/99yM4OBhLly5FcHAw1q9fj//+97/o27cvXnvtNSxbtqxDcfr4+GDXrl2IiorCPffcgz59+uDRRx9FfX29RTN4n3zyCUJDQzFq1CjcfffdmDZtGnx9fdGlS5emfd58801s374dkZGRGDx4cIfiJiLnIBPMfSmDiMhBjRkzBomJiU013NzRhQsXEBkZif/973+4+eabpQ6HiCTCd+yIiJzQjh07UFtbiwEDBqCoqAhz585FTEwMRo0aJXVoRCQhJnZERE6osbERCxYswJkzZ+Dr64vk5GR89tlnRiteici98FEsERERkYvg4gkiIiIiF8HEjoiIiMhFMLEjIiIichFM7IiIiIhcBBM7IiIiIhfBxI6IiIjIRTCxIyIiInIRTOyIiIiIXAQTOyIiIiIX8f8Ba1za2++PEG8AAAAASUVORK5CYII=", "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": [ "### 12.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 that `SVC` stands for Support Vector Classifier." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LinearSVC()
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": [ "LinearSVC()" ] }, "execution_count": 44, "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": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 45, "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": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[12, 0, 0],\n", " [ 0, 13, 0],\n", " [ 0, 0, 13]])" ] }, "execution_count": 46, "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": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 47, "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": 48, "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": 48, "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": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9736842105263158" ] }, "execution_count": 49, "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": 50, "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": 50, "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": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9736842105263158" ] }, "execution_count": 51, "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": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[12, 0, 0],\n", " [ 0, 12, 1],\n", " [ 0, 0, 13]])" ] }, "execution_count": 52, "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": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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pG0KblfppqYmPv74Y7p160YoFOwNZurr6+nTpw+1tbXaITsP6PXIL3o98otej/wTtNfEcRzWr19P7969KSlJPqul4HpeSkpK2GmnnfwOI6sqKioC8YdXLPR65Be9HvlFr0f+CdJrkqrHJUoTdkVERCRQlLyIiIhIoCh5yWPl5eVcd911lJeX+x2KoNcj3+j1yC96PfJPIb8mBTdhV0RERAqbel5EREQkUJS8iIiISKAoeREREZFAUfIiIiIigaLkJY9cf/31jBo1iq5du9K9e3dX93Ech0mTJtG7d2+22morDjroIN566y1vAy0in3/+OePGjSMcDhMOhxk3bhxffPFF0vucffbZhEKhVpcRI0bkJuACc9ddd9G/f3+6dOnCsGHDeOGFF5K2X7hwIcOGDaNLly7ssssuTJs2LUeRFod0Xo8FCxa0ex+EQiGWL1+ew4gL1/PPP8+xxx5L7969CYVCPPXUUynvU0jvDyUveWTz5s2cfPLJnH/++a7v8+tf/5pbb72VqVOnsnjxYqqqqjjssMOa93iSjjnjjDNYunQpc+fOZe7cuSxdupRx48alvN8RRxzBqlWrmi9z5szJQbSF5YknnmDixIlce+211NTUMHr0aI488khWrlwZt/2KFSs46qijGD16NDU1NVxzzTVcfPHFzJw5M8eRF6Z0X4+od955p9V7YcCAATmKuLB99dVX7L333kydOtVV+4J7fziSdx544AEnHA6nbNfU1ORUVVU5N954Y/Oxr7/+2gmHw860adM8jLA4vP322w7gvPTSS83HqqurHcBZvnx5wvuNHz/eOe6443IQYWHbb7/9nAkTJrQ6NnjwYOeqq66K2/6KK65wBg8e3OrYj370I2fEiBGexVhM0n095s+f7wDO559/noPoihvgzJo1K2mbQnt/qOclwFasWMHq1asZO3Zs87Hy8nLGjBnDokWLfIysMFRXVxMOh9l///2bj40YMYJwOJzy/3fBggX07NmTgQMHct5557FmzRqvwy0omzdv5tVXX231tw0wduzYhP/31dXV7doffvjhLFmyhC1btngWazHI5PWIGjp0KL169eLQQw9l/vz5XoYpSRTa+0PJS4CtXr0agMrKylbHKysrm2+TzK1evZqePXu2O96zZ8+k/79HHnkkM2bM4LnnnuOWW25h8eLFHHLIIWzatMnLcAvK2rVraWxsTOtve/Xq1XHbNzQ0sHbtWs9iLQaZvB69evXinnvuYebMmTz55JMMGjSIQw89lOeffz4XIUsbhfb+KLhdpfPNpEmTmDx5ctI2ixcvZvjw4Rk/RygUavWz4zjtjkkLt68JtP+/hdT/v6eeemrz9SFDhjB8+HD69u3L7NmzOfHEEzOMujil+7cdr32845KZdF6PQYMGMWjQoOafR44cSW1tLTfffDMHHnigp3FKfIX0/lDy4rELL7yQ0047LWmbfv36ZfTYVVVVgGXUvXr1aj6+Zs2adhm2tHD7mrz++ut88skn7W779NNP0/r/7dWrF3379uW9995LO9Zi1aNHD0pLS9t9q0/2t11VVRW3fVlZGdtvv71nsRaDTF6PeEaMGMGjjz6a7fDEhUJ7fyh58ViPHj3o0aOHJ4/dv39/qqqqmDdvHkOHDgVsbHrhwoXcdNNNnjxnIXD7mowcOZK6ujpeeeUV9ttvPwBefvll6urqGDVqlOvnW7duHbW1ta0STEmuc+fODBs2jHnz5nHCCSc0H583bx7HHXdc3PuMHDmSv/71r62OPfvsswwfPpxOnTp5Gm+hy+T1iKempkbvA58U3PvDz9nC0tqHH37o1NTUOJMnT3a22WYbp6amxqmpqXHWr1/f3GbQoEHOk08+2fzzjTfe6ITDYefJJ5903njjDef00093evXq5dTX1/vxKxScI444wtlrr72c6upqp7q62tlzzz2dY445plWb2Ndk/fr1zmWXXeYsWrTIWbFihTN//nxn5MiRzo477qjXJE2PP/6406lTJ2f69OnO22+/7UycONHZeuutnQ8++MBxHMe56qqrnHHjxjW3f//9952uXbs6l1xyifP2228706dPdzp16uT8+c9/9utXKCjpvh633XabM2vWLOfdd9913nzzTeeqq65yAGfmzJl+/QoFZf369c2fEYBz6623OjU1Nc6HH37oOE7hvz+UvOSR8ePHO0C7y/z585vbAM4DDzzQ/HNTU5Nz3XXXOVVVVU55eblz4IEHOm+88Ubugy9Q69atc84880ynW7duTrdu3Zwzzzyz3dLP2Ndkw4YNztixY50ddtjB6dSpk7Pzzjs748ePd1auXJn74AvAnXfe6fTt29fp3Lmzs++++zoLFy5svm38+PHOmDFjWrVfsGCBM3ToUKdz585Ov379nLvvvjvHERe2dF6Pm266ydl1112dLl26ONtuu63zrW99y5k9e7YPURem6FL0tpfx48c7jlP474+Q40Rm7IiIiIgEgJZKi4iISKAoeREREZFAUfIiIiIigaLkRURERAJFyYuIiIgEipIXERERCRQlLyIiIhIoSl5EREQkUJS8iIiISKAoeREREZFAUfIiIiIigaLkRURERALl/wG9EDhITjIGKAAAAABJRU5ErkJggg==", "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": 54, "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": 55, "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": 55, "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": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 56, "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": 57, "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": 57, "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": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.4" ] }, "execution_count": 58, "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": 59, "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": [ "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(f\"The test accuracy is {accuracy*100:5.2f}%\")\n", "\n", "plot_decision_regions(X1, y1, classifier=lin_svm_3)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 94.74%\n" ] }, { "data": { "image/png": "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", "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(f\"The test accuracy is {accuracy*100:5.2f}%\")\n", "\n", "plot_decision_regions(X1, y1, classifier=rbf_svm_3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.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": 61, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37%\n" ] }, { "data": { "image/png": "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3YrU1FSJqiJXJAgCZsyYgY0bN2Lbtm3o1auX1CW5LEEQoNFopC5DMrfccguOHDmC3Nxcw2f48OGYNGkScnNz4eXlJXWJLkGj0eDYsWOIioqSuhTJjBw50iQ26cSJE+jZs6dEFbmWTz75BOHh4bjjjjukLsUl8VWsBbNnz8ZDDz2E4cOHIyUlBStXrkRhYSGmT58udWmSqqurw6+//mr4+cyZM8jNzUVISAhiY2MlrEwaTzzxBD7//HP85z//gb+/v+Epb2BgIHx9fSWuTjoLFizAhAkTEBMTg9raWqxduxbbt2/H999/L3VpkvH39zcZe9m1a1d0797do8dkzpkzB2lpaYiNjUVZWRlefvll1NTUYMqUKVKXJpmnnnoKqampePXVV3HfffchJycHK1euxMqVK6UuTXJ6vR6ffPIJpkyZApWKLYxZAln0/vvvCz179hR8fHyEoUOHCjt27JC6JMllZWUJAEw+U6ZMkbo0SZj7XQAQPvnkE6lLk9Rf/vIXw/92wsLChFtuuUX48ccfpS7L5dx8883Ck08+KXUZkrr//vuFqKgowdvbW4iOjhbuuece4ejRo1KXJbnNmzcLAwYMENRqtZCYmCisXLlS6pJcwg8//CAAEI4fPy51KS6LOXZEREREMsExdkREREQywcaOiIiISCbY2BERERHJBBs7IiIiIplgY0dEREQkE2zsiIiIiGSCjR0RERGRTLCxIyIiIpIJNnZERJ2wfft2KBQKVFVVWTxGoVDg66+/dlpN1jz//PNISkqSugwichA2dkREANasWYOgoCCpy7ArV2ooicg52NgRERERyQQbOyJye2PGjMGMGTMwY8YMBAUFoXv37li0aBFaLoXd2NiIuXPn4rrrrkPXrl1x4403Yvv27QDE16mPPPIIqquroVAooFAo8PzzzwMAMjMzMXz4cPj7+yMyMhIPPvggysrKOlXvhQsXcP/99yM4OBjdu3fHnXfeibNnzxr2P/zww7jrrruwePFiREVFoXv37njiiSfQ1NRkOKakpAR33HEHfH190atXL3z++eeIi4vD0qVLAQBxcXEAgLvvvhsKhcLwc7N//etfiIuLQ2BgIB544AHU1tZ26p6IyDWwsSMiWfjnP/8JlUqFn3/+Ge+++y6WLFmCjz76yLD/kUcewe7du7F27VocPnwY9957L26//XacPHkSqampWLp0KQICAlBSUoKSkhLMmTMHgNgQvvTSSzh06BC+/vprnDlzBg8//LDNddbX12Ps2LHo1q0bdu7ciV27dqFbt264/fbb0djYaDguKysLp06dQlZWFv75z39izZo1WLNmjWH/5MmTUVxcjO3bt2PDhg1YuXKlUcP5yy+/AAA++eQTlJSUGH4GgFOnTuHrr7/GN998g2+++QY7duzAa6+9ZvM9EZELEYiI3NzNN98s9O3bV9Dr9YZt8+bNE/r27SsIgiD8+uuvgkKhEC5cuGB03i233CLMnz9fEARB+OSTT4TAwMA2r5WTkyMAEGprawVBEISsrCwBgFBZWWnxHADCV199JQiCIKxevVpISEgwqlWj0Qi+vr7CDz/8IAiCIEyZMkXo2bOnoNVqDcfce++9wv333y8IgiAcO3ZMACD88ssvhv0nT54UAAhLliwxe91mzz33nODn5yfU1NQYtv3jH/8QbrzxxjbvnYhcH5/YEZEsjBgxAgqFwvBzSkoKTp48CZ1OhwMHDkAQBPTp0wfdunUzfHbs2IFTp05Z/d6DBw/izjvvRM+ePeHv748xY8YAAAoLC22qc//+/fj111/h7+9vqCMkJARXr141qqV///7w8vIy/BwVFWV4Inf8+HGoVCoMHTrUsP+GG25AcHBwu2qIi4uDv7+/2e8mIvemkroAIiJH0+v18PLywv79+42aJQDo1q2bxfOuXLmC8ePHY/z48cjMzERYWBgKCwtx2223Gb027Wgtw4YNw2effWayLywszPB3b29vo30KhQJ6vR4AjMYOtmRpe2vWvpuI3BsbOyKShb1795r83Lt3b3h5eWHIkCHQ6XQoKyvDTTfdZPZ8Hx8f6HQ6o20FBQWoqKjAa6+9hpiYGADAvn37OlXn0KFD8eWXXyI8PBwBAQE2fUdiYiK0Wi0OHjyIYcOGAQB+/fVXkyw9b29vk3siInnjq1gikoWioiLMnj0bx48fxxdffIFly5bhySefBAD06dMHkyZNwuTJk7Fx40acOXMGv/zyC15//XVs2bIFgPh6sq6uDv/73/9QUVGB+vp6xMbGwsfHB8uWLcPp06exadMmvPTSS52qc9KkSQgNDcWdd96Jn376CWfOnMGOHTvw5JNP4vz58+36jsTERPz+97/HY489hpycHBw8eBCPPfYYfH19jV5Hx8XF4X//+x9KS0tRWVnZqbqJyD2wsSMiWZg8eTIaGhqQnJyMJ554AjNnzsRjjz1m2P/JJ59g8uTJ+Pvf/46EhAT88Y9/xM8//2x4Epeamorp06fj/vvvR1hYGN544w2EhYVhzZo1+Pe//41+/frhtddew+LFiztVp5+fH3bu3InY2Fjcc8896Nu3L/7yl7+goaGhQ0/wPv30U0RERGD06NG4++67MW3aNPj7+6NLly6GY9566y1s3boVMTExGDJkSKfqJiL3oBDaOyiDiMhFjRkzBklJSYYMN090/vx5xMTE4L///S9uueUWqcshIolwjB0RkRvatm0b6urqMHDgQJSUlGDu3LmIi4vD6NGjpS6NiCTExo6IyA01NTVhwYIFOH36NPz9/ZGamorPPvvMZMYrEXkWvoolIiIikglOniAiIiKSCTZ2RERERDLBxo6IiIhIJtjYEREREckEGzsiIiIimWBjR0RERCQTbOyIiIiIZIKNHREREZFMsLEjIiIikon/DxkP9Th8XDH7AAAAAElFTkSuQmCC", "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(f\"The test accuracy is {accuracy*100:5.2f}%\")\n", "\n", "plot_decision_regions(X1, y1, classifier=lr_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.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": 63, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAJ8CAYAAABunRBBAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtvpJREFUeJzs3XdYFOfaBvCbDkuvoiCiqKEZezeKLXqiRzQKdmOMUVTsvaLm2ILGxJ5iS6zAsURNjuYYsSsCojRFpVkABQSkt/n+8LCf6KL02WXv33XtdbE778w8s8u++8wzM++oCIIggIiIiIiUhqrYARARERFR7WICSERERKRkmAASERERKRkmgERERERKhgkgERERkZJhAkhERESkZJgAEhERESkZJoBERERESoYJIBEREZGSYQJIREREpGSYABIREREpGSaAREREREqGCSARERGRkmECSERERKRkmAASERERKRkmgERERERKhgkgERERkZJhAkhERESkZJgAEhERESkZJoBERERESoYJIBEREZGSYQJIREREpGSYABIREREpGSaAREREREqGCSARERGRkmECSERERKRkmAASERERKRkmgERERERKhgkgERERkZJhAkhERESkZJgAEhERESkZJoBERERESoYJIBEREZGSYQJIREREpGSYABIREREpGSaAREREREqGCSARERGRkmECSERERKRk1MUOgEiexMfHIzk5WewwqJaYmZnBxsZG7DCIiGodE0Ci/4mPj4eDgwOys7PFDoVqiUQiQWRkJJNAIlI6TACJ/ic5ORnZ2dk4cOAAHBwcxA6HalhkZCTGjBmD5ORkJoBEpHSYABK9xcHBAW3atBE7DCIiohrDi0CIiIiIlAwTQCIiIiIlwwSQiIiISMkwASSSI/7+/lBTU4Oenh6ioqIAABs2bIC9vT309fXh7OyMU6dOSdtv2bIFurq60NPTq/VY9+7di5YtW0JfXx9NmzbFnj17PjhPXFwcdHR04OnpKX3tzW0ueURGRtZk6ERESo8JIJGccXBwQGZmJpo3bw4AUFNTg5+fH9LT0/HDDz9gzJgxePbsGQBgxowZCA8Pr9R6qjreYX5+Pn766Se8fPkS//73v7FgwQIEBga+d565c+eibdu277xess0lD16FTURUs5gAEtWyiIgIWFhYID4+HgBw+vRp2NnZlTn+4Lx5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gWXLluHf//437t69K3Y4RERy486dOzh27JjC9ed+fn7szxUYK4AK6vPPP8edO3dw7949hegwgNd7jfb29mjVqhX+/e9/ix0OEZFcYH9OYmAFUAGFhITg+PHjCrO3WKJkr/HYsWMICQkROxwiItGV9OfLly9nf061ihVABTRkyBCEhobi3r17UFdXFzucCiksLIS9vT1atGiB48ePix0OEZGoBg8ejLCwMPbnVOtYAVQwt2/fxokTJ7B8+XKF6ywAQF1dHcuWLcOJEydw+/ZtscMhIhJNcHAwTp48qdD9+fLly9mfKyhWABWMq6srIiMjERERoZAdBvB6r9HBwQGOjo44efKk2OEQEYli0KBBuHfvXp3oz52cnHDixAmxw6EKYAVQgQQFBeH3339X2L3FEiV7jb///juCg4PFDoeIqNYFBQXh1KlTdaY/P3nyJPtzBcMKoAL55z//iaioKISHhyt0hwG83mt0dHSEvb09fv/9d7HDISKqVezPSWysACqIwMBAnD59WuH3Fkuoq6tjxYoVOHXqFAIDA8UOh4io1ty6dQunT5/GihUr2J+TaFgBVBADBw7Ew4cPER4eDjU1NbHDqRaFhYVwcnJCs2bNcPr0abHDISKqFQMGDMCjR4/qVH9eVFQER0dH9ucKhBVABRAQEIAzZ85gxYoVdaazAP5/r/HMmTMICAgQOxwiohp38+ZN/PHHH3WuP1dTU5P257du3RI7HCoHVgAVwGeffYbY2FiEhobWqQ4DeL3X6OzsjCZNmuDMmTNih0NEVKPYn5O8YAVQzt24cQN//vlnndtbLFGy1/jHH3/g5s2bYodDRFRj2J+TPGEFUM71798fjx8/xt27d+tkhwG83mts0aIFGjVqhD///FPscIiIagT7c5InrADKsevXr+Ps2bN1dm+xhJqaGry8vPCf//wH169fFzscIqJqV9Kfe3l5sT8nucAKoBzr168fnj59irt370JVtW7n6kVFRfj4449hbW2Ns2fPih0OEVG1+vTTT/Hs2TOl6M+Li4vRokULNGzYEP/5z3/EDofKULf/CxXYtWvXcO7cOXh5edX5zgL4/73Gc+fO4dq1a2KHQ0RUba5evYq//vpLafpzVVVVeHl54ezZs6wCyjFWAOVU3759kZSUhJCQEKXoMIDXe40tW7ZE/fr1ce7cObHDISKqFuzP2Z/LI+X4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", "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": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 94.74%\n" ] }, { "data": { "image/png": "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ZCA6OhpLly41uf6yZcsQExODjIwMtG/fHs899xyeffZZzJs3r5ErJyIiInI+jwl2VVVV2L9/PwYNGmSwfNCgQdi1a5fJbXbv3m20/t133419+/ah2syX+tVqNUpLSw1eRERERJ7AY4JdUVERtFotwsPDDZaHh4ejoKDA5DYFBQUm19doNCgqKjK5TXp6OgIDA/WvaDPf4yIiIiJyNx4T7GrIZDKD96IoGi2rb31Ty2tMnToVJSUl+ldeXl4DKyYiIiJqHB7z8ERISAgUCoXR1bnCwkKjq3I1IiIiTK6vVCrRsmVLk9uoVCqobGjNQUREROQuPOaKnbe3N7p3744tW7YYLN+yZQuSkpJMbpOYmGi0/ubNm9GjRw94eXk5rVYiIiIiV/CYYAcAaWlp+PDDD/HRRx/h2LFjmDRpEnJzc/V96aZOnYqRI0fq109JScHZs2eRlpaGY8eO4aOPPkJmZiYmT57sqlMgIiIichqPuRULAE888QQuX76MOXPmID8/Hx07dsS3336L2NhYAEB+fj5yc3P167du3RrffvstJk2ahPfffx9RUVFYtGgRe9gRERGRJHlUsAOAcePGYdy4cSbHVq1aZbSsX79+OHDggJOrIiIiInI9j7oVS0RERETmMdgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEMNgRERERSQSDHREREZFEeEywKy4uxtNPP43AwEAEBgbi6aefxtWrVy1uM3r0aMhkMoNXz549G6dgIiIiokamdHUB1nrqqadw7tw5fP/99wCAsWPH4umnn8amTZssbnfPPfdg5cqV+vfe3t5OrZOIiIjIVTwi2B07dgzff/899uzZgzvuuAMAsGLFCiQmJuLEiROIj483u61KpUJERERjlUpERETkMh5xK3b37t0IDAzUhzoA6NmzJwIDA7Fr1y6L227btg1hYWFo27YtkpOTUVhY6OxyiYiIiFzCI67YFRQUICwszGh5WFgYCgoKzG43ePBgPP7444iNjcXp06cxc+ZM3Hnnndi/fz9UKpXJbdRqNdRqtf59aWlpw0+AiIiIqBG49IrdrFmzjB5uqPvat28fAEAmkxltL4qiyeU1nnjiCdx3333o2LEjhgwZgu+++w4nT57EN998Y3ab9PR0/QMagYGBiI6ObviJEhERETUCl16xmzBhAoYNG2Zxnbi4OBw+fBgXL140Grt06RLCw8OtPl5kZCRiY2Nx6tQps+tMnToVaWlp+velpaUMd0REROQRXBrsQkJCEBISUu96iYmJKCkpwd69e3H77bcDAH755ReUlJQgKSnJ6uNdvnwZeXl5iIyMNLuOSqUye5uWiIiIyJ15xMMT7du3xz333IPk5GTs2bMHe/bsQXJyMu6//36DJ2LbtWuHDRs2AADKy8sxefJk7N69G2fOnMG2bdswZMgQhISE4OGHH3bVqRARERE5jUcEOwD47LPP0KlTJwwaNAiDBg1C586d8emnnxqsc+LECZSUlAAAFAoFcnJy8OCDD6Jt27YYNWoU2rZti927d8Pf398Vp0BERETkVB7xVCwABAcHY/Xq1RbXEUVR/7uPjw9++OEHZ5dFRERE5DY85oodEREREVnGYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEUpXF+DuRFEEAJRWVLi4EiIL1GpUVFcCFaWuroTIKmo1UFlegbLSMleXQuT2ysvKAdzIJJbIRGvWasL++usv3HLLLa4ug4iIiJq4vLw8tGrVyuI6vGJXj+DgYABAbm4uAgMDXVyNeygtLUV0dDTy8vIQEBDg6nLcBj8XY/xMTOPnYoyfiWn8XIw1xc9EFEWUlZUhKiqq3nUZ7Oohl+u+hhgYGNhk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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(f\"The test accuracy is {accuracy*100:5.2f}%\")\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": [ "### 12.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": 66, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the Decision Boundary" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 97.37%\n" ] }, { "data": { "image/png": "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6VLDtjZt2mDQoEFITU012X/KlCnYunUrzpw5Y9iWlJSEX3/9FQcPHrTpnLxjR0RERGKy546dx8yKraiowNGjR9G/f3+j7f3798eBAwfMHnPw4EGT/R988EEcOXIElRa+1K9Wq1FcXGz0IiIiIvIEHhPsCgoKoNVqERYWZrQ9LCwMubm5Zo/Jzc01u79Go0FBQYHZY1JTUxEYGGh4RVn4HhcRERGRu/GYYFdFJpMZvRcEwWRbbfub215l6tSpKCoqMryysrLqWDERERFR/fCYyRMhISFQKBQmd+fy8/NN7spVCQ8PN7u/UqlE06ZNzR6jUqmgsqM1BxEREZG78Jg7dt7e3ujSpQt27txptH3nzp1ITEw0e0xCQoLJ/jt27EDXrl3h5eXlslqJiIiIxOAxwQ4AUlJS8Mknn+DTTz/FmTNnMHHiRGRmZhr60k2dOhUjRoww7J+UlIRLly4hJSUFZ86cwaeffoqVK1di0qRJYl0CERERkct4zKNYAHj66adx7do1zJkzBzk5OWjXrh22b9+OmJgYAEBOTg4yMzMN+7do0QLbt2/HxIkT8dFHHyEyMhKLFi1iDzsiIiKSJI/qYycG9rEjIiIiMUmyjx0RERERWcdgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEsFgR0RERCQRDHZEREREEuExwa6wsBDPPfccAgMDERgYiOeeew43btywesyoUaMgk8mMXt26daufgomIiIjqmVLsAmz17LPP4vLly/j+++8BAGPHjsVzzz2Hbdu2WT3uoYcewqpVqwzvvb29XVonERERkVg8ItidOXMG33//PQ4dOoT77rsPALBixQokJCTg3LlziIuLs3isSqVCeHh4fZVKREREJBqPeBR78OBBBAYGGkIdAHTr1g2BgYE4cOCA1WP3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", "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(f\"The test accuracy is {accuracy*100:5.2f}%\")\n", "\n", "plot_decision_regions(X1, y1, classifier=rf_model_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.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": 68, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": [ "### 12.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": 69, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": 70, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The test accuracy is 81.58%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZ9dJREFUeJzt3XlcVPX+P/DXLDCC7AoIymYpKO6aiqap3Swrry2/ytuiltfim5pKpteyxbK0stQ2zfJqRmVdU6+26k3BPdNcUERNRUBAUNnBgZk5vz/GGWaYBRhm5swMr+fjMQ/lfOac8znc7r2vPufzeX8kgiAIICIiIiK3JxW7A0RERERkHwx2RERERB6CwY6IiIjIQzDYEREREXkIBjsiIiIiD8FgR0REROQhGOyIiIiIPASDHREREZGHkIvdAVen0WiQn58Pf39/SCQSsbtDRERErYwgCKioqEBkZCSkUutjcgx2jcjPz0dUVJTY3SAiIqJWLjc3F506dbL6HQa7Rvj7+wMA9pzfAz9/P5F7Q0RERK1NZUUlbu18qz6TWMNg1wjd61c/fz/4BzT+CyUiIiJyhKZMCePiCSIiIiIPwWBHRERE5CEY7IiIiIg8BOfY2YmgFqBRaQBB7J7YmQSQyqWQyFjqhYiIyNUx2LWQIAi4Xnwd6nI1JPDM8CNAgCxAhjahbVjLj4iIyIUx2LXQ9eLr0JRrEBYaBh9fH48LPoIgoKa6BsXFxbiO6/AJ8xG7S0RERGQBg10LCGoB6nI1wkLDENwuWOzuOEwbnzYAgKLiIgjtBL6WJSIiclFcPNECGpUGEkjg4+v5o1g+vj6QQKKdR0hEREQuicGuJW4slPC016/m6J/R0xaHEBEReRAGOyIiIiIPwWBHRERE5CEY7FqxT1d8ivib4hHoG4ikW5KwZ/cesbtERERELcBVsSLKyclBTXWNxXYfXx9ER0c75N7/+fY/mD1rNpZ/tBxDhg7B56s+x7h7xuHIiSMOuycRERE5FoOdSHJycjB+zN+B6irLX/Jti/U/b3FI0Ppg2QeY9NQkPPXPpwAAS5YuwfZt27Fq5SosfGuh3e9HREREjsdgJ5Ka6hqgugqve3sjTqEwab+gVOKV6iqrI3q2qq2txZ+H/8TsObONjv/tjr/hwP4Ddr8fEREROQeDncjiFAoktGljvrG21iH3vHLlCtRqNcLCw4yOh4WH4XLhZYfck4iIiByPiydasYb19wRBaBU1+YiIiDwVg10r1L59e8hkMpPRueKiYpNRPCIiInIfDHatkLe3N/r174ff/veb0fHf/vcbBicNFqlXRERE1FKcY9dKPTfzOTw18Sn0698Pg5MGY/Vnq5Gbk4spz0wRu2tERERkIwY7kV1QKpt13F4eeuQhXLt2DW8tfAuFBYVI7JGIzT9sRkxMjEPvS0RERI7DYCcSH18fwLctXqmusrz61bet9nsO8sz/PYNn/u8Zh12fiIiInIvBTiTR0dFY//MW0XaeICIiIs/DYCcihjYiIiKyJ66KJSIiIvIQDHZEREREHoLBjoiIiMhDMNgREREReQgGOyIiIiIPwWBHRERE5CEY7IiIiIg8BINdK7V712488PcHENcpDm1kbbBl8xaxu0REREQtxGDXSlVXVaNn755Y+sFSsbtCREREdsKdJ0RUWQlUVwNhYaZtRUWAry/g5+eYe9855k7cOeZOx1yciIiIRMERO5FUVgKznpPj2afluHzZuO3yZeDZp+WY9ZwclZXi9I+IiIjcD4OdSKqrgZJrQH6+BFOfqQ93ly8DU5+RIz9fgpJr2u8RERERNQWDnUjCwoCPP1UhMlLQh7uM4xJ9qIuMFPDxpyqzr2mJiIiIzHGbYLdixQr06tULAQEBCAgIQFJSEn7++Wer56Snp6N///5o06YNOnfujJUrVzqpt00THm4c7p75p3GoCw8Xu4dERETkTtwm2HXq1AmLFy/GoUOHcOjQIYwaNQrjxo3DyZMnzX7/woULuPvuuzFs2DAcOXIEL774Ip577jl8//33Tu65deHhwKuvq42Ovfq6mqGOiIiIms1tVsWOHTvW6Oc333wTK1aswIEDB5CYmGjy/ZUrVyI6OhrLli0DAHTr1g2HDh3CkiVL8OCDDzqjy01y+TKw4BWZ0bEFr8gcPmJXWVmJc3+d0/+cnZ2NY0ePITgkGNHR0Y67MRERETmM24zYGVKr1Vi/fj2qqqqQlJRk9jv79+/H6NGjjY7deeedOHToEOrq6pzRzUYZLpSIjBTw6efGc+4arpa1p8OHDmNQ/0EY1H8QAGDO83MwqP8gvP7q6467KRERETmU24zYAUBGRgaSkpJw/fp1+Pn5YdOmTejevbvZ7xYWFiK8wZBXeHg4VCoVrly5goiICLPnKZVKKJVK/c/l5eX2ewADRUUwWSihm3OnOz71GTk+WeWYBRS3jbgN19XX7X9hIiIiEo1bjdjFx8fj6NGjOHDgAP7v//4PEydORGZmpsXvSyQSo58FQTB73NCiRYsQGBio/0RFRdmn8w34+gLBITBZKGG4oCI4RPs9IiIioqZwqxE7b29v3HzzzQCAAQMG4I8//sDy5cvx6aefmny3Q4cOKCwsNDpWVFQEuVyOdu3aWbzHvHnzkJKSov+5vLzcIeHOzw9Y+oHK7M4T4eHAJ6tUDt15goiIiDyPWwW7hgRBMHptaigpKQlbt241OrZt2zYMGDAAXl5eFq+pUCigUCjs2k9L/PwsBzfWryMiIqLmcptXsS+++CJ2796N7OxsZGRk4KWXXkJaWhoee+wxANqRtgkTJui/n5ycjIsXLyIlJQWnTp3Cv//9b6xevRqzZ88W6xGIiIiIHMptRuwuX76MJ554AgUFBQgMDESvXr3wyy+/4I477gAAFBQUICcnR//9uLg4/PTTT5g1axY+/vhjREZG4oMPPnCpUidERERE9iQRdCsKyKzy8nIEBgbiaPFR+Af4G7Wpr6txPe86YmJjoGjjnNe3YlFeV+Ji9kW06dQGsjayxk8gIiIiu6gor0Cf0D4oKytDQECA1e+6zatYIiIiIrKOwY6IiIjIQzDYEREREXkIBjsiIiIiD8Fg1wq9s/gdDB00FO0D2yOqQxQeuv8hnDl9RuxuERERUQsx2LVCu9N345n/ewa79u3Cj7/+CJVKhXvuugdVVVVid42IiIhawG3q2HkyjUaDo0eO4uqVq2jXvh369O0DqdRxmXvrz8Y7cqz69ypEdYjCn4f/xLDhwxx2XyIiInIsBjuR7dyxE8uXL8fFSxehgQZSSBHTMQYzZszAyFEjndKH8rJyAEBISIhT7kdERESOwVexItq5Yyde+NcLkMRIMOHjCZj701xM+HgCJDESvPCvF7Bzx06H90EQBMx5fg6G3DoEiT0SHX4/IiIichwGO5FoNBosX74cUYOj8OjCRxGdGA2FrwLRidF4dOGjiBocheXLl0Oj0Ti0HzOnz0RGRgbWfbXOofchIiIix2OwE8nRI0dx8dJFDH9suMl8OqlUiuGPDsfFSxdx9MhRh/Vh1nOz8MPWH/Drb7+iU6dODrsPEREROQfn2Ink6pWr0ECD8Lhws+3hncOhgQZXr1y1+70FQcCs52Zhy+Yt2LZjG+Li4ux+DyIiInI+jtiJpF37dpBCissXLpttv3z+MqSQol37dna/94xpM/DNV99gbepa+Pn7obCwEIWFhaipqbH7vYiIiMh5GOxE0qdvH8R0jMGur3aZzKPTaDTY9fUuxHSMQZ++fex+71UrV6GsrAyjR41GbMdY/ec/3/7H7vciIiIi5+GrWJFIpVLMmDEDL/zrBXw9/2sMf3Q4wjuH4/L5y9j19S7kHsjFu4vfdUg9u+vq63a/JhEREYmPwU5EI0eNxLuL38Xy5cuxbto6ozp27y5+12l17IiIiMgzMNiJbOSokbhtxG1O3XmCiIiIPBODnQuQSqXo17+f2N0gIiIiN8dhISIiIiIPwWBHRERE5CEY7FpCov1DEARx++EE+meUiNsPIiIisozBrgWkcikECKip9vzCvjXVNRAgQCrnPzJERESuiosnWkAik0AWIENxcTEAwMfXBxKJZw1pCYI2uBYXF0MWIINE5lnPR0RE5EkY7FqoTWgbXMd1FBUXQeKh7ykFCJAFyNAmtI3YXSEiIiIrGOxaSCKRwCfMB0I7ARqVBvC06XYS7StnjtQRERG5PgY7O5HIJJDJZGJ3g4iIiFoxzoQnIiIi8hAMdkREREQegsGOiIiIyEMw2BERERF5CAY7IiIiIg/BVbFERERELipLmYVqZXWTv89gR0REROSCspRZOLYnCJUXOjb5HAY7IiIiIpFlKbOQX2B87NpVoHrfEPTqUd7k6zDYERERETlRoarQ5NiJE0DFT3ebHB84EKhu+ptYBjsiIqKW0mg0OHn0JEqulCC4fTAS+yRCKm3Z+kRL13TEvch5ClWFyMwrhVdNkP5Yfj6gKkzAwIEtv77bBLtFixZh48aNyMrKgo+PD4YMGYK3334b8fHxFs9JS0vDyJEjTY6fOnUKCQkJjuwuERG1Evt27sPqD1cjPz8fGmgghRSRkZGYPH0yhowcYtdrDh42GAd2H7DrvchxzI3MZeaVomBvAmrPdzY6bo9QBwASQRDcYtv6u+66C+PHj8ctt9wClUqFl156CRkZGcjMzETbtm3NnqMLdqdPn0ZAQID+eGhoaJP3dS0vL0dgYCCOFh+Ff4C/XZ6FiIg8w76d+/Dmi28iZnAMhj42FGFxYSi6UIS9X+3FxQMX8dJbLzU7cFm65pa3t+DM/jPoP64/Rj450i73IsfakZ1lNDIHaEfneqia959TdXU5xo8PRFlZmVGeMcdtgl1DxcXFCAsLQ3p6OoYPH272O7pgV1JSgqCgIJvuw2BHRETmaDQaTPl/U6CIUeDhhQ8bvQ7VaDT4bv53UF5U4rMNnzX5Vamla2o0Gnzw6AfwCfXB6OmjEdclDpC07F5kXw1H50rVpTi2JwjV+0xDXHNH55oT7Nz2P/2ysjIAQEhISKPf7du3LyIiInD77bdj586dVr+rVCpRXl5u9CEiImro5NGTyM/Px9DHhpqEKalUiqGPDkV+fj5OHj3Z4mvmHM9BSWEJbp14K1RqFWpqalp8L7KfLGUWMvNKcfYs9B9dqBs4ECYfR3KbOXaGBEFASkoKbr31VvTo0cPi9yIiIrBq1Sr0798fSqUSX375JW6//XakpaVZHOVbtGgRFixY4KiuExGRhyi5UgINNAiLCzPbHtY5DBpoUHKlpMXXrLhaAQAI7xqOkkslUKvULb4X2SZLmWVyTLei1TC0hQCAg0OcOW4Z7KZNm4bjx49jz549Vr8XHx9vtLgiKSkJubm5WLJkicVgN2/ePKSkpOh/Li8vR1RUlH06TkREHiO4fTCkkKLoQhGiEk3/f6LofBGkkCK4fXCLr+nfTjsV6PKZy/Bu6w2Z3HieuC33ouYrVBXixAlAmWW6ANPRI3FN5XavYqdPn44tW7Zg586d6NSpU7PPHzx4MM6ePWuxXaFQICAgwOhDRETUUGKfRERGRmLvV3uh0WiM2jQaDfZ+vReRkZFI7JPY4mtG94pGcIdg7Fm7B3KZHD4+Pi2+F1lXqCpEljLL6JOZVwplVgL6tO9s8nEVbjNiJwgCpk+fjk2bNiEtLQ1xcXE2XefIkSOIiIiwc++IiKi1kUqlmDx9Mt588U18N/87DH10KMI6h6HofBH2fl2/UrU5ixmsXdPL2wuZv2bCp40P5JPkLb4XWZeZV4ric0FQFXYwOu5KIc4ct1kV++yzz+Lrr7/Gf//7X6PXq4GBgfp/c5k3bx4uXbqEdevWAQCWLVuG2NhYJCYmora2FqmpqVi8eDG+//57PPDAA026L1fFEhGJx5WK8apUKmz9bivyc/IRGR2JsQ+PhVwuZx07D2Bu3pzh4gexeWS5E4lEYvb4mjVrMGnSJADApEmTkJ2djbS0NADAO++8g1WrVuHSpUvw8fFBYmIi5s2bh7vvNt2ywxIGOyIicTgiMNnqs6WfYfWHq1GnqYNULoVGpYGX1AuTp0/GlFlTuPOEG8tSZpmdN1d7vrNLhDrAQ4OdWBjsiIiczxGFf2312dLP8Ml7n6D7Xd1x68RbEd41HJfPXMaetXuQ+Wsmnn3+WUyZNcUpfaGWyVJmIb/A+Ni1q6YrWl0Ng50dMdgRETmXIwr/2kqlUuHWrrfiplE3YfzS8ZBJ61ejqjVqrJ+5Hud2nsOeM3sgl7vNtPVWwdx2XnuOaRc/OGo7L0dpFQWKiYjIMzmi8K+ttn63FXWaOtw68VajUAcAMqkMQycORZ2mDlu/2+rwvlDTFaoKTQoGnz0L/YpWZxYMdjb+6wUREbkURxT+tVV+Tj6kcinCu4abbe8Q3wFSuRT5OfkO7wuZZ25kTreiteF2Xp4W4sxhsCMiIpfiiMK/toqMjoRGpcHlM5cR0y/GpL3wdCE0Kg0ioyMd3hcyLzOvFF41QUbHivNdZ0WrszHYERGRSzEs0mtujp0zi/GOfXgs3p7/Nvas3YNOfTqZzLHb+8VeeEm9MPbhsQ7vC5mOzpWqS28sfjBdSNMaQx3AYEdERC7GEYV/bSWXyzF5+mR88t4nWD9zPYZOHIoO8R1QeLoQe7/Yq18Vy4UTjqdb0Wo4Opefry0g3FpDnDlcFdsIroolIhKHO9WxI/sqVBWiVF1qdExXa85wRWtrCXQsd2JHDHZEROKxtNsDYH1XClvbHNEXa2w5z9MLFOfX5uO7/xxG6YlAtPULRofo+udz9e28HKU5wY5jx0RE5JLMjdj9sOEHTJ4+GQAsjubZ2tbYKKBcLsf9j97fpH425Zq2nOdKo5j20HBk7lj6MaxfuglXC67BSyKHRCNDu8AYjLt3Nnr3HiVeR90IR+wawRE7IiLns7bzROb2TMjkMsSPjDdpO73zNNQqNbrf0b1Z59m6m4WtO2TYcp4r7cZhLzuys1B8TjtP7vypfdi++U3cNCwGA/4+EtEJ4Si+eBkHvtuFC3tz8eRjy1ptuOOrWDtisCMici5rO0+oVCrMHzwfcQPjMOXDKZDKDFbMqjVYNX0Vsg9mY+GBhUYLGqyeZ+NuFrbukGHLea60G4etspRZJsdOnNBu5zVggAYLF92LwB4S3D//UZPn27Twa5SdEDB/3g8u+3yOxJ0niIjIbVnbeSLvRB7kCjl6jOkBpVJp1KZUKtFzTE/IFXLknchr8nm27mZh6w4ZtpznSrtx2CJLmYUTJ4DDGxKMPsqsBAwcCJw/fwRXyy5i8MPDzT7foIeG42rZRZw/f0SkJ3AfnGNHREQuxdrOExVXKyCVSxHcKRhqldqoTa1SI7hTMKRyKSquVjT5PMC23Sxs3SHDlvNcaTeOxui28zJ07Wr9dl7mlJdfgSBVIzTG/A4fYbHhEKRqlJdfsXd3PQ6DHRERuRRrO0/4t/OHRqVBSV4J4uLjjNpkchlK8kqgUWng386/yecBtu1mYesOGbac50q7cRgyt53XnmOlJmVJAOulSQIC2kOikaH44mV0TIg2aS/KvgyJRoaAgPYt7rOn46tYIiJyKYY7T2g0GqO2Tj06QaVUIePnDCgUCqM2hUKBjJ8zoFKq0KlHpyafZ+tuFtb6ae2atpxn670cLTOvFGfPwuijLg1Cn/adMXAgjD7WdO7cF+0CY3Dgu11mn+/3/+xCu8AYdO7c14FP4xkY7IiIyKXodp64eOAivpv/HXJP5EJZrUTuiVxseGUDvCXeuHzkMr572bjtu5e/w+Ujl+Et8caGVzY0/bz53+HigYuYPH1ysybmW+untWvacp6t97KnQlWh0Ue3ovWvDUOMPtX7mr8yVyqVYty9s3Fhby42LfwaeadyUFujRN6pHGxa+DUu7M3FuHtnt8qFE83FVbGN4KpYIiJxWKvZBji/jp2lwsCN1Zaz9bzm/k4cWeokS5mF4vNBRsfy84HqfUMsjsZpNBqcP38E5eVXEBDQHp079200mB07tgP//WEJrpZdhCBVs47dDSx3YkcMdkRE4nHE7hK27NzgqPDmijtPNJw3V6ou1ZclachSqGtJQLMlEHo6Bjs7YrAjImrdnFmEWGy6Fa1eNUH6Y/n5gKqwQ5O38zp2bAfWfDUTcUOjMPjh4QiNYaHhlmKwsyMGOyKi1suZRYidreF2XoC2YHDDFa2NLXwwpNGw0LAjsEAxERGRHTizCLGzZeaVmi0Y3HBFa3Ow0LD4WMeOiIjIAmcWIXakhtt55RcAxeeCmvx6talYaFh8DHZEREQWOLMIsaNkKbNwbE8QVIUdjI7Xnu8MNHNErjEsNCw+voolIiKywJlFiO0hS5ll8jlxQluWpE/7zkaf5r5mbQoWGhYfgx0REZEFzixC3FKFqkKcOAGz8+YcEeLMYaFh8XFVbCO4KpaIyLPYUuNu3859WP3BamRfzIZG0EAqkSI2JhaTn3N+HTugvixJQwV7E+w+b84aSzXnWGjYvpqzKpZz7IiIqNVoyW4WAgRoVBrUqergJfeCAKHRaw4ZOQSDbxvcop0nGhYMBrQrWgv2GpclAZq/irUlGgtvPXuOYKFhEXDErhEcsSMi8gzWCgaf3nkaapUa3e/obtKWuT0TMrkM8SPjm3WevYoX78jOMioYDGiLBvdQiVfcmEWInYsFiu2IwY6IyP1ZLRis1mDV9FXIPpiNhQcWQi6vf5mlUqkwf/B8xA2Mw5QPp0Aqa9p5thYvVqqV2PDyBlRnV+Ptb99GuVCOY3uCUL3PNMQ5c3TOEIsQOx8LFBMRERmwVjBYqVSi55iekCvkyDuRZ9SWdyIPcoUcPcb0gFKpbPJ5thQvvq65jlqVgAEPDkFezmX8tvWMPtQZFgy2pXCwPbEIsWvjHDsiIvJ41goGq1VqBHcKhlQuRcXVCqO2iqsVkMqlCO4UDLVK3eTzAOvFi1WCCsGxwagT6vTHa2oA4Xob+AfFQa2U4/TWjrjppiGihjhzWITYtXHEjoiIPJ5hweCGZHIZSvJKoFFp4N/OeMqNfzt/aFQalOSVQCaXNfk8wHIRYk2wBiq1gPzTxVBeh/4jXG8DH7kCVcWX4S2T4ZZb2rtcqAOMixCbwyLE4mKwIyIij2etYLBCoUDGzxlQKVXo1KOTUVunHp2gUqqQ8XMGFApFk8/TFSFuH9Eesm4yo4LBqnZhaNs2AnvWHkL1VV9cL/GDrNYPPnKFWxTxZRFi18ZgR0REHs9qweCXv8PlI5fhLfHGhlc2GLVteGUDvCXeuHzkMr57uenn6YoQD374XmTsCzEqGHx5f3c8es8buHQwF9uWfo2SHPcq4ssixK6Nq2IbwVWxREQtZ0tR4Ja0WdKSOnaNtV28dBECBEggQfuI9rj/2fsha9cbFT/dbfaVqisV8bVUaNiaxvpvyzXJPI8sd7Jo0SJs3LgRWVlZ8PHxwZAhQ/D2228jPj7e6nnp6elISUnByZMnERkZiTlz5iA5ObnJ92WwIyJqGUeGqcaK+5rjiCCZWZOJbRvPofREINr6BaNDtLat9rz1PVldIfy0JGBy5wnn8Mhgd9ddd2H8+PG45ZZboFKp8NJLLyEjIwOZmZlo27at2XMuXLiAHj16YMqUKXjmmWewd+9ePPvss/jmm2/w4IMPNum+DHZERLaztSiwrQWDrRUFtpcsZZbJsRMnAGWWc7fzsgdHFBpm8WL788hg11BxcTHCwsKQnp6O4cOHm/3O3LlzsWXLFpw6dUp/LDk5GceOHcP+/fubdB8GOyIi29haFNjmgsFWigLbS6GqEHuOlUKZlWDS5m6hzhGFhlm82DFaRYHisrIyAEBISIjF7+zfvx+jR482OnbnnXfi0KFDqKurM3uOUqlEeXm50YeIiJrP1qLAthYMtlYU2BaFqkLsyM4y+mTmlUJdGoQ+7TubfNyNIwoNs3ix+NyyQLEgCEhJScGtt96KHj16WPxeYWEhwsONCyiGh4dDpVLhypUriIiIMDln0aJFWLBggd37TETU2thaFNjWgsGA5aLATVGoKjT6OTOvFMXnTLfzcsXacrZwRKFhFi8Wn1sGu2nTpuH48ePYs2dPo9+VSCRGP+vePDc8rjNv3jykpKTofy4vL0dUVFQLektE1DoZFgWOSjT+31FrxX2bWjA4Lj7O5J6WigI3Zkd2FrxqgoyOFefXb+fliQwLDXdMiDZpt6XQsCOuSc3jdsFu+vTp2LJlC3bt2oVOnTpZ/W6HDh1QWGj8b2BFRUWQy+Vo166d2XMUCoVJEUoiImo+w6LADefYWSvu29SCwUl3Jxm16YoCR0ZGIrFPosV+NRyZK1WX4tpVoOIn0wUXnhrqAONCw+bmw9lSaNgR16TmcZs5doIgYNq0adi4cSN27NiBuDjTf1NrKCkpCdu3bzc6tm3bNgwYMABeXl6O6ioREcH2osA2Fwy+URR48vTJFifmZym18+TOnoX+c2xPEJRZCRg4ECYfT+aIQsMsXiw+t1kV++yzz+Lrr7/Gf//7X6PadYGBgfDx8QGgfY166dIlrFu3DkB9uZNnnnkGU6ZMwf79+5GcnMxyJ0RETiRWHbuGI3MA9Ctaa88bL3bw9BBnjSNqzrGOnX15ZLkTS3Pi1qxZg0mTJgEAJk2ahOzsbKSlpenb09PTMWvWLH2B4rlz57JAMRGRk1kr7qtSqbD1u63Iz8lHZHQkxj48Vl/ipLa2Fp8u+RQ553MQ3Tkaz8x+Bt7e3o1eM782H79uO4yayxr4BwUiOqErpFIp8vOBHirH1bhzBkcUNXaXa7ZWHhnsxMJgR0TkONZG804ePYnVH65GnaYOUrkUGpUGXlIvTJ4+GVNmTTG6jmHR4GPpx7B+6SZcLbgGqOQQ1DL4KWJwS7/ZeOQR9x4t4khY69ScYOd2iyeIiMgzGO5K8fiLjxvtIDH32bkovVqKXn/vhVsn3orwruG4fOYy9qzdg0/e+wQA9OFuR3YWis8FQVXYAedP7cP2zetw07AY/O25BxGdUL/rwf69M5GQ4L67Hhju6HDnwxOMdnRY89VMPAn3fTayH47YNYIjdkRE9mdtVwq1Wo0VySuQ/Uc2Xjr4Erzk9YvdVGoVvp31Lc7sPIM1GWsgl8tx4gRQ8dPdGDDAc3c94I4OrVur2HmCiIjcl7VdKSrKKtDz7p7w9vVGwYkC/XENNIBEiqQnhkKt1mDdnLM4vCFBv6LVk3c98ORnI/viq1giInI6a7tS1CprEdwpGDK5DBVXK7SBDoBGA0AjRUTXSMi8pPC5ft1oKy9P3vXAk5+N7IsjdkRE5HSGu1I0JPOW4VreNajr1PAN8odGJYVGJQU0UkglEhScLYC6TkBoaIzReYa7HpjjzrseePKzkX0x2BERkdMZ7kpRVlONCuV1/Ufm0wYnfjyB2ppaRCZ2hFQi0X/Uag32r9sLmUaBYcPGG13TcNcDjUZj1Obuux548rORfTHYERGR0xSqClGoKkSRpggPPPsAzu4/i40vb8KFfWWoyGuDC/vKsPFfP+HCniJUX7uODXO+RfaRbCgrlcg+ko3vZn+Dk79kYtw9s/W17nQ8edcDT342si+uim0EV8USEVlXVSlBTbUEQSG1JoWGS695w8dXgKJNHVZ9tQrZxyvQrkM4Bt71N8jlcuz+6TB2f/kz6gTTumznzx/B5h/eRZ2mGpAIgCCBl9QX9937Au6//3mL/WlJrTeVSoXdu9ejuPgiQkNjMGzYeH2AtLXgrj3Py8hIs/nZWDDYfbFAsR0x2BERWVZVKcGCWe1x/I8PUVK6HCrU6osJSyFHQOB0tPHVoKjwI6g1KkjlcqjrNECdArf0nY2kpOcxYID5wHHs2A5s3vou8otPQZCoIBHkiAzthvvGvuCQELNp03v4749LoJYqIfOSQl2ngUyjwLh7ZqNz5742BSpbQ6a183r2HNHsZ2NhY/fGYGdHDHZERJZdKZLi8dFf41LhO+h5d3fcOmkowuPDUJB1Gfu+2IvjP56Apk6NPvf3xpAJtyKiSwQKzxZg37q9OPlLJv7f2JfNjr4ZFuMd/PBwo2K8F/bm4snH7FuMd9Om97Bh6xtIvKs7hkwYig4G/Tzx80l4S33R9+/9mtUXW5/B3s/u7N8l2R+DnR0x2BERWZZ3PQ/3JzyILqNuxgOL/wGZXAqZXICqTgq1So3/PL8OF36/gH/texkKRX2hYbVag+9mf4Mz2y7g85W5RvPlnF2MV6VS4Z/JUeg6Og4PL/kHZDLDYskafPv8V8j4MQNv/fGJfp/axvpi6zPY+9lZ2NgzsEAxERE5xbpPt0ANFYZMHAqpTApBI4GqVgoIgKauFr3u7QUvHy9cOnrR6DyZTIqkCUOhliqxe/d6ozZnF+PdvXs91FIlhkwYahTqAEAiAQY+OgjyNl44+uPvTe6Lrc9g72dnYePWhwWKiYioSbKUWSbHck5UQCqTIeymSMikEqjUgETXKKgREhWiLTR8pcLk3IguEZB5SVBcbBz6nF2Mt7j4ImReUnToEmGmVUB41zDIvGS4mmd6P0t9sfUZ7P3sLGzc+nDEjoiIGpWlzMKJE8DhDQlGH9+yYdCoNCg+VwCNxiDUAYBEhmu516BWqeHf3nQqi6sUGg4NjYG6ToPCswVmWiW4fKYI6jo12nUyvZ+lvtj6DPZ+dhY2bn0Y7IiIyEiWMsvkc+IEUPHT3ejTvrPRZ+LE8ZCqFdj7xV6o1RpIJICXl/YVptTLG8d/OI66mjpE9TMOb65UaHjYsPGQaRTYt077DIYEATj49e9QXa9Dn3sGNbkvtj6DvZ+dhY1bHwY7IiLSK1QVmh2ZU2YlYOBA0+9XVsrh12Y2Mn7KxMZ/fYNLGdmorVLiUkY2Ns1bj8ztp1F1tQYb5nznsoWG5XI5xt0zGyd/ycR3s78x2882XgHYuvi7JvfF1mew97OzsHHrw1WxjeCqWCLyRBqNBrsO78KloksIaBeAm3rfBKlUivwCoGBvAvq079yk69TUAKtWAWfOvIfK60ugkSkh85JAXSdAqlbAr81sKBTA1TLjNplGgbtHz8bo0c8jKMj0uqWlwNmzO/DzNufVXjOuY1ffT1erY2fLs7OOnXtjuRM7YrAjIk+zb+c+rP5wNc7nXIRGLYGgksPPLxJJt09G525DmhzqdGpqAKUS8PMz3bWhslIOhQLw8jJuGzBgPP79bzkqKoCpU4Hg4PrrlZQAH38M+PsD//ynBgUFztstwdV3nmjJs3PnCffFYGdHDHZE5Al2ZGtXtJ7afwzfv/854pLiMODBoegUHSdKsdrSUuCjj4Br14CQkPpwpwt1uuPTpsHsiB5Ra8I6dkRErVihqtDok6XMwrWrQPa6u/DD27sR3TcBY6Y/ifBOCfD2UaBjQjTun/8o4oZG4b8/LDGZZO8IQUHaMBcSog1xH38MXLhgHOqmTmWoI2ouBjsiIg+SpcxCZl4pzp6F/nNsTxAqfrob7dodQZ1wEcMfHQ5/fynatq0/T4xitcHBxuHuww9NR/CIqHlYoJiIyE0VqgpNjp04ASizElB73nie3MCBwJ9/ul6x2uBg4LHHtKFO57HHGOqIbNXsYHf58mXMnj0bv/32G4qKitBwip5arbZb54iIyLxCVSEy80rhVRNkdFyZdWNFq5l6s4bFajsmRJu0i1GstqQE+Oor42NffcUROyJbNTvYTZo0CTk5OXj55ZcREREBiUTS+ElERGQzcyNzmXmlKD4XhOp9Q4yOm6s1p2NYrNbchvDOLlbbcKHEY49pQ51uzh3DHVHzNXtVrL+/P3bv3o0+ffo4qEuuhatiiUhsO7KzTEbm8vOB6n1DrAY5c44d24E1X81E3NAoDHpoOMJiw1GUfRm//4erYolcVXNWxTZ7xC4qKsrk9SsREdlHljLL5Ni1q0DFT2ZG5poZ6gCgd+9ReBLL8N8fluCbveuMitU6K9QBgEKhrVMHGI/M6RZU6OrYKRRO6Q6Rx2j2iN22bdvw3nvv4dNPP0VsbKyDuuU6OGJHRM6i25NVmZVg0tbcosGW6IoJBwSYFqstL5dCoQB8fCyfZ2mXCEvnNaUv5q5ZeOPtc4cO9rufWFgYmFrK7iN2wcHBRnPpqqqqcNNNN8HX1xdeXl5G37127ZoNXSYial3MjczpQp29QlxDuu2/tLs9SHHzzf31bYa7PTz9tHFoMj7P8i4RDc9rjI+P5RD57bf2v58YuJUXOVuTgt2yZcsc3A0iotajUFXo8JE5c5RKbVhquDjBcF6b7nuGgcnW85zdT1djOJ/xzocnIDQmXL/Lx5qvZuJJOO/VN7Ue3FKsEXwVS0QtUagqRKm61OhYfgFQfC4IPVRDzJ/kQNZWolorDGzrec7up6vQaDRYuOheBPaQmF2BvGnh1yg7IWD+vB/4WpYa5dAtxWQyGYqKikyOX716FTKZrLmXIyLyaJl5pTi2JwiHNyToPwV7E0zKlDiLrbs9OHuXCHffleL8+SO4WnYRgx8ebhLcxNjlg1qPZq+KtTTAp1Qq4e3t3eIOERG5qyxlFvILjI9du2qhLInzagCbsHW3B2fvEuHOu1KUl7veLh/UOjQ52H3wwQcAAIlEgs8//xx+fn76NrVajV27diEhwXS+CBGRJ2pYNLhUXYoTJ4CKn+42+W5za805mq27PTh7lwh33pXCFXf5oNahycFu6dKlALQjditXrjR67ert7Y3Y2FisXLnS/j0kInIx5rbzys8Pgqqwg8uFuIZs3e3B2btEuPuuFK62ywe1Hs1ePDFy5Ehs3LgRwa783yg74uIJotbN3HZee46VQpmVgNrzxitYXT3U2brbg7N3ifCUXSlcZZcPcn8OXTyxc+dO0ULdrl27MHbsWERGRkIikWDz5s1Wv5+WlgaJRGLyycoyrR9FRNSQbmTu7FkYfdSlQejTvjMGDoTRxxFqarRBx5zSUm17UykUgEaj/Zjb7UGl0pYQabjbg0IByOVA27bmz/P315YdMbdLREkJkJNjvj85Odp2jUaDv/46jD///BV//XUYXl4a+Ptrw9v//Z8GV69q265ePYz/+z8NQkLcY1eK3r1H4cnHlqHshIBvZq7DsgcW45uZ61B2QmCoI4dp0qvYlJSUJl/w/ffft7kzjamqqkLv3r3x5JNP4sEHH2zyeadPnzZKuKGhoY7oHhG5uYajc5l5pSg+F2R+BasTRufsXRj44kXg0CHt3w8dAu64o75t3z4gO1v794wM46BaWgqcPg0IAnD9etP7X1IC/Otf2ud4/XXAcLOi7GzglVcAqXQHouOWoKzKuIDvmNGzUVcHfLzStLjv30bNRt++o1y6hp1O796j0LPnCO48QU7TpGB35IjxcuzDhw9DrVYjPj4eAHDmzBnIZDL079/f3Ol2M2bMGIwZM6bZ54WFhSHIlcfriUh0WcosFJ8PMjpWnB9kfkWrk9i7UG9+fv3fdStN77gD2L4d+PTT+rbUVKBLl/p7rVypDXSCoP37zJnG/aioALy8TPtRUaENdTU12hCnC3e6UFdVtQPebWcisFcU7hlvXMD387X/hFQuQ8KoribFfb/bPBNt27rPiJdUarzLB5EjNXuO3fvvv4+0tDR88cUX+leyJSUlePLJJzFs2DA8//zzDuloQxKJBJs2bcJ9991n8TtpaWkYOXIkYmNjcf36dXTv3h3z58/HyJEjm3wfzrEj8jyWtvNquKLVFebM2btQ7/btxuVDbrsNSE+v/zk2VvvateG9/G/8z19FRfP6oQtxNTXa0Pf009pRyOpqDaRe92LQQxI89Krx4gKVSoWFd8xB3MA4PLFoKov7UqvXnDl2zQ52HTt2xLZt25CYmGh0/MSJExg9ejTyDf+V0IGaEuxOnz6NXbt2oX///lAqlfjyyy+xcuVKpKWlYfjw4WbPUSqVUCqV+p/Ly8sRFRXFYEfkIQpVhfrFDw05cjuvlmg4Qge0rFBvw3CnM306MGCA5XsBtvXDMNzpeHkdRnDEBEz4aIJJOZCcjPNY98JKjJk3Bj0GD4JC4WvUnncqB9/MXIfpT6/jSBi1Cs0Jds0uUFxeXo7Lly+bBLuioiJUVFQ093IOFR8fr39dDABJSUnIzc3FkiVLLAa7RYsWYcGCBc7qIhE5kLntvHR7tLpqiDPH3oV677gDOH7ceKTuttvq59xZu5ct/YiN1Y7ULV9ef2zMmCv446T5Ar6V1yogk0sR3CkIarXKpJ3FfYksa/YY9v33348nn3wSGzZsQF5eHvLy8rBhwwZMnjwZDzzwgCP6aFeDBw/G2bNnLbbPmzcPZWVl+k9ubq4Te0dE9pSZV2q0ldfhDQluF+oAy4V6S0psu9727cahDtD+vH279XvZ2o/sbO3rV0M//9we6jptAd+G/EL8oVZpUJJXCpnMdPyBxX2JLGv2iN3KlSsxe/ZsPP7446irq9NeRC7H5MmT8e6779q9g/Z25MgRREREWGxXKBRQuPoaeiIy0XDeXH4BUHwuyO1CXEP2LtRrbY7dhx9anmO3bJn2O+bm2Fnrh+U5dn1RnB+DPd/sMpljF9ktGiqlCid+zEDfYbcZXY/FfYmsa/YcO52qqiqcO3cOgiDg5ptvRtu2be3dNxOVlZX466+/AAB9+/bF+++/j5EjRyIkJATR0dGYN28eLl26hHXr1gEAli1bhtjYWCQmJqK2thapqalYvHgxvv/++yaPLnLxBJHry1Jm4dge7c4PhmrPd3aJBRC2sneh3h076gMaoJ1Tp1sVaxj2YmOBBQvq77VsGXDmjHZVbHy86apYS/3IyQHmz68PdZZWxQ64LwpDxxsX8M3cdkq/KpbFfam1c+gcO522bduiV69etp5uk0OHDhmtaNXV15s4cSLWrl2LgoIC5BhUwqytrcXs2bNx6dIl+Pj4IDExET/++CPuvtt0L0cicg9ZyizkFxgfu3YV5suSOPlNXU2NtuSHuZBVWqotqNuc2msKRf1qVHOFgXV17Bq+ZCgp0Y6sRTfYojQysv7vulAHaP+sra0vefL448b3Sk4G5s7VBrvkZNN+vPMOIJGY9sPfH/D21p5nWMcuNlb78yuvjIJUugxlGUvwzYF1RrXqnn36cwDAf39Ygm/2GreJFeo0Gg3r0ZHLa1Kwe+CBB7B27VoEBAQ0OtK1ceNGu3TMnBEjRsDaAOPatWuNfp4zZw7mzJnjsP4QkWOZ287LXFkSQPzSJPYuJgzUv7o0FxaDg7UjZA3DorWiwG3aAH5+gFSqXf1qaNQoIC1NG8K6dDFuUyqB6mrtjhXl5YDhbJaiIu1onkQCXL5sfD8A6NhRG+7CG6yRiI0FFi4E/P1HITDQcgFfVynue+zYDvz3B9NiyePunc2RQ3IpTQp2gYGBkEgk+r8TETmabjsvr5og/bH8fEBVmCB6iDPH3sWEdXx8LH/f3MhgY0WB6+q016uoMA6fSiUQGGi+/599BqjV2tD3xhvaQKa75htvaNskEu33Zs82LV4cEmL+uetHFC0X8HWF4r6Ge742LJa85quZeBJ8LUyuw+Y5dq0F59gROZ65kbnMvFIU7E1A7XnjxQ+uGOp07F1M2FaWFiw0nOvWnP63aaOdM6cLaIbXVCi0Ie36dXGf2xE0Gg0WLroXgT0kuH/+oyyWTKJwaIHizz77DCNGjECXhmP1HorBjsjxdmRnGY3MAdrRuR4qM3u0ujh7FxO2lbmiwNZCnY61/peVWb5mYKBrPLe9/fXXYXy4agIeXW5aSBlgsWRyjuYEu2b/68V7772H+Ph4REZG4h//+Ac+/fRTZGWZbs9DRGROoarQ6JOlzELxuSD8tWGI0ad6n/uFOqC+mLChlhQTtpWuKLChp5+2HuoA6/23dk1XeW57Ky+/AkFqvpAywGLJ5HqaHeyysrKQn5+P9957D4GBgVi6dCkSExPRoUMHjB8/3hF9JCIPkaXMQmZeKc6ehf5zbE+QfkVrw487sncxYVuZKwq8apX2uDXW+m/tmq7y3PYWENAeEo35QsoAiyWT62nRHLuqqirs2bMH69evR2pqKgRBgEpluv2LO+OrWGptNhy23wh8SDsg0mAFpW47L8N5c+4a4MzhHDvOsSNyBIfOsfv555+Rnp6OtLQ0HDt2DImJiRg+fDhGjBiBYcOGIdhd/9trAYMdtSY7srNw7Vguun1QapfrHU2IBIYMNTrm7jtBWGLvYsK2aqwosO74woXGde6s9X/JEiAzU7sq1s/PeFXs/PlAZaV2VWz37qarYp313I5kuCqWxZJJDA4tUHzPPfcgNDQUzz//PH799VeWP6FWr1BViD3HSsXuhn3kaUPd2DndW36t1FQgC8DfXTPIObuY8HvvASqVaRFfANi/X1vrrb+ZufcZGdo/e/ZsWpuuYHFdnTZkNSwKPH8+4OVV31fD/svlQNu2pv2fMgV44QVtHbuXXza+5ssvAy+9pA12U6Y0vYiyO+ndexSexDKXKpZMZEmzg93777+PXbt24d1338X777+P2267DSNGjMCIESPQrVs3R/SRPIy50hbubM/2M1D+IEOfrHyxu2IXdgl1Bw9ia34/YM7cll/LAZxdTPj6dW0RX5VKO6/QcNOeffuAxYu1f3/lFePCwceOAa++qv37668bn3f8uPb7gHb7r969tX9v00a7w0RGBvDBB8C779Y/n0KhLU6sVmv7ZKi0FDh9Wjsq17AtMFBbtLhNG9PdLOLjgUWLtME0Jsa4zVIRZXfUu/colymWTGRNi+bYZWRkID09HTt37sTWrVvRrl07FBQUNH6iG+GrWPsqVBViz54cqIscv7ew0xQVYV5JtmdNFmuJgwexNc0PGDHSZX8nzn5tevKkdmRLrQZkMuC117Qh7fhxbXBTq7Xf8/MD3nqr/jXnSy9pwyegDZpvvtl4W0ZG/TVlMm0g7NGjfs/X06e1o2tduxrv+WrrfrBE5HgOnWOnc+TIEaSlpWHnzp3YvXs3Kioq0LdvX/zxxx82ddpViR3sPG50a08O1CeqMO/3bWJ3xb4ef1zsHriMre9kApEdXf534uyFDsePawOdLnA9/rj2bbVarR1F8/Gp3xXCcGGCt7f2/Nraprfptv+KiNB+DJ9N9wpWtyNEU9vcfREEkTtzaLD7+9//jj179qC8vBx9+vTRv4YdPnx4ozdzR2IHuw1pB6E+50Gbg9RUc3TLk6WmuvQr2IacXUzYMNzp6EbwAgIsF/8Fmt82ezawZYv5ZwMsP7e1NoY6InE4dPFE165d8fTTT3tskLPkrPIsfJW+Tr3niRPQjm6VZDv1vg7HUOd5Dh4EAG2oGzFS5M40na6o7ocf1h9zZFHdXr20I3VffFF/7PHH6+fOPf00sHx5fZthQeHmtvXqpR2Bs/Rs1p7bmb8TIrKvZge7JUuWOKIfLu/IW3Voo6hz7k0ryvFy+TaXf6VFrZxulC6yIzCiq1sFd0tFdR05YpeaanwsNRW4+WbtiJ254r+dOtX/vTltAQHaETtDumfT/b25bQx3RK6vRYsnWgPdq9iyF15AgBjr9d3o/ySpFXKDhRKWcI4d59gRuQunLJ5oLfTBbv16BPg691Uskatzl4USDXFVLFfFErmT5gQ7FuAhItukprplqAPqiwk3HIXSFdUNCbFvUd2QEG1RYMNQB2j/fOGF+u+lpBgX/50zRzuaJ5UCc+cat82dW982Z0592803A/36ae8VEgJ07Fj/bMnJgK+vdnQvOdn4uZOTtcd9fU3bHPE7ISLH4IhdIzhiR2SGm61+NcfeO080ds2MDO3o1/Dhpm3/+592x4ekJNO2w4e1r1rNtVnasaKkRDv61rWr6avTM2e055jbK7bwRnWlDh2a12br74uImsbuq2LLy8ubfPPWtFKWqFXS7SrhRqtfzfHxsRxEbHnVaG03i4ICYOlS7d+7dNHOe9MpKQEOHNCOhvXpY9ynmhpgzx7tNRMSTHfI+O037Xndu9efV1MDrFunPadrV+M+lpQA331neVcNc6FNd81vv7XvTh1E5BhNehUbFBSE4OBgqx/dd4jIs21N89O+gnWzxRKOplRqg8+1a9qgU1KiPV5SAqxcqQ1H1dXavxu26eavVVRor9HUa1o6z5ZzWvJstl6TiByjSa9i09PTm3zB2267rUUdcjV8FUtkIDUVWzHWLefVOYO1lba2rji1ZfWuI1b8OnsVMRHV46pYO2KwI7rBA+bVOYO13SwA23Z1sGWHDEfsquHsnTqISMspq2Krq6uRlZWF48ePG32IyAN5yLw6Z9DtZmFIt3ODtTZbr2nPcxrjiGsSkX01O9gVFxfj3nvvhb+/PxITE9G3b1+jDxF5Hs6razpLu1mUlFhvs/Wa9jynMY64JhHZV7OD3cyZM1FSUoIDBw7Ax8cHv/zyC7744gt06dIFWxruX0NE7s+N69U5W8N5aNOna/+8dk1bAHjZMvNthgsSmnNNS+fZck5Lns3WaxKR/TU72O3YsQNLly7FLbfcAqlUipiYGDz++ON45513sGjRIkf0kYjEoptXx1DXqNJS4+AzdSoQF6f9099fWz/u9Gnt3w3bDMNRaWnTr2npPFvOacmz2XpNInKMZge7qqoqhIWFAQBCQkJQXFwMAOjZsyf+/PNP+/aOiMRj47y6mhrL/wdfWqptd2eWnk+hAORybaHhhrtZJCfXF/Btzq4OtuyQ4YhdNZy9UwcR2a5JBYoNxcfH4/Tp04iNjUWfPn3w6aefIjY2FitXrkSEYdVNInJPBw8CsG1enbUivZ5QyNba85WWakfkBAG4ft34vDZtgE6dtKGvYfHj4GDt/qvmdm7w8dH+rsztZmHpPFvOaYwjrklEjmHTHLuCggIAwKuvvopffvkF0dHR+OCDD/DWW2/ZvYNE5EQHD2Jrmh+2nom3aV6dpxeybUoRYqXSfBHi6mpArTb/7EFBlkORj4/lnTAsnWfLOY1xxDWJyP5aXMdOV/YkOjoa7du3t1e/XAbr2FFrsvWdzBYvlPD0QraOKEJMRGSNQ+vYvf7666iurtb/7Ovri379+qFt27Z4/fXXm99bInINqanaP1u4UMJw3tW1a8CHH3pWsLH2fDNnaj+e+uxE5PqaHewWLFiAyspKk+PV1dVYsGCBXTpFRE5m5wLEnl7I1hFFiImI7KHZwU4QBEgkEpPjx44dQ0hIiF06RUROdGNeHUaMtFsBYk8vZOuIIsRERPbQ5GAXHByMkJAQSCQSdO3aFSEhIfpPYGAg7rjjDjz88MOO7CsROYC9d5Xw9EK2jihCTERkL01ePPHFF19AEAQ89dRTWLZsGQIDA/Vt3t7eiI2NRVJSksM6KhYuniCPpitAPGeuXS5XWgp89JHpvLKGYWjaNMsrLF2Ztedbtkxb7kQiAbp21c6186RnJyLxNGfxRJPr2E2cOBEAEBcXh6FDh0Iub3YJPCJyJXaeVwfUF7IFzBey1dWxa24h25IS7UrT6GjTtpwc7TXNzWGz9Txd2ZKGAUyh0H4CA80XIX7pJe3P5ooQf/hh/fkNFRZq/+zQwbSttJQ14oio6Zo9x+62227DxYsXMX/+fPzjH/9AUVERAOCXX37ByZMn7d5BQ7t27cLYsWMRGRkJiUSCzZs3N3pOeno6+vfvjzZt2qBz585YuXKlQ/tI5BYcMK8OqC9kO22aaWDSFbJtbnHikhLgX/8C5s8HsrON27Kztcf/9S/T15y2nqcrQvzRR6Zt169r2319tUWHDUVEAG+9pf00rNXepo32maurTYsXFxQAL76o/dwoEWr0DB99pO2Pu+/YQUTO0exgl56ejp49e+L333/Hxo0b9Stkjx8/jldffdXuHTRUVVWF3r1746OPPmrS9y9cuIC7774bw4YNw5EjR/Diiy/iueeew/fff+/QfhK5OnvPqzNk70K2FRXaUFNTA7zySn1Iy87W/qxrq6iwz3mNFVkuLdV+x1yh4Q4dzI+66b5fVma5sHF1tfnCxu5e1JmInKvZBYqTkpLw0EMPISUlBf7+/jh27Bg6d+6MP/74A/fddx8uXbrkqL4akUgk2LRpE+677z6L35k7dy62bNmCU6dO6Y8lJyfj2LFj2L9/f5Puwzl25HHsPK/OGQzDmG5UUDeK5eMDvP46EBtrv/McUWSZhY2JyFYOLVCckZGB+++/3+R4aGgorl692tzLOdT+/fsxevRoo2N33nknDh06hLq6OrPnKJVKlJeXG32IPIYD5tU5Q2ysNoT5+GhD2fLljYezlpzniCLLLGxMRM7Q7GAXFBSk3yvW0JEjR9CxY0e7dMpeCgsLER4ebnQsPDwcKpUKV65cMXvOokWLEBgYqP9ERUU5o6tETuGIeXXOEhurHXEz9PTTlsNZS89zRKFhFjYmIkdrdrB79NFHMXfuXBQWFkIikUCj0WDv3r2YPXs2JkyY4Ig+tkjDYsq6N8/miiwDwLx581BWVqb/5ObmOryPRM6g3wfWDUMdoH2tumqV8bFVq0wXRtjrPEcUGmZhYyJytGYHuzfffBPR0dHo2LEjKisr0b17dwwfPhxDhgzB/PnzHdFHm3Xo0AGFujoCNxQVFUEul6Ndu3Zmz1EoFAgICDD6ELk9O+0DK5aGc+VmzKh/vWq4MMJe5zmiyDILGxORMzQ72Hl5eeGrr77CmTNn8N133yE1NRVZWVn48ssvIZPJHNFHmyUlJWH79u1Gx7Zt24YBAwbAy8tLpF4ROZmbzqvTyckxDmevvw7ceqvx3LlXXtF+zx7nlZYaB7CpU4G4OOP5cbrVsU1l7Zr+/sCZM9rixv7+9rkfEbVezQ52OjfddBMefPBBPPTQQ+jSpYs9+2RRZWUljh49iqNHjwLQljM5evQocm78L/O8efOMXgcnJyfj4sWLSElJwalTp/Dvf/8bq1evxuzZs53SXyJRpaZqV8C68bw6QBt2fHxMFzwYLozw8alfWdrS83RFlhsuXDBc/NDcIsvWrpmcrO2Hr6/5wsa23I+IWq9mlzsBgNWrV2Pp0qU4e/YsAKBLly6YOXMm/vnPf9q9g4bS0tIwcqTpqMPEiROxdu1aTJo0CdnZ2UhLS9O3paenY9asWTh58iQiIyMxd+5cJCcnN/meLHdCbsmwADHgtqFOx1V2ngBs3wnC2jW58wQRWdOccifNDnYvv/wyli5diunTp+v3ht2/fz8++ugjzJgxAwsXLrS95y6IwY7ckX6hhJvOqSMionoO2StWZ8WKFfjss8/wj3/8Q3/s73//O3r16oXp06d7XLAjcjupqUDkWIY6IqJWqNlz7NRqNQYMGGByvH///lCpVHbpFBHZSLerBEMdEVGr1Oxg9/jjj2PFihUmx1etWoXHGlbXJCLncfPVr0RE1HLNfhULaBdPbNu2DYMHDwYAHDhwALm5uZgwYQJSUlL033v//fft00siatTWND+3LkBMREQt1+xgd+LECfTr1w8AcO7cOQDafWJDQ0Nx4sQJ/fcs7exARA7AeXVERAQbgt3OnTsd0Q8ispVuXt0chjoiotbO5gLFROQCOK+OiIgMMNgRuTHOqyMiIkMMdkTuKjWVRYiJiMgIgx2RO9K9gmWoIyIiAwx2RO6m4T6wRERENzDYEbkZzqsjIiJLbCpQTEQiSE298Re+giUiIvMY7IjcwNZ3MrUFiLt2BR7nSB0REZnHYEfk6lJTwVE6IiJqCs6xI3JlLEBMRETNwGBH5ML0q1+5UIKIiJqAwY7IRWnn1XH1KxERNR2DHZEr0q2A5bw6IiJqBgY7IlfDeXVERGQjBjsiF8N5dUREZCsGOyIXwnl1RETUEgx2RK6C8+qIiKiFGOyIXAHn1RERkR0w2BG5AM6rIyIie+CWYuRRcoqLUa1UWmz3VSgQHRrqxB41jvPqiIjIXhjsyGPkFBfjgVdfBawEOygU2LhggeuEO+4DS0REdsRgRx6jWqkElEq8IZcjzsvLpP1CXR1eViqtjug5zY2FEpxXR0RE9sRgRx4nzssLCd7e5htVKud2xhzDhRJdwVewRERkNwx2RM508CAXShARkcNwVSyRE21N8+NCCSIichgGOyJnYQFiIiJyMAY7ImfQzaubM1fsnhARkQfjHDvyOBfq6pp13OEM59URERE5EIMdeQxfhQJQKPCyUml59atCof2eE3FeHREROYvbBbtPPvkE7777LgoKCpCYmIhly5Zh2LBhZr+blpaGkSNNR0lOnTqFhIQER3eVnCw6NBQbFyywWKcu/9o1ANp6d1l5eSbtDtmVggWIiYjIidwq2H377beYOXMmPvnkEwwdOhSffvopxowZg8zMTERHR1s87/Tp0wgICND/HOoquw6Q3VkKZjnFxZizcqVzd6XgvDoiInIytwp277//PiZPnox//vOfAIBly5bh119/xYoVK7Bo0SKL54WFhSEoKMhJvSRX5PRdKTivjoiIROA2q2Jra2tx+PBhjB492uj46NGjsW/fPqvn9u3bFxEREbj99tuxc+dOR3aTXJxuV4qGH3NhryU4r46IiMTgNiN2V65cgVqtRnh4uNHx8PBwFBYWmj0nIiICq1atQv/+/aFUKvHll1/i9ttvR1paGoYPH272HKVSCaXBqE15ebn9HoJaB86rIyIikbhNsNORSCRGPwuCYHJMJz4+HvHx8fqfk5KSkJubiyVLllgMdosWLcKCBQvs12FqXTivjoiIROQ2r2Lbt28PmUxmMjpXVFRkMopnzeDBg3H27FmL7fPmzUNZWZn+k5uba3OfqZXhvDoiIhKZ24zYeXt7o3///ti+fTvuv/9+/fHt27dj3LhxTb7OkSNHEBERYbFdoVBA4eQ6Z+TmdIEOnFdHRETicptgBwApKSl44oknMGDAACQlJWHVqlXIyclBcnIyAO1o26VLl7Bu3ToA2lWzsbGxSExMRG1tLVJTU/H999/j+++/F/MxSESO2JVCv1CCc+qIiEhkbhXsHnnkEVy9ehWvv/46CgoK0KNHD/z000+IiYkBABQUFCAnJ0f//draWsyePRuXLl2Cj48PEhMT8eOPP+Luu+8W6xHIQE5xsdXyIpYKBm/avx9FZWVmz7lWUQE/Hx/c0aeP0fH8a9dQASCluhreMpn5G1rYlcJqP7dsQXHgnQhlqCMiIhcgEQRBELsTrqy8vByBgYEoW78eAb6+YnfHY+QUF+OBV19tdsHgTfv3Y+KiRbD0n4QAoAZAREAA/A1CmkqjQVFJCa4DaO/vD2+p6fRSqUKBH9580+h+VvtZVYUatTfUoRGYs+AXhIZaLpJNRERkq+rqcowfH4iysjKjDRfMcasRO/IcthYMLiorgy+ADwB0aXBOLYA/ASwDsFAmQ08fH33b9bo6/A7gA4kE7/r6onODe16oq8PLKpXJ/Sz2s6YG5fDDRV9vvKasglJZ3czfABERkf0x2JGodAWDzVKpLJ7XBUDfBmVuagAUCQJkAGLlcqPr1gDIk0ggB9DZ0j2t3K9hP0uvqdFB4Q34+wI1FRbPIyIicia3KXdC5DKuXgW8vIF2IWL3hIiIyAiDHVFzXL2K0jpfhjoiInJJDHZETVVVpQ11/v5i94SIiMgsBjuiJiqtkGpfwbZtK3ZXiIiIzOLiCRKVrQWDzwJAg0o9tQDyAKgBZKtU8K+t1bddr6vDJUGASiLBeTPXbux+F65dQ7k0ULtYova6/vjFOivlWoiIiJyMwY5E4atQoBLAc1VVZtsra2shyOXYtH8/QgxefR45dw4VAKYCMFdmWFfHbr5aDf+aGv1xlUaDIgDXBQEzq6st1rFrWKDYV6EArl/H7Do5ECAzuwJWrWgLhYI1DomISHwMdiSKS1evoqikBD4ajUmbSqNBDQAfAMu+/BKSBu1toQ1vbRUK+DSoR1en0UDh5YUVL7yAyJD6BQ75167h/5YvR2BtreWdJyQN7wREX7iAZ+OnQjmgL9Crl9nTFApfFicmIiKXwGBHoiiprISPRoPlEglubjB6dg7AfI0G0wD0hjbI6RgVIfb1Rc8GCxl0hYYjQ0KQ0KmTUZs/gDd8fS0XRDZToHhrmh9CO3cE7n7YtgclIiJyIgY7EtXNUin6NAh2ckGAXKNBRwA9AQQajKRZK0Ks14xCw2bPO3hQ++eZM0DkWID7wBIRkZtgsCNqYGuaHxDZEUA8Qx0REbkVBjsiQ1u2ABjBQEdERG6JdeyIdJRK7CzqDowYKXZPiIiIbMJgRwQANTWoUUqBgYOAgQPF7g0REZFN+CqWRPWXmXIn5zQaqABcApABoK1BIWJrRYiBJhQattCeUaEBZDKLJU2IiIjcAYMdiSLYzw/XpVLM0GgAtdqoTVfH7vUbPzesLmepCLGepULDCgVeVipNV81WVaFG8IY6JIKFhomIyK0x2FGT5BQXm9R4M+SrUCA6NNTk+P6sLJRUVpo9Z+TAgSivrkZoYKBJ27Y//0StWo3QoCCTtvwrVyCTShERbVoU+GJREbzUaryzcaNJW0xUFPx9fPDwrbfWHzx9Gr9n+AA9e8Gv/2CzhYaLi3OgVFabfQaABYqJiMh1SAShwYabZKS8vByBgYEoW78eAb6tczQnp7gYD7z6KmAl2EGhwMYFC4zC3f6sLNz74otoY+Z1a/WN161tTVq0r1vrLLTp/mGtAeAN438zsdamUwUg0NcXHdq2BZRK7bw6RRtA4Q21oi3mLPjFKKQVF+fgnVfvgkxpfuszAGbPIyIispfq6nKMHx+IsrIyBAQEWP0uR+yoUdVKJaBU4g253PKuDUqlyYheSWUl2ljYXeI/goDVgoDlALrA+HXrbgCLAbwHoCuMV/goARyBdueJ12+06xjuSvEKgO4GbQKAvwA8B+BeiQQzfXxQXiUBFF5AUBAu1inxmrLKZGROqayGTFmF1+TeiPEyfr0LwOJ5REREYmCwoyZr0q4NZpjbXWK/VAqo1bgZQF8YB7tLN/7sDKAXAMMoWQWgCNp/cOMB9DFoq7nRJoM2LPY1aDMclm4vkyGhogKlUl8grIPBMxgvxDAU46VAV+825hutnEdERORMLHdCrU9dHUrrfIEG+8wSERG5OwY7anVq6yTaUNfW3Cw+IiIi98VgR62PRMpQR0REHonBjlofHx+xe0BEROQQXDxBTWZp14bGdnswt7tE3o1jf0G7cMJw8cR5gz/lMF0VewmACsBpGC+KMNyV4iyMF13oVsUCwFW1Cmdqrxv152KdlVIuVtobO4+IiMiZGOyoUVZ3bYB2pwi1lxfyr10zOl5WXY0aiQQzBMFkd4lqQYAKwAwz99PVsZtlps2wVt1UWK5jNwOW69j9IGhwoKbCpE2taGuy84RC4Qu1oi1eU1ZZXP1q7jwiIiIxsEBxI1igWMvSzhP5167huQ8/hLSuDt4ymUl7ZW0t1HI5Xnr8cYQ12GHi58OHUa1UmuxYkVtcjC//9z/IoS00bEiANvTVQTsi1/CO6httY5OSEHFjH9nsS15A27aoju6IgIAQ3HnnM2af0dIOEtx5goiIxMQCxWR35rYL02mj0eANhcJ88WK5HC+rVBgcH4+ETp2M2u4eMMDs9X46dAg/79hhtrCxUqPBn2o1lgFYKJOhS4P2vzQazBAETL7jDqh3+AKRHYGbADz+eJOe0xyGNiIichcMdmQXthYvtsZcYeNqAJfVasgBdDHTDkD72nfHDiDymRYFOiIiInfDVbHkeQQBv1+7maGOiIhaHQY78iwaDQQBQM9eYveEiIjI6RjsyKNoNAAkEiA+XuyuEBEROR3n2JHnUKkASIyL4hEREbUiDHZkF7YWL7bGXGFjpUajL1B81rBdpYIGUvwlhXHVYiIiolaEwY5apLHixQAAhUL7vSYK9vPDdakUMzQak8LGgiBADW0R4mkaDeSCAAiCdl6dRAAEoEYqg59fsM3PRERE5K7crkDxJ598gnfffRcFBQVITEzEsmXLMGzYMIvfT09PR0pKCk6ePInIyEjMmTMHycnJTb4fCxQ3zlLxYh1fhcJqHTxz9mdloaSy0mxbZm4uJAC6RUUBAH7fkAOEtANGjQIA+PkFIyEhqVn3IyIiclUeW6D422+/xcyZM/HJJ59g6NCh+PTTTzFmzBhkZmYiOtq0iOyFCxdw9913Y8qUKUhNTcXevXvx7LPPIjQ0FA8++KAIT+CZmhvamiIpIcFim1Fh49RUqHuMZWkTIiIiuNmI3aBBg9CvXz+sWLFCf6xbt2647777sGjRIpPvz507F1u2bMGpU6f0x5KTk3Hs2DHs37+/SffkiJ0LS03F1vx+wJy5YveEiIjIYZozYuc25U5qa2tx+PBhjB492uj46NGjsW/fPrPn7N+/3+T7d955Jw4dOoQ6C5P6lUolysvLjT7kgg4e1Ia6ESPF7gkREZHLcJtgd+XKFajVaoSHhxsdDw8PR2FhodlzCgsLzX5fpVLhypUrZs9ZtGgRAgMD9Z+oG/O4yLVsTfPT7gM7cKDYXSEiInIZbhPsdCQS4yJlgiCYHGvs++aO68ybNw9lZWX6T25ubgt7THaXmqr9k/PqiIiIjLjN4on27dtDJpOZjM4VFRWZjMrpdOjQwez35XI52rVrZ/YchUIBRTNKc5AT3Qh0nFdHRERkntuM2Hl7e6N///7Yvn270fHt27djyJAhZs9JSkoy+f62bdswYMAAeHl5Oayv5AA3Fkps7fo859URERFZ4DbBDgBSUlLw+eef49///jdOnTqFWbNmIScnR1+Xbt68eZgwYYL++8nJybh48SJSUlJw6tQp/Pvf/8bq1asxe/ZssR6BbGG4UGLgQM6rIyIissBtXsUCwCOPPIKrV6/i9ddfR0FBAXr06IGffvoJMTExAICCggLk5OTovx8XF4effvoJs2bNwscff4zIyEh88MEHrGHnZram+dWHOiIiIrLIrerYiYF17MS19Z1M7epXLpQgIqJWyiPr2FErxNWvREREzcJgR66JBYiJiIiajcGOXBLn1RERETUfgx25HP28OoY6IiKiZmGwI9fCeXVEREQ2Y7Aj18F5dURERC3CYEcug/PqiIiIWobBjlwC59URERG1HIMdiY/z6oiIiOyCwY7ExXl1REREduNWe8WSBzl4EDhzRhvq+AqWiIjILhjsyPkOHryxUOJ5oCsY6oiIiOyEwY6cbmuaH0fpiIiIHIBz7Mi5uFCCiIjIYRjsyHl0CyXmzBW7J0RERB6JwY6cQz+vjqtfiYiIHIXBjpyC8+qIiIgcj8GOHI/z6oiIiJyCwY4ci/PqiIiInIbBjhyH8+qIiIicisGOHIbz6oiIiJyLwY4cg/PqiIiInI7BjuyP8+qIiIhEwWBH9sV5dURERKJhsCO74rw6IiIi8cjF7gB5CN2cOvTjvDoiIiKRMNhRy6WmYivGAl27Ao9zpI6IiEgsDHbUMqmpNxZKcJSOiIhIbJxjR7bTrX7lQgkiIiKXwGBHNuNCCSIiItfCYEe2SU3VhjoulCAiInIZDHbUfLp5dQx1RERELoXBjpqH8+qIiIhcFoMdNQvn1REREbkuBjtqOs6rIyIicmluE+xKSkrwxBNPIDAwEIGBgXjiiSdQWlpq9ZxJkyZBIpEYfQYPHuycDnsazqsjIiJyeW5ToPjRRx9FXl4efvnlFwDA008/jSeeeAJbt261et5dd92FNWvW6H/29vZ2aD89EufVERERuQW3CHanTp3CL7/8ggMHDmDQoEEAgM8++wxJSUk4ffo04uPjLZ6rUCjQoUMHZ3XVI3FeHRERkXtwi1ex+/fvR2BgoD7UAcDgwYMRGBiIffv2WT03LS0NYWFh6Nq1K6ZMmYKioiJHd9ezcF4dERGR23CLEbvCwkKEhYWZHA8LC0NhYaHF88aMGYOHHnoIMTExuHDhAl5++WWMGjUKhw8fhkKhMHuOUqmEUqnU/1xeXt7yB3BX3AeWiIjIrYg6Yvfaa6+ZLG5o+Dl06BAAQCKRmJwvCILZ4zqPPPII7rnnHvTo0QNjx47Fzz//jDNnzuDHH3+0eM6iRYv0CzQCAwMRFRXV8gd1N6mp2PpOJufVERERuRlRR+ymTZuG8ePHW/1ObGwsjh8/jsuXL5u0FRcXIzw8vMn3i4iIQExMDM6ePWvxO/PmzUNKSor+5/Ly8tYV7gwXSnBOHRERkVsRNdi1b98e7du3b/R7SUlJKCsrw8GDBzHwRtj4/fffUVZWhiFDhjT5flevXkVubi4iIiIsfkehUFh8TevxDh7ULpRgqCMiInJLbrF4olu3brjrrrswZcoUHDhwAAcOHMCUKVNw7733Gq2ITUhIwKZNmwAAlZWVmD17Nvbv34/s7GykpaVh7NixaN++Pe6//36xHsWlcfUrERGRe3OLYAcAX331FXr27InRo0dj9OjR6NWrF7788kuj75w+fRplZWUAAJlMhoyMDIwbNw5du3bFxIkT0bVrV+zfvx/+/v5iPIJrS03V/snVr0RERG7LLVbFAkBISAhSdeHDAkEQ9H/38fHBr7/+6uhueQYWICYiIvIIbjNiRw7CeXVEREQeg8GuleO8OiIiIs/BYNeacV4dERGRR2Gwa604r46IiMjjMNi1RpxXR0RE5JEY7FohzqsjIiLyTAx2rQ3n1REREXksBrvWhPPqiIiIPBqDXSvCeXVERESejcGuldj6Tibn1REREXk4t9lSjGx08CBw5gyAfpxXR0RE5OEY7DxZaiq2YiyAeGBEV7F7Q0RERA7GYOepUlO1CyXmcJSOiIioteAcO0/E1a9EREStEoOdB2IBYiIiotaJwc7TpKZqQx0XShAREbU6DHaeRDevjqGOiIioVWKw8xScV0dERNTqMdh5CM6rIyIiIgY7T8B5dURERAQGO/fHeXVERER0A4OdO+O8OiIiIjLAYOfGOK+OiIiIDDHYuavUVO2ffAVLRERENzDYuSPdK9g5c8XuCREREbkQudgdoGY4eBDAjVewnFdHREREDTDYuYuDB+vn1EWC8+qIiIjIBIOdm9CP0jHQERERkQWcY+cGtr6TydWvRERE1CgGO1fH1a9ERETURHwV2whBEAAA5dXVzr/54cP4Oac7MOwWoLrc+fcnIiIi0VXfyAC6TGKNRGjKt1qx8+fP46abbhK7G0RERNTK5ebmolOnTla/wxG7RoSEhAAAcnJyEBgYKHJvXEN5eTmioqKQm5uLgIAAsbvjMvh7McXfiXn8vZji78Q8/l5MtcbfiSAIqKioQGRkZKPfZbBrhFSqnYYYGBjYav4BaqqAgAD+Tszg78UUfyfm8fdiir8T8/h7MdXafidNHVzi4gkiIiIiD8FgR0REROQhGOwaoVAo8Oqrr0KhUIjdFZfB34l5/L2Y4u/EPP5eTPF3Yh5/L6b4O7GOq2KJiIiIPARH7IiIiIg8BIMdERERkYdgsCMiIiLyEAx2VnzyySeIi4tDmzZt0L9/f+zevVvsLolu165dGDt2LCIjIyGRSLB582axuySqRYsW4ZZbboG/vz/CwsJw33334fTp02J3S3QrVqxAr1699HWmkpKS8PPPP4vdLZeyaNEiSCQSzJw5U+yuiOq1116DRCIx+nTo0EHsbonu0qVLePzxx9GuXTv4+vqiT58+OHz4sNjdElVsbKzJPysSiQRTp04Vu2suhcHOgm+//RYzZ87ESy+9hCNHjmDYsGEYM2YMcnJyxO6aqKqqqtC7d2989NFHYnfFJaSnp2Pq1Kk4cOAAtm/fDpVKhdGjR6OqqkrsromqU6dOWLx4MQ4dOoRDhw5h1KhRGDduHE6ePCl211zCH3/8gVWrVqFXr15id8UlJCYmoqCgQP/JyMgQu0uiKikpwdChQ+Hl5YWff/4ZmZmZeO+99xAUFCR210T1xx9/GP1zsn37dgDAQw89JHLPXAtXxVowaNAg9OvXDytWrNAf69atG+677z4sWrRIxJ65DolEgk2bNuG+++4Tuysuo7i4GGFhYUhPT8fw4cPF7o5LCQkJwbvvvovJkyeL3RVRVVZWol+/fvjkk0+wcOFC9OnTB8uWLRO7W6J57bXXsHnzZhw9elTsrriMf/3rX9i7dy/fEjVi5syZ+OGHH3D27FlIJBKxu+MyOGJnRm1tLQ4fPozRo0cbHR89ejT27dsnUq/IHZSVlQGo32OYALVajfXr16OqqgpJSUlid0d0U6dOxT333IO//e1vYnfFZZw9exaRkZGIi4vD+PHjcf78ebG7JKotW7ZgwIABeOihhxAWFoa+ffvis88+E7tbLqW2thapqal46qmnGOoaYLAz48qVK1Cr1QgPDzc6Hh4ejsLCQpF6Ra5OEASkpKTg1ltvRY8ePcTujugyMjLg5+cHhUKB5ORkbNq0Cd27dxe7W6Jav349/vzzT476Gxg0aBDWrVuHX3/9FZ999hkKCwsxZMgQXL16Veyuieb8+fNYsWIFunTpgl9//RXJycl47rnnsG7dOrG75jI2b96M0tJSTJo0SeyuuBy52B1wZQ3/LUAQBP6bAVk0bdo0HD9+HHv27BG7Ky4hPj4eR48eRWlpKb7//ntMnDgR6enprTbc5ebmYsaMGdi2bRvatGkjdndcxpgxY/R/79mzJ5KSknDTTTfhiy++QEpKiog9E49Go8GAAQPw1ltvAQD69u2LkydPYsWKFZgwYYLIvXMNq1evxpgxYxAZGSl2V1wOR+zMaN++PWQymcnoXFFRkckoHhEATJ8+HVu2bMHOnTvRqVMnsbvjEry9vXHzzTdjwIABWLRoEXr37o3ly5eL3S3RHD58GEVFRejfvz/kcjnkcjnS09PxwQcfQC6XQ61Wi91Fl9C2bVv07NkTZ8+eFbsroomIiDD5F6Bu3bq1+sV7OhcvXsT//vc//POf/xS7Ky6Jwc4Mb29v9O/fX7/iRmf79u0YMmSISL0iVyQIAqZNm4aNGzdix44diIuLE7tLLksQBCiVSrG7IZrbb78dGRkZOHr0qP4zYMAAPPbYYzh69ChkMpnYXXQJSqUSp06dQkREhNhdEc3QoUNNyiadOXMGMTExIvXItaxZswZhYWG45557xO6KS+KrWAtSUlLwxBNPYMCAAUhKSsKqVauQk5OD5ORksbsmqsrKSvz111/6ny9cuICjR48iJCQE0dHRIvZMHFOnTsXXX3+N//73v/D399eP8gYGBsLHx0fk3onnxRdfxJgxYxAVFYWKigqsX78eaWlp+OWXX8Tummj8/f1N5l62bdsW7dq1a9VzMmfPno2xY8ciOjoaRUVFWLhwIcrLyzFx4kSxuyaaWbNmYciQIXjrrbfw8MMP4+DBg1i1ahVWrVoldtdEp9FosGbNGkycOBFyOSOMWQJZ9PHHHwsxMTGCt7e30K9fPyE9PV3sLolu586dAgCTz8SJE8XumijM/S4ACGvWrBG7a6J66qmn9P/dCQ0NFW6//XZh27ZtYnfL5dx2223CjBkzxO6GqB555BEhIiJC8PLyEiIjI4UHHnhAOHnypNjdEt3WrVuFHj16CAqFQkhISBBWrVoldpdcwq+//ioAEE6fPi12V1wW69gREREReQjOsSMiIiLyEAx2RERERB6CwY6IiIjIQzDYEREREXkIBjsiIiIiD8FgR0REROQhGOyIiIiIPASDHREREZGHYLAjImqBtLQ0SCQSlJaWWvyORCLB5s2bndYna1577TX06dNH7G4QkYMw2BERAVi7di2CgoLE7oZduVKgJCLnYLAjIiIi8hAMdkTk9kaMGIFp06Zh2rRpCAoKQrt27TB//nwYboVdW1uLOXPmoGPHjmjbti0GDRqEtLQ0ANrXqU8++STKysogkUggkUjw2muvAQBSU1MxYMAA+Pv7o0OHDnj00UdRVFTUov5eunQJjzzyCIKDg9GuXTuMGzcO2dnZ+vZJkybhvvvuw5IlSxAREYF27dph6tSpqKur03+noKAA99xzD3x8fBAXF4evv/4asbGxWLZsGQAgNjYWAHD//fdDIpHof9b58ssvERsbi8DAQIwfPx4VFRUteiYicg0MdkTkEb744gvI5XL8/vvv+OCDD7B06VJ8/vnn+vYnn3wSe/fuxfr163H8+HE89NBDuOuuu3D27FkMGTIEy5YtQ0BAAAoKClBQUIDZs2cD0AbCN954A8eOHcPmzZtx4cIFTJo0yeZ+VldXY+TIkfDz88OuXbuwZ88e+Pn54a677kJtba3+ezt37sS5c+ewc+dOfPHFF1i7di3Wrl2rb58wYQLy8/ORlpaG77//HqtWrTIKnH/88QcAYM2aNSgoKND/DADnzp3D5s2b8cMPP+CHH35Aeno6Fi9ebPMzEZELEYiI3Nxtt90mdOvWTdBoNPpjc+fOFbp16yYIgiD89ddfgkQiES5dumR03u233y7MmzdPEARBWLNmjRAYGNjovQ4ePCgAECoqKgRBEISdO3cKAISSkhKL5wAQNm3aJAiCIKxevVqIj4836qtSqRR8fHyEX3/9VRAEQZg4caIQExMjqFQq/Xceeugh4ZFHHhEEQRBOnTolABD++OMPffvZs2cFAMLSpUvN3lfn1VdfFXx9fYXy8nL9sRdeeEEYNGhQo89ORK6PI3ZE5BEGDx4MiUSi/zkpKQlnz56FWq3Gn3/+CUEQ0LVrV/j5+ek/6enpOHfunNXrHjlyBOPGjUNMTAz8/f0xYsQIAEBOTo5N/Tx8+DD++usv+Pv76/sREhKC69evG/UlMTERMplM/3NERIR+RO706dOQy+Xo16+fvv3mm29GcHBwk/oQGxsLf39/s9cmIvcmF7sDRESOptFoIJPJcPjwYaOwBAB+fn4Wz6uqqsLo0aMxevRopKamIjQ0FDk5ObjzzjuNXps2ty/9+/fHV199ZdIWGhqq/7uXl5dRm0QigUajAQCjuYOGLB1vyNq1ici9MdgRkUc4cOCAyc9dunSBTCZD3759oVarUVRUhGHDhpk939vbG2q12uhYVlYWrly5gsWLFyMqKgoAcOjQoRb1s1+/fvj2228RFhaGgIAAm66RkJAAlUqFI0eOoH///gCAv/76y6SWnpeXl8kzEZFn46tYIvIIubm5SElJwenTp/HNN9/gww8/xIwZMwAAXbt2xWOPPYYJEyZg48aNuHDhAv744w+8/fbb+OmnnwBoX09WVlbit99+w5UrV1BdXY3o6Gh4e3vjww8/xPnz57Flyxa88cYbLernY489hvbt22PcuHHYvXs3Lly4gPT0dMyYMQN5eXlNukZCQgL+9re/4emnn8bBgwdx5MgRPP300/Dx8TF6HR0bG4vffvsNhYWFKCkpaVG/icg9MNgRkUeYMGECampqMHDgQEydOhXTp0/H008/rW9fs2YNJkyYgOeffx7x8fH4+9//jt9//10/EjdkyBAkJyfjkUceQWhoKN555x2EhoZi7dq1+M9//oPu3btj8eLFWLJkSYv66evri127diE6OhoPPPAAunXrhqeeego1NTXNGsFbt24dwsPDMXz4cNx///2YMmUK/P390aZNG/133nvvPWzfvh1RUVHo27dvi/pNRO5BIjR1UgYRkYsaMWIE+vTpo6/h1hrl5eUhKioK//vf/3D77beL3R0iEgnn2BERuaEdO3agsrISPXv2REFBAebMmYPY2FgMHz5c7K4RkYgY7IiI3FBdXR1efPFFnD9/Hv7+/hgyZAi++uorkxWvRNS68FUsERERkYfg4gkiIiIiD8FgR0REROQhGOyIiIiIPASDHREREZGHYLAjIiIi8hAMdkREREQegsGOiIiIyEMw2BERERF5CAY7IiIiIg/x/wHbit8o7ylRugAAAABJRU5ErkJggg==", "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(f\"The test accuracy is {accuracy*100:5.2f}%\")\n", "\n", "plot_decision_regions(X1, y1, classifier=ppn_model_3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.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": 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='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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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_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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "code", "execution_count": 74, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": [ "## 12.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": 75, "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": 76, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "lr_model = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 77, "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": 78, "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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", "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": 79, "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": 80, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "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": 80, "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": 81, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2.]\n", "1.0000000000000053\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": 82, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAGdCAYAAABZ+qqcAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIjFJREFUeJzt3X9wVNX9//HXJoGs0uy2ocYsssXAaHVNUQGDQFurBYx1Yp2p1mnFQWtnCqJSGWv90W9jpo6xdepYO5pWanGciDj+wJr5aBRnSsSfAYJTYhx/QKpQNlJI2Y3YrDU53z9oUmISzN3suTf35vmY2T/25iz75kz0vrjnnvcNGWOMAAAALMrzugAAABB8BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hW4/YW9vb3as2ePioqKFAqF3P56AACQBWOMurq6NGXKFOXlOb9e4Xrg2LNnj+LxuNtfCwAAcmDXrl2aOnWq48+5HjiKiookHSo4Eom4/fUAACAL6XRa8Xi8/zzulOuBo28ZJRKJEDgAAPCZbG+H4KZRAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHWuN/4CAAC519Nr1Nzeqb1d3SopCquirFj5eWPnmWUEDgAAfK6xNamahjYlU939x2LRsKqrEqosj3lY2f+wpAIAgI81tia1vL5lQNiQpI5Ut5bXt6ixNelRZQMROAAA8KmeXqOahjaZIX7Wd6ymoU09vUONcBeBAwAAn2pu7xx0ZeNwRlIy1a3m9k73ihoGgQMAAJ/a2zV82MhmnE0EDgAAfKqkKJzTcTYROAAA8KmKsmLFomENt/k1pEO7VSrKit0sa0gEDgAAfCo/L6TqqoQkDQodfe+rqxJjoh8HgQMAAB+rLI+pbskslUYHLpuURsOqWzJrzPThcNT46/jjj9f7778/6PhVV12le++9N2dFAQCAkassj2lRojQ4nUY3b96snp6e/vetra1atGiRLr744pwXBgAARi4/L6R5MyZ7XcawHAWOY445ZsD7O+64QzNmzNBZZ52V06IAAECwZP0slU8++UT19fVatWqVQqHhL9lkMhllMpn+9+l0OtuvBAAAPpX1TaNPPfWUDhw4oMsvv/yI42praxWNRvtf8Xg8268EAAA+FTLGZNVg/dxzz9XEiRPV0NBwxHFDXeGIx+NKpVKKRCLZfDUAAHBZOp1WNBrN+vyd1ZLK+++/rxdeeEFPPvnk544tLCxUYWFhNl8DAAACIqsllTVr1qikpETnn39+rusBAAAB5Dhw9Pb2as2aNVq6dKkKCrK+5xQAAIwjjgPHCy+8oA8++EA/+tGPbNQDAAACyPElisWLFyvL+0wBAMA4xbNUAACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYV+B1AQAAjGc9vUbN7Z3a29WtkqKwKsqKlZ8X8rqsnCNwAADgkcbWpGoa2pRMdfcfi0XDqq5KqLI85mFluceSCgAAHmhsTWp5fcuAsCFJHaluLa9vUWNr0qPK7CBwAADgsp5eo5qGNpkhftZ3rKahTT29Q43wJwIHAAAua27vHHRl43BGUjLVreb2TveKsozAAQCAy/Z2DR82shnnBwQOAABcVlIUzuk4PyBwAADgsoqyYsWiYQ23+TWkQ7tVKsqK3SzLKgIHAAAuy88LqboqIUmDQkff++qqRKD6cRA4AADwQGV5THVLZqk0OnDZpDQaVt2SWYHrw0HjLwAAPFJZHtOiRCmdRgEAgF35eSHNmzHZ6zKsY0kFAABYR+AAAADWOQ4c//jHP7RkyRJNnjxZRx99tE477TRt3brVRm0AACAgHN3D8a9//UsLFizQ2WefrWeffVYlJSXasWOHvvjFL1oqDwAABIGjwPHrX/9a8Xhca9as6T92/PHH57omAAAQMI6WVJ5++mnNmTNHF198sUpKSnT66adr9erVR/xMJpNROp0e8AIAAOOLo8Cxc+dO1dXV6YQTTtBzzz2nZcuW6dprr9VDDz007Gdqa2sVjUb7X/F4fNRFAwAAfwkZY8xIB0+cOFFz5szRK6+80n/s2muv1ebNm/Xqq68O+ZlMJqNMJtP/Pp1OKx6PK5VKKRKJjKJ0AADglnQ6rWg0mvX529EVjlgspkQiMeDYySefrA8++GDYzxQWFioSiQx4AQCA8cVR4FiwYIHefvvtAcfeeecdTZs2LadFAQCAYHEUOK677jq99tpruv322/Xee+9p7dq1uv/++7VixQpb9QEAgABwFDjOOOMMrV+/Xo888ojKy8v1q1/9SnfffbcuvfRSW/UBAIAAcHTTaC6M9qYTAADgPldvGgUAAMgGgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUFXhcAADb09Bo1t3dqb1e3SorCqigrVn5eyOuygHGLwAEgcBpbk6ppaFMy1d1/LBYNq7oqocrymIeVAeMXSyoAAqWxNanl9S0DwoYkdaS6tby+RY2tSY8qA8Y3AgeAwOjpNappaJMZ4md9x2oa2tTTO9QIADYROAAERnN756ArG4czkpKpbjW3d7pXFABJ3MMBwIeGuyF0b9fwYeNwIx0HIHcIHAB85Ug3hJYUhUf0Z4x0HIDcYUkFgG983g2h/zqYUSwa1nCbX0M6FE4qyoqt1wpgIAIHAF8YyQ2hv/q/t/T/zk9I0qDQ0fe+uipBPw7AAwQOAL4w0htCvzRpouqWzFJpdOCySWk0rLols+jDAXiEezgA+IKTG0K/e9pxWpQopdMoMIYQOAD4gtMbQvPzQpo3Y7LNkgA4wJIKAF+oKCvmhlDAxxwFjltvvVWhUGjAq7S01FZtANAvPy+k6ipuCAX8yvEVjlNOOUXJZLL/tX37dht1AcAgleUxbggFfMrxPRwFBQVc1QDgmcryGDeEAj7kOHC8++67mjJligoLCzV37lzdfvvtmj59+rDjM5mMMplM//t0Op1dpQDwX9wQCviPoyWVuXPn6qGHHtJzzz2n1atXq6OjQ/Pnz9f+/fuH/Uxtba2i0Wj/Kx6Pj7poAADgLyFjTNbPaT548KBmzJihG264QatWrRpyzFBXOOLxuFKplCKRSLZfDQAAXJROpxWNRrM+f4+qD8ekSZP0ta99Te++++6wYwoLC1VYWDiarwEAAD43qj4cmUxGb731lmIx7gwHAADDcxQ4rr/+ejU1Nam9vV2vv/66LrroIqXTaS1dutRWfQAAIAAcLans3r1bP/jBD7Rv3z4dc8wxOvPMM/Xaa69p2rRptuoDAAAB4ChwrFu3zlYdAAAgwHh4GwAAn9HTa2gul2MEDgAADtPYmlRNQ5uSqe7+Y7FoWNVVCdrnjwJPiwUA4L8aW5NaXt8yIGxIUkeqW8vrW9TYmvSoMv8jcAAAoEPLKDUNbRqqG2bfsZqGNvX0Zt0vc1wjcAAAIKm5vXPQlY3DGUnJVLea2zvdKypACBwAAEja2zV82MhmHAYicAAAIKmkKJzTcRiIwAEAgKSKsmLFomENt/k1pEO7VSrKit0sKzAIHAAASMrPC6m6KiFJg0JH3/vqqgT9OLJE4AAAl/T0Gr26Y7/+8sY/9OqO/ex2GIMqy2OqWzJLpdGByyal0bDqlsyiD8co0PgLAFxAMyn/qCyPaVGilE6jORYyxrgasdPptKLRqFKplCKRiJtfDQCe6Gsm9dn/2fadvviXM/xgtOdvllQAwCKaSQGHEDgAwCKaSQGHEDgAwCKaSQGHEDgAwCKaSQGHEDgAwCKaSQGHEDgAwCKaSQGHEDgAwDKaSR0ZDdHGBxp/AYALaCY1NBqijR80/gIAeIKGaP5C4y8AgO/QEG38IXAAAFxHQ7Txh8ABAHAdDdHGHwIHAMB1NEQbfwgcAADX0RBt/CFwAABcR0O08YfAAQDwBA3RxhcafwEAPENDtPGDwAEA8FR+XkjzZkz2ugxYxpIKAACwjiscQMD19BouVwPwHIEDCDAejAVgrGBJBQiovgdjfbZ9dEeqW8vrW9TYmvSoMgDjEYEDCCAejJUbPb1Gr+7Yr7+88Q+9umM/8wWMAksqQAA5eTAWuwOGxnIUkFtc4QACiAdjjQ7LUUDuETiAAOLBWNljOQqwg8ABBBAPxsqek+UoACNH4AACiAdjZY/lKMAOAgcQUDwYKzssRwF2jGqXSm1trW6++WatXLlSd999d45KApArPBjLub7lqI5U95D3cYR0KLSxHOUMHW+RdeDYvHmz7r//fs2cOTOX9QDIMR6M5UzfctTy+haFpAGhg+Wo7LDFGFKWSyofffSRLr30Uq1evVpf+tKXcl0TAHgqyMtRbjczY4sx+mR1hWPFihU6//zztXDhQt12221HHJvJZJTJZPrfp9PpbL4SAFwVxOUot680fN4W45AObTFelCj19byyXDQyjgPHunXr1NLSos2bN49ofG1trWpqahwXBgBeC9JyVN+Vhs+e/PuuNNi4cjMeOt6yXDRyjpZUdu3apZUrV6q+vl7h8Mju0L7pppuUSqX6X7t27cqqUABAdrxqZhb0LcYsFznjKHBs3bpVe/fu1ezZs1VQUKCCggI1NTXpnnvuUUFBgXp6egZ9prCwUJFIZMALAOAer5qZBXmLMR1pnXO0pPLtb39b27dvH3Dsiiuu0EknnaSf//znys/Pz2lxAIDR8+pKQ5C3GI+H5aJccxQ4ioqKVF5ePuDYpEmTNHny5EHHAQBjg1dXGoK8xTjoy0U20GkUAALOy2frBHWLcZCXi2wZVadRSdq4cWMOygAA2OL1lYYgbjEO8nKRLVzhAIBxwOsrDX1bjL972nGaN2Oyr8OGxAMSsxEyxrh6C206nVY0GlUqlWLHCgC4jCZVuTWe+nCM9vxN4AAAYBTGS4gb7fl71PdwAAAwngWpI61N3MMBAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKwjcAAAAOsIHAAAwDoCBwAAsI7AAQAArCNwAAAA6wgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCuwOsCAKBPT69Rc3un9nZ1q6QorIqyYuXnhbwuC0AOEDgAjAmNrUnVNLQpmeruPxaLhlVdlVBleczDygDkAksqADzX2JrU8vqWAWFDkjpS3Vpe36LG1qRHlQHIFQIHAE/19BrVNLTJDPGzvmM1DW3q6R1qBAC/IHAA8FRze+egKxuHM5KSqW41t3e6VxSAnCNwAPDU3q7hw0Y24wCMTQQOAJ4qKQrndByAsYnAAcBTFWXFikXDGm7za0iHdqtUlBW7WRaAHCNwAPBUfl5I1VUJSRoUOvreV1cl6McB+ByBA4DnKstjqlsyS6XRgcsmpdGw6pbMog8HEAA0/gIwJlSWx7QoUUqnUSCgCBwAxoz8vJDmzZjsdRkALGBJBQAAWEfgAAAA1hE4AACAdQQOAABgHYEDAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFjnKHDU1dVp5syZikQiikQimjdvnp599llbtQEAgIBwFDimTp2qO+64Q1u2bNGWLVt0zjnn6Lvf/a7efPNNW/UBAIAACBljzGj+gOLiYt1555268sorRzQ+nU4rGo0qlUopEomM5qsBAIBLRnv+zvrhbT09PXrsscd08OBBzZs3b9hxmUxGmUym/306nc72KwEAgE85vml0+/bt+sIXvqDCwkItW7ZM69evVyKRGHZ8bW2totFo/ysej4+qYAAA4D+Ol1Q++eQTffDBBzpw4ICeeOIJ/elPf1JTU9OwoWOoKxzxeJwlFQAAfGS0Syqjvodj4cKFmjFjhv74xz+OaDz3cAAA4D+jPX+Pug+HMWbAFQwAAIDPcnTT6M0336zzzjtP8XhcXV1dWrdunTZu3KjGxkZb9QEAgABwFDg+/PBDXXbZZUomk4pGo5o5c6YaGxu1aNEiW/UBAIAAcBQ4HnjgAVt1AACAAMu6DwcAuK2n16i5vVN7u7pVUhRWRVmx8vNCXpcFYAQIHAB8obE1qZqGNiVT3f3HYtGwqqsSqiyPeVgZgJHgabEAxrzG1qSW17cMCBuS1JHq1vL6FjW2Jj2qDMBIETgAjGk9vUY1DW0aqmFQ37Gahjb19I6qpRAAywgcAMa05vbOQVc2DmckJVPdam7vdK8oAI4ROACMaXu7hg8b2YwD4A0CB4AxraQonNNxALzBLpUcYKseYE9FWbFi0bA6Ut1D3scRklQaPfTfHYCxi8AxSmzVA+zKzwupuiqh5fUtCkkDQkdfrK+uShDygTGOJZVRYKse4I7K8pjqlsxSaXTgsklpNKy6JbMI94APcIUjS5+3VS+kQ1v1FiVK+ZcXkAOV5TEtSpSyfAn4FIEjS0626s2bMdm9woAAy88L8d8T4FMsqWSJrXoAAIwcgSNLbNUDAGDkWFLJElv1AGDsoU3B2EXgyBJb9QBgbKFNwdjGksoosFUPAMYG2hSMfVzhGCW26gGAt2hT4A8Ejhxgqx4AeIc2Bf7AkgoAwNdoU+APBA4AgK/RpsAfWFIZAbZZAcDYRZsCfyBwfA62WQHA2EabAn9gSeUI2GYFAP5Am4Kxjyscw2CbFQD4C20KxjYCxzDYZgUA/kObgrGLJZVhsM0KAIDcIXAMg21WAADkDoFjGH3brIZb+Qvp0G4VtlkBAPD5CBzD6NtmJWlQ6GCbFQAAzhA4joBtVgAA5Aa7VD4H26wAABg9AscIsM0KAIDRYUkFAABYR+AAAADWETgAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYJ2jwFFbW6szzjhDRUVFKikp0YUXXqi3337bVm0AACAgHAWOpqYmrVixQq+99po2bNigTz/9VIsXL9bBgwdt1QcAAAIgZIwx2X74n//8p0pKStTU1KRvfvObI/pMOp1WNBpVKpVSJBLJ9qsBAICLRnv+HtU9HKlUSpJUXFw8mj8GAAAEXNYPbzPGaNWqVfr617+u8vLyYcdlMhllMpn+9+l0OtuvBAAAPpX1FY6rr75af/vb3/TII48ccVxtba2i0Wj/Kx6PZ/uVAADAp7K6h+Oaa67RU089pRdffFFlZWVHHDvUFY54PM49HAAA+Mho7+FwtKRijNE111yj9evXa+PGjZ8bNiSpsLBQhYWFjgsDAADB4ShwrFixQmvXrtVf/vIXFRUVqaOjQ5IUjUZ11FFHWSkQAAD4n6MllVAoNOTxNWvW6PLLLx/Rn8G2WAAA/Mf1JRUAAACneJYKAACwjsABAACsI3AAAADrCBwAAMC6rFubAxidnl6j5vZO7e3qVklRWBVlxcrPG3onGAD4HYED8EBja1I1DW1Kprr7j8WiYVVXJVRZHvOwMgCwgyUVwGWNrUktr28ZEDYkqSPVreX1LWpsTXpUGQDYQ+AAXNTTa1TT0KahOtr0HatpaFNPLz1vAAQLgQNwUXN756ArG4czkpKpbjW3d7pXFAC4gMABuGhv1/BhI5txAOAXBA7ARSVF4ZyOAwC/IHAALqooK1YsGtZwm19DOrRbpaKs2M2yAMA6Agfgovy8kKqrEpI0KHT0va+uStCPA0DgEDgAl1WWx1S3ZJZKowOXTUqjYdUtmUUfDgCBROMvwAOV5TEtSpTSaRTAuEHgADySnxfSvBmTvS4DAFzBkgoAALCOwAEAAKwjcAAAAOsIHAAAwDoCBwAAsI7AAQAArCNwAAAA6wgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKwjcAAAAOsIHAAAwLoCrwvIhZ5eo+b2Tu3t6lZJUVgVZcXKzwt5XRYAAPgv3weOxtakahralEx19x+LRcOqrkqosjzmYWUAAKCPr5dUGluTWl7fMiBsSFJHqlvL61vU2Jr0qDIAAHA43waOnl6jmoY2mSF+1nespqFNPb1DjQAAAG7ybeBobu8cdGXjcEZSMtWt5vZO94oCAABD8m3g2Ns1fNjIZhwAALDHt4GjpCic03EAAMAe3waOirJixaJhDbf5NaRDu1UqyordLAsAAAzBt4EjPy+k6qqEJA0KHX3vq6sS9OMAAGAM8G3gkKTK8pjqlsxSaXTgsklpNKy6JbPowwEAwBjhuPHXiy++qDvvvFNbt25VMpnU+vXrdeGFF1oobWQqy2NalCil0ygAAGOY48Bx8OBBnXrqqbriiiv0ve99z0ZNjuXnhTRvxmSvywAAAMNwHDjOO+88nXfeeTZqAQAAAWX9WSqZTEaZTKb/fTqdtv2VAABgjLF+02htba2i0Wj/Kx6P2/5KAAAwxlgPHDfddJNSqVT/a9euXba/EgAAjDHWl1QKCwtVWFho+2sAAMAY5us+HAAAwB8cX+H46KOP9N577/W/b29v1xtvvKHi4mJ95StfyWlxAAAgGBwHji1btujss8/uf79q1SpJ0tKlS/Xggw/mrDAAABAcjgPHt771LRljbNQCAAACins4AACAdQQOAABgnfVtsQDs6+k1PMAQwJhG4AB8rrE1qZqGNiVT3f3HYtGwqqsSqiyPeVgZAPwPSyqAjzW2JrW8vmVA2JCkjlS3lte3qLE16VFlADAQgQPwqZ5eo5qGNg21Z6zvWE1Dm3p62VUGwHsEDsCnmts7B13ZOJyRlEx1q7m9072iAGAYBA7Ap/Z2DR82shkHADYROACfKikK53QcANhE4AB8qqKsWLFoWMNtfg3p0G6VirJiN8sCgCEROACfys8LqboqIUmDQkff++qqBP04AIwJBA7AxyrLY6pbMkul0YHLJqXRsOqWzKIPB4Axg8ZfgM9Vlse0KFFKp1EAYxqBAwiA/LyQ5s2Y7HUZADAsllQAAIB1BA4AAGAdgQMAAFhH4AAAANYROAAAgHUEDgAAYB2BAwAAWEfgAAAA1hE4AACAda53GjXGSJLS6bTbXw0AALLUd97uO4875Xrg6OrqkiTF43G3vxoAAIxSV1eXotGo48+FTLZRJUu9vb3as2ePioqKFAp9/sOl0um04vG4du3apUgk4kKFOBzz7y3m3zvMvbeYf+8MN/fGGHV1dWnKlCnKy3N+R4brVzjy8vI0depUx5+LRCL80nmI+fcW8+8d5t5bzL93hpr7bK5s9OGmUQAAYB2BAwAAWDfmA0dhYaGqq6tVWFjodSnjEvPvLebfO8y9t5h/79iae9dvGgUAAOPPmL/CAQAA/I/AAQAArCNwAAAA6wgcAADAujEROO677z6VlZUpHA5r9uzZ2rRp0xHHNzU1afbs2QqHw5o+fbr+8Ic/uFRpMDmZ/yeffFKLFi3SMccco0gkonnz5um5555zsdpgcfq73+fll19WQUGBTjvtNLsFBpzT+c9kMrrllls0bdo0FRYWasaMGfrzn//sUrXB43T+H374YZ166qk6+uijFYvFdMUVV2j//v0uVRscL774oqqqqjRlyhSFQiE99dRTn/uZnJx3jcfWrVtnJkyYYFavXm3a2trMypUrzaRJk8z7778/5PidO3eao48+2qxcudK0tbWZ1atXmwkTJpjHH3/c5cqDwen8r1y50vz61782zc3N5p133jE33XSTmTBhgmlpaXG5cv9zOvd9Dhw4YKZPn24WL15sTj31VHeKDaBs5v+CCy4wc+fONRs2bDDt7e3m9ddfNy+//LKLVQeH0/nftGmTycvLM7/73e/Mzp07zaZNm8wpp5xiLrzwQpcr979nnnnG3HLLLeaJJ54wksz69euPOD5X513PA0dFRYVZtmzZgGMnnXSSufHGG4ccf8MNN5iTTjppwLGf/OQn5swzz7RWY5A5nf+hJBIJU1NTk+vSAi/bub/kkkvML37xC1NdXU3gGAWn8//ss8+aaDRq9u/f70Z5ged0/u+8804zffr0AcfuueceM3XqVGs1jgcjCRy5Ou96uqTyySefaOvWrVq8ePGA44sXL9Yrr7wy5GdeffXVQePPPfdcbdmyRf/5z3+s1RpE2cz/Z/X29qqrq0vFxcU2SgysbOd+zZo12rFjh6qrq22XGGjZzP/TTz+tOXPm6De/+Y2OO+44nXjiibr++uv173//242SAyWb+Z8/f752796tZ555RsYYffjhh3r88cd1/vnnu1HyuJar867rD2873L59+9TT06Njjz12wPFjjz1WHR0dQ36mo6NjyPGffvqp9u3bp1gsZq3eoMlm/j/rt7/9rQ4ePKjvf//7NkoMrGzm/t1339WNN96oTZs2qaDA0/90fS+b+d+5c6deeuklhcNhrV+/Xvv27dNVV12lzs5O7uNwKJv5nz9/vh5++GFdcskl6u7u1qeffqoLLrhAv//9790oeVzL1Xl3TNw0+tnH1Btjjvjo+qHGD3UcI+N0/vs88sgjuvXWW/Xoo4+qpKTEVnmBNtK57+np0Q9/+EPV1NToxBNPdKu8wHPyu9/b26tQKKSHH35YFRUV+s53vqO77rpLDz74IFc5suRk/tva2nTttdfql7/8pbZu3arGxka1t7dr2bJlbpQ67uXivOvpP5O+/OUvKz8/f1Ci3bt376A01ae0tHTI8QUFBZo8ebK1WoMom/nv8+ijj+rKK6/UY489poULF9osM5Cczn1XV5e2bNmibdu26eqrr5Z06ARojFFBQYGef/55nXPOOa7UHgTZ/O7HYjEdd9xxAx7PffLJJ8sYo927d+uEE06wWnOQZDP/tbW1WrBggX72s59JkmbOnKlJkybpG9/4hm677TaubluUq/Oup1c4Jk6cqNmzZ2vDhg0Djm/YsEHz588f8jPz5s0bNP7555/XnDlzNGHCBGu1BlE28y8durJx+eWXa+3atayfZsnp3EciEW3fvl1vvPFG/2vZsmX66le/qjfeeENz5851q/RAyOZ3f8GCBdqzZ48++uij/mPvvPOO8vLyNHXqVKv1Bk028//xxx8rL2/gKSs/P1/S//61DTtydt51dIupBX1box544AHT1tZmfvrTn5pJkyaZv//978YYY2688UZz2WWX9Y/v255z3XXXmba2NvPAAw+wLXYUnM7/2rVrTUFBgbn33ntNMpnsfx04cMCrv4JvOZ37z2KXyug4nf+uri4zdepUc9FFF5k333zTNDU1mRNOOMH8+Mc/9uqv4GtO53/NmjWmoKDA3HfffWbHjh3mpZdeMnPmzDEVFRVe/RV8q6ury2zbts1s27bNSDJ33XWX2bZtW/+WZFvnXc8DhzHG3HvvvWbatGlm4sSJZtasWaapqan/Z0uXLjVnnXXWgPEbN240p59+upk4caI5/vjjTV1dncsVB4uT+T/rrLOMpEGvpUuXul94ADj93T8cgWP0nM7/W2+9ZRYuXGiOOuooM3XqVLNq1Srz8ccfu1x1cDid/3vuucckEglz1FFHmVgsZi699FKze/dul6v2v7/+9a9H/P+4rfMuj6cHAADWjYldKgAAINgIHAAAwDoCBwAAsI7AAQAArCNwAAAA6wgcAADAOgIHAACwjsABAACsI3AAAADrCBwAAMA6AgcAALCOwAEAAKz7/xxmcM0Vi1UWAAAAAElFTkSuQmCC", "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": 83, "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": 83, "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": 84, "metadata": {}, "outputs": [], "source": [ "y_predicted = lr_model_2.predict(X)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "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": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "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": [ "## 12.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": 87, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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D7/OmhX8uUUkKgW8tHfFihVc7uby7LRp03jxxReZPn06e/fuZcWKFQ1jK1eu5N5772XLli3k5uYyZ84cZs6c6fc5tbRX2jWHAz77rLEC68iR/j3cWm/z5sYKrD/7GQwc6P9cw4AvvjArsHbvDoWFgVV/9WXPHti40bwSNHas63MshmGO7d5tVmAdO9b91RQRiVrq2isiIiKWipo6IyIiIiLeKBkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERSykZEREREUspGRERERFLKRkRERERS8VbHYC0VF0O3y2D2iroNghyRoDNZnVUIiIi4aFkJIoYTljxMKx5AupON27PHgrXvgg5w62KTEREJHx0myaKfHAPrPqNayICcHgLLBwLR7dbEpaIiEhYKRmJEid2w7/+BBgtxwwH1FXDykciHpaIiEjYKRmJEpv/DjYvvw2jDrb+A2qqIheTiIhIJCgZiRKVpd6TEQBnHZw+Hpl4REREIkXJSJRIyzUfYPXGngCpXSITj4iISKQoGYkSQ3/mPRmxxcOQH0FCauRiEhERiQQlI1GiUy+45H73Y7Y4SOoIl/5nZGMSERGJBCUjUWT8PLjyMUjKcN2edzHMWAOZ/ayJS0REJJxU9CyK2Gzm1ZFRd8O+VVBTCV0HQreBVkcmIiISPkpGolB8MpwzweooREREIkO3aURERMRSSkZERETEUrpNE4PKD5jPlBgG5BdC575WRyQiIhK8oK6MPPPMM/Tp04fk5GRGjBjB6tWrPe67YsUKbDZbi9f27er6FqgzZfDPH8GTvWDxT+GNn8HT/eCVqVB1xOroREREghNwMvL6669zzz338OCDD7JhwwbGjh3LpEmT2L9/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pLLUfSl3d/sF6sRu//arOhT4sUVERNqydpWMpPcAw+F7v7Qgutdm9vNvv44eysGLiIi0V+0qGSm4FhI7eh632SFvNGSeE/ix0/MgPd/3flf8OvBji4iItGXtKhlJ7ABX/c79mM1u3sKZ8ETwx5/6nPfx/DGQc0HwxxcREWmL2lUyAjByJlz7YssiZN0GwbRPIL8Vy2/7TYQfLnZ/9eXcKTC9FcuGRURE2qp22yjPWQf7PzUrsHbuA92Hg80WkkMDsP0tKPoMUjJh5C8gWf39RESknfH3+7vd1gO1x0Pvy8J3/AHXmi8RERHxrt3dphEREZHoomRERERELKVkRERERCwVVDLyzDPP0KdPH5KTkxkxYgSrV6/2uv/KlSsZMWIEycnJ9O3bl2effTaoYEVERKTtCTgZef3117nnnnt48MEH2bBhA2PHjmXSpEns37/f7f579uxh8uTJjB07lg0bNvDAAw9w9913s2jRolYHLyIiIrEv4KW9o0aN4oILLmD+/PkN2wYOHMh1113HvHnzWuw/Z84clixZwrZt2xq2zZw5k02bNrF27Vq/zhmOpb0iIiISXv5+fwd0ZaSmpob169czYcIEl+0TJkxgzZo1buesXbu2xf4TJ05k3bp11NbWup1TXV1NeXm5y0tERETapoCSkaNHj+JwOMjOznbZnp2dTWmp+1a3paWlbvevq6vj6NGjbufMmzePjIyMhld+vh9NX0RERCQmBfUAq61ZqVLDMFps87W/u+315s6dS1lZWcOrqKgomDBFREQkBgRUgbVr167ExcW1uApy+PDhFlc/6nXv3t3t/vHx8XTp0sXtnKSkJJKSkhp+rk9edLtGREQkdtR/b/t6PDWgZCQxMZERI0awbNkyrr/++obty5Yt49pr3dc+Lyws5O2333bZtnTpUkaOHElCQoJf562oqADQ7RoREZEYVFFRQUZGhsfxgFfTvP7669x00008++yzFBYWsmDBAp577jm2bNlCr169mDt3LsXFxbz00kuAubR3yJAh3HHHHdx+++2sXbuWmTNn8uqrr3LDDTf4dU6n08nBgwdJS0vzejvInfLycvLz8ykqKtJKHD/pMwuOPrfg6HMLjj63wOkzC05rPjfDMKioqCA3Nxe73fOTIQE3yrvxxhs5duwYjzzyCCUlJQwZMoT33nuPXr16AVBSUuJSc6RPnz6899573Hvvvfz5z38mNzeXp59+2u9EBMBut5OXlxdoqC7S09P1hy9A+syCo88tOPrcgqPPLXD6zIIT7Ofm7YpIvYCvjMQa1SgJnD6z4OhzC44+t+DocwucPrPgROJzU28aERERsVSbT0aSkpJ46KGHXFbniHf6zIKjzy04+tyCo88tcPrMghOJz63N36YRERGR6Nbmr4yIiIhIdFMyIiIiIpZSMiIiIiKWUjIiIiIilmqzyciqVauYOnUqubm52Gw23nzzTatDinrz5s3jwgsvJC0tjaysLK677jp27NhhdVhRb/78+QwdOrShIFBhYSHvv/++1WHFlHnz5mGz2bjnnnusDiWqPfzww9hsNpdX9+7drQ4rJhQXF/Ozn/2MLl26kJqayvnnn8/69eutDiuq9e7du8WfN5vNxqxZs0J+rjabjFRVVTFs2DD+9Kc/WR1KzFi5ciWzZs3i888/Z9myZdTV1TFhwgSqqqqsDi2q5eXl8eijj7Ju3TrWrVvHFVdcwbXXXsuWLVusDi0mfPnllyxYsIChQ4daHUpMGDx4MCUlJQ2vr7/+2uqQot6JEye45JJLSEhI4P3332fr1q38/ve/p1OnTlaHFtW+/PJLlz9ry5YtA+AHP/hByM8VcDn4WDFp0iQmTZpkdRgx5YMPPnD5eeHChWRlZbF+/XrGjRtnUVTRb+rUqS4//9d//Rfz58/n888/Z/DgwRZFFRsqKyv56U9/ynPPPcdvfvMbq8OJCfHx8boaEqDHHnuM/Px8Fi5c2LCtd+/e1gUUI7p16+by86OPPso555zDpZdeGvJztdkrI9J6ZWVlAGRmZlocSexwOBy89tprVFVVUVhYaHU4UW/WrFlcc801XHnllVaHEjN27txJbm4uffr04Uc/+hG7d++2OqSot2TJEkaOHMkPfvADsrKyGD58OM8995zVYcWUmpoaXn75ZWbMmBFww1p/KBkRtwzDYPbs2YwZM4YhQ4ZYHU7U+/rrr+nYsSNJSUnMnDmTN954g0GDBlkdVlR77bXX+Oqrr5g3b57VocSMUaNG8dJLL/Hhhx/y3HPPUVpayujRozl27JjVoUW13bt3M3/+fM4991w+/PBDZs6cyd13393QXV58e/PNNzl58iTTp08Py/Hb7G0aaZ0777yTzZs38+mnn1odSkwoKChg48aNnDx5kkWLFjFt2jRWrlyphMSDoqIifvnLX7J06VKSk5OtDidmNL31fN5551FYWMg555zDX//6V2bPnm1hZNHN6XQycuRIfvvb3wIwfPhwtmzZwvz587n55pstji42PP/880yaNInc3NywHF9XRqSFu+66iyVLlrB8+XLy8vKsDicmJCYm0q9fP0aOHMm8efMYNmwYTz31lNVhRa3169dz+PBhRowYQXx8PPHx8axcuZKnn36a+Ph4HA6H1SHGhA4dOnDeeeexc+dOq0OJajk5OS3+YTBw4ED2799vUUSxZd++fXz00UfcdtttYTuHroxIA8MwuOuuu3jjjTdYsWIFffr0sTqkmGUYBtXV1VaHEbXGjx/fYhXILbfcwoABA5gzZw5xcXEWRRZbqqur2bZtG2PHjrU6lKh2ySWXtChT8O2339KrVy+LIoot9YsZrrnmmrCdo80mI5WVlezatavh5z179rBx40YyMzPp2bOnhZFFr1mzZvHKK6/w1ltvkZaWRmlpKQAZGRmkpKRYHF30euCBB5g0aRL5+flUVFTw2muvsWLFihark6RRWlpai2eROnToQJcuXfSMkhf33XcfU6dOpWfPnhw+fJjf/OY3lJeXM23aNKtDi2r33nsvo0eP5re//S0//OEP+de//sWCBQtYsGCB1aFFPafTycKFC5k2bRrx8WFMGYw2avny5QbQ4jVt2jSrQ4ta7j4vwFi4cKHVoUW1GTNmGL169TISExONbt26GePHjzeWLl1qdVgx59JLLzV++ctfWh1GVLvxxhuNnJwcIyEhwcjNzTW+973vGVu2bLE6rJjw9ttvG0OGDDGSkpKMAQMGGAsWLLA6pJjw4YcfGoCxY8eOsJ7HZhiGEb5UR0RERMQ7PcAqIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKW+v84yu56Sjh/3wAAAABJRU5ErkJggg==", "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": 88, "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": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "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lVixYoXEyGgiEUJgw4YNOHDgAI4cOYK8vDzZIU1IQoiom1uGE1WJRahOnDiBEydOYNGiRUhJScGlS5fw+OOPY+bMmVG1WhGO2tpa/OxnP0Nubi6effZZNDY29n1t6tSpEiOTp6amBjabDTU1NfD5fDhz5gwAYNasWUhOTpYbXASUl5ejuLgYCxYs6FvBqqmpiel9N21tbfj222/7Pv/uu+9w5swZpKamIjc3V2Jkcqxbtw7vvPMODh48CJPJ1LfCZbFYYDQaJUcnx+bNm7Fs2TLk5OTA6XRi7969OHLkCD755BPZoUWOzCMpspw9e1YUFhaK1NRUYTAYxIwZM0RZWZn44YcfZIcmTUVFhQAQ9CNWlZSUBB2Pw4cPyw4tYl5++WUxffp0odfrxQ033BDzxwgPHz4c9HeipKREdmhSDPWaUVFRITs0aR544IG+/zMZGRli6dKl4tChQ7LDiii2TSciIiLNRN9NdCIiIpKGiQURERFphokFERERaYaJBREREWmGiQURERFphokFERERaYaJBREREWmGiQURERFphokFERERaYaJBREREWmGiQURERFphokFERERaeb/Aclus3iGpf+iAAAAAElFTkSuQmCC", "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": 90, "metadata": {}, "outputs": [ { "data": { "image/png": "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P+20yBoVhmGajz0W/RoVRVGqYHX/VsMiWtxu03z2WdPs16/iyzwlpWLT8n/x+w2P5s1N85dfYruGvXtNc/DgCoGlqsJHffqY5q5d4ee4557IG2ttbFDPPRd5Xenp1o2D2bNlXq/XnlERatM+/XQRSouGf/wj+M+sqjFz773Vj921q7oxG2qNfftGffkVRVGqogJZicI0pfpj925xbYfSWnA4pEfHvHkiPBULTjxRqjVClT06nZLY99NPoefweqU753//K2v0z+VwSJz//vvhzjsTW9lw8KBUaRQWxma+5s0lbOKnWTNrOTKR+Phj+ZnbweuVMIWViqHWraXxWeXE0DlzKhJGI5GSIrLdiqIoMUB1LBKFYUgviGnTpCwzVNze65UEuvvvj815V60S1cZwWgoeD/z8s8TxQ+FwSK7Fhg3wpz+JsXLSSfC3v0lM/o9/lM/o9cpnfOAB+Qxffx0/bYv33oudUQHVjSKr/U/C4XTCk0/aP+7AAetlyHv2VFfPtKPMGak9vaIoShywVRXidrv529/+xltvvcXOnTtp3749l112GX/+859xWEkWbKhs2iRJkJGcP263lDc+8UTNtQPee082t0giTS6XnHPYsPDjunaFf/0r+HvffitVDps2VZRhut3QqZM04zrpJHltxw6pRFi2TMb17y/Jli1bSkJisI1u0SIxklwuSUjs0EFKSJOSYlOJYhhS2eHHNCvantcEjwdmzrR/nN2/k6rj+/eHNm0iq2q6XHD88fbOpSiKEgNsGRYPPvggzz77LK+99hoDBgxg3rx5XH755WRlZXHLLbfEa411mwMHYOJE65ug2y3VIjU1LHJzA0MXkcZGy1dfSfttv9FU2SOzdatUGEydKpUKDz5YMa6qN6NVK7jhBgm7pKbCd9+JN6SyN8XpFNGrWAs2XXNNxf9zc633+IhENB6brCxREF23Lrwhahhi7FWteklKkr4uf/97+PO73aI4qiiKkmBsGRYzZ87ktNNO4yTfHWrXrl15++23mTdvXlwWVy944QXJq7BDLFzULVta39islmRWpaxMJL/9KYFVMU3ZAC+8MHIsPzdXSnS//142xosuqj7G45G8hSZNYuOtcDhEx2HDBlljejqMHFnzef1zDxpk/zjDkA3fiiF+003Bc1vuvFNCUbNnh/4d+MMfxOBVFEVJNHYyQh944AGzS5cu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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": [ "## 12.5 Hyperparameter Tuning " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "During model training, the **parameters** of the model are updated in an iterative process. **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": 91, "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": [ "### 12.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": 92, "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": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.9557312252964426)" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.best_score_" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'n_neighbors': 3}" ] }, "execution_count": 94, "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": 95, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": 96, "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": 97, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.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": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9735177865612649\n", "Hyperparameters: {'C': np.float64(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": 99, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "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": 100, "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": 101, "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(f\"The test accuracy is {accuracy*100:5.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12.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": [ "### 12.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": 102, "metadata": { "slideshow": { "slide_type": "slide" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "{'fit_time': array([0.15049887, 0.14710426, 0.1436522 , 0.14878869, 0.14645934]),\n", " 'score_time': array([0.00786376, 0.00651002, 0.00665116, 0.00735497, 0.00675845]),\n", " 'test_score': array([0.86956522, 1. , 0.86363636, 0.95454545, 1. ])}" ] }, "execution_count": 102, "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": 103, "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_index` and `test_index` are the indices of the elements in each fold." ] }, { "cell_type": "code", "execution_count": 106, "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_index, test_index) in enumerate(kfold):\n", " rf_model.fit(X_train[train_index], y_train[train_index])\n", " accuracy_score = rf_model.score(X_train[test_index], y_train[test_index])\n", " scores.append(accuracy_score)\n", " print('Fold: %2d, Class dist.: %s, Acc: %.3f' % (k+1,\n", " np.bincount(y_train[train_index]), accuracy_score))\n", " \n", "print('\\nCV accuracy: %.3f +/- %.3f' % (np.mean(scores), np.std(scores)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For instance, the following code displays the train and text indices for the first fold. I.e, indices 0 to 22 are used for testing, and indices 23 to 111 are used for training. " ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TRAIN indices: [ 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40\n", " 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58\n", " 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76\n", " 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94\n", " 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111] \n", " TEST indices: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22]\n" ] } ], "source": [ "kfold = StratifiedKFold(n_splits=5, shuffle=False).split(X_train, y_train)\n", "for train_index, test_index in kfold:\n", " print(\"TRAIN indices:\", train_index, \"\\n\", \"TEST indices:\", test_index)\n", " break" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12.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": 108, "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": 108, "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": 109, "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 int64 \n", "dtypes: float64(30), int64(1)\n", "memory usage: 137.9 KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "target\n", "1 357\n", "0 212\n", "Name: count, dtype: int64" ] }, "execution_count": 110, "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": 111, "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": 112, "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": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.935672514619883" ] }, "execution_count": 113, "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": 114, "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": 115, "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": 116, "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": 117, "metadata": {}, "outputs": [], "source": [ "# output probabilities for each sample\n", "y_pred_probabilities = lr_model.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAa/9JREFUeJzt3Xd4FNX+x/H3pjcSaiBA6EVAkRKpIqJIVbASBemoiIqAiiD3SrkqVsRCU0qESxXBiz8RiNKL0hUBKVKVIIKSAKFlc35/jCyEJJANm0zK5/U88zhz9szsd4eY/eacM+c4jDEGERERkTzCy+4ARERERDxJyY2IiIjkKUpuREREJE9RciMiIiJ5ipIbERERyVOU3IiIiEieouRGRERE8hQlNyIiIpKnKLkRERGRPEXJjYhcV0xMDA6Hw7X5+PgQERHBo48+yp49e9I85+LFi4wbN46GDRsSFhZGYGAg1apVY9CgQZw4cSLNc5KTk5k2bRrNmzenaNGi+Pr6Eh4ezr333stXX31FcnJyVn5MEckjlNyISIZNmTKFdevW8e233/Lss8+yYMECbr/9dv7+++8U9RITE7nnnnt47rnnqF27NjNnzmThwoV07tyZTz75hNq1a7Nr164U55w7d442bdrQtWtXwsPDGTduHEuXLmX8+PGULFmSRx55hK+++io7P66I5FZGROQ6pkyZYgCzYcOGFOXDhw83gJk8eXKK8ieffNIAZtasWamutWvXLhMWFmZq1KhhkpKSXOVPP/20Acxnn32WZgy7d+82P/74owc+TeYlJiaa5ORkW2MQketTy42IZFpUVBQAf/zxh6vs6NGjTJ48mZYtWxIdHZ3qnCpVqvDyyy+zfft2vvzyS9c5EydOpGXLlnTp0iXN96pcuTI1a9a8ZjzJycl89NFH1KpVi8DAQAoWLEiDBg1YsGCBq47D4WDYsGGpzi1XrhzdunVzHV/qiluyZAk9evSgWLFiBAUFMXv2bBwOB999912qa4wbNw6Hw8FPP/3kKtu4cSPt2rWjcOHCBAQEULt2bebMmXPNzyEiN0bJjYhk2v79+wErYblk2bJlJCUlcf/996d73qXXYmNjXedcvHjxmudkRLdu3Xj++ee57bbbmD17NrNmzaJdu3YcOHAg09fs0aMHvr6+TJs2jblz5/LAAw8QHh7OlClTUtWNiYmhTp06riRs2bJlNG7cmJMnTzJ+/Hj+97//UatWLaKjo4mJicl0TCJybT52ByAiuYfT6SQpKYlz586xZs0aXnvtNe644w7atWvnqnPo0CEAypcvn+51Lr12qW5GzrmeVatWMW3aNIYMGcJrr73mKm/VqlWmrwlw9913M2HChBRljz/+OOPGjSM+Pp6wsDAAdu7cyfr16/noo49c9fr06UONGjVYunQpPj7Wr9uWLVty/PhxXnnlFbp06YKXl/7GFPE0/V8lIhnWoEEDfH19KVCgAK1ataJQoUL873//c31xu8vhcHgstm+++QaAZ555xmPXBHjooYdSlfXo0YOzZ88ye/ZsV9mUKVPw9/enY8eOAOzdu5dffvmFTp06AZCUlOTa2rRpQ1xcXKpB1SLiGUpuRCTDpk6dyoYNG1i6dClPPfUUO3fu5LHHHktRp0yZMsDlLqu0XHotMjIyw+dcz59//om3tzclSpTI9DXSEhERkaqsRo0a3Hbbba6uKafTyX//+1/at29P4cKFgcvjkF588UV8fX1TbH369AHg+PHjHo1VRCzqlhKRDKtWrZprEHGzZs1wOp1MnDiRuXPn8vDDD7vKfXx8+PLLL+ndu3ea17k0kPiee+5xnePr63vNc66nWLFiOJ1Ojh49mmZCcom/vz/nz59PVZ7e3DvptS51796dPn36sHPnTvbt20dcXBzdu3d3vV60aFEABg8ezIMPPpjmNapWrZpunCKSeWq5EZFMe/vttylUqBCvvvqqa4K9EiVK0KNHDxYvXpyi2+aS3bt389Zbb1GjRg3XAOISJUrQq1cvFi9ezNSpU9N8r19//TXFU0hXa926NWA9sXQt5cqVS3WdpUuXcvr06Wued7XHHnuMgIAAYmJiiImJoVSpUrRo0cL1etWqValcuTI//vgjUVFRaW4FChRw6z1FJGPUciMimVaoUCEGDx7MwIEDmTFjBo8//jgAo0aNYteuXTz++OOsXLmS++67D39/f77//nveffddChQowBdffIG3t7frWqNGjWLfvn1069aNxYsX88ADD1C8eHGOHz9ObGwsU6ZMYdasWek+Dt6kSRM6d+7Ma6+9xh9//MG9996Lv78/W7ZsISgoiOeeew6Azp078+9//5tXX32Vpk2bsmPHDj7++GPXwOCMKliwIA888AAxMTGcPHmSF198MdXg4AkTJtC6dWtatmxJt27dKFWqFH/99Rc7d+5k8+bNfP755269p4hkkN0T7YhIzpfeJH7GGHP27FlTpkwZU7ly5RST8l24cMGMGTPG1K9f34SEhBh/f39TtWpVM3DgQHP8+PE03ycpKcl89tln5q677jKFCxc2Pj4+plixYqZ169ZmxowZxul0XjNOp9Np3n//fXPzzTcbPz8/ExYWZho2bGi++uorV53z58+bgQMHmsjISBMYGGiaNm1qtm7dasqWLWu6du2aoc98yZIlSwxgALN79+406/z444+mQ4cOJjw83Pj6+poSJUqYu+66y4wfP/6an0VEMs9hjDH2plciIiIinqMxNyIiIpKnKLkRERGRPEXJjYiIiOQpSm5EREQkT1FyIyIiInmKkhsRERHJU/LdJH7JyckcOXKEAgUKeHTRPhEREck6xhhOnTpFyZIlU02YebV8l9wcOXLEtVifiIiI5C6HDx+mdOnS16yT75KbS2u5HD58mNDQUJujERERkYxISEggMjIyQ2uy5bvk5lJXVGhoqJIbERGRXCYjQ0o0oFhERETyFCU3IiIikqcouREREZE8RcmNiIiI5ClKbkRERCRPUXIjIiIieYqSGxEREclTlNyIiIhInqLkRkRERPIUJTciIiKSp9ia3KxcuZL77ruPkiVL4nA4+PLLL697zooVK6hbty4BAQFUqFCB8ePHZ32gIiIikmvYmtycOXOGW2+9lY8//jhD9ffv30+bNm1o0qQJW7Zs4ZVXXqFv37588cUXWRypiIiI5Ba2LpzZunVrWrduneH648ePp0yZMowePRqAatWqsXHjRt59910eeuihLIpSspQx4Ey8fOwVAF7e1n7yRUi+kP65Xv7g5ZOJukmQfP4adf3AyzcTdZ2QfC79ug5f8PZzv65JBudZD9X1AW//f+pede9vqK43eAdcPk4645m6eIFPYCbrJgImvSDAJyiTdc8CyemH4ROcubrOc2CcnqnrHQSXFhd0ngeT5KG6geD4529i5wUwFz1T98r/792pq98R1n5O/B1x5c+rDXLVquDr1q2jRYsWKcpatmzJpEmTuHjxIr6+vqnOOX/+POfPX/7BS0hIyPI4JYOMgdjb4fjay2V3L4Pid1r7ez+Bjc+mf37T/4NSba39A9Ph++7p1719DpR5xNr/bT6s7pB+3QZToEI3az9uMay4N/26UR9DlWes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imt069aN+++/n3fffZeIiAiKFCnCM888w8WLF111jh07xn333UdgYCDly5dn+vTpqWI5dOgQ7du3JyQkhNDQUDp06MAff/zhev1Sd8zkyZMpU6YMISEhPP300zidTt5++21KlChBeHg4r7/++nU/t4+PDyVKlKBUqVLce++99O3blyVLlnD27FlXV9L//d//Ub16dfz9/Tl48CAXLlxg4MCBlCpViuDgYOrXr8/y5ctTXDcmJoYyZcoQFBTEAw88wIkTJ1K8nlaX0uTJk6lRowb+/v5ERETw7LPPAla3HcADDzyAw+FwHV99jeTkZEaMGEHp0qXx9/enVq1aLFq0yPX6gQMHcDgczJs3j2bNmhEUFMStt97KunXrrnufPEEtN1ksKQmWLYN77rGOK1SAX38Ff3974xKRvOnMNZ5r8PaGKxdavlZdLy9rPOD16gYHuxff1fbt28eiRYtSrJeUnJxM6dKlmTNnDkWLFmXt2rU8+eSTRERE0KFDB1e9ZcuWERERwbJly9i7dy/R0dHUqlWLJ554ArASoMOHD7N06VL8/Pzo27cvx44dc51vjOH+++8nODiYFStWkJSURJ8+fYiOjk6RQPz666988803LFq0iF9//ZWHH36Y/fv3U6VKFVasWMHatWvp0aMHd999Nw0aNMjwZw8MDCQ5OZmkpCQAEhMTGTlyJBMnTqRIkSKEh4fTvXt3Dhw4wKxZsyhZsiTz58+nVatWbNu2jcqVK/PDDz/Qo0cP3njjDR588EEWLVrE0KFDr/m+48aNY8CAAbz55pu0bt2a+Ph41qxZA8CGDRsIDw9nypQptGrVCm9v7zSv8cEHH/Dee+8xYcIEateuzeTJk2nXrh3bt2+ncuXKrnpDhgzh3XffpXLlygwZMoTHHnuMvXv34uOTxemHyWfi4+MNYOLj4z174YunjZmOtV08bYwx5vBhY5o0McbhMGbxYs++nYjkX2fPnjU7duwwZ8+eTfWatdxu2lubNinrBgWlX7dp05R1ixZNu567unbtary9vU1wcLAJCAgwgAHMqFGjrnlenz59zEMPPZTiOmXLljVJSUmuskceecRER0cbY4zZtWuXAcz333/ven3nzp0GMO+//74xxpglS5YYb29vc+jQIVed7du3G8CsX7/eGGPM0KFDTVBQkElISHDVadmypSlXrpxxOp2usqpVq5qRI0emG//QoUPNrbfemiKWSpUqmXr16hljjJkyZYoBzNatW1119u7daxwOh/n9999TXOvuu+82gwcPNsYY89hjj5lWrVqleD06OtqEhYWl+94lS5Y0Q4YMSTdWwMyfP/+a8ZcsWdK8/vrrKercdtttpk+fPsYYY/bv328AM3HiRNfrl+7tzp07033va/1su/P9bXu31NixYylfvjwBAQGu1V2vZcWKFdStW5eAgAAqVKjA+PHjsylS9yxcaD0NtWoVhIRc+y8kEZH8pFmzZmzdupUffviB5557jpYtW/Lcc8+lqDN+/HiioqIoVqwYISEhfPrppxw6dChFnRo1aqRoWYiIiHC1zOzcuRMfHx+ioqJcr990000pniLauXMnkZGRREZGusqqV69OwYIF2blzp6usXLlyFChQwHVcvHhxqlevnmI8TPHixVO0CqVl27ZthISEEBgYSPXq1YmMjEzRVebn50fNmjVdx5s3b8YYQ5UqVVxjXkJCQlixYgW//vqr6zM0bNgwxftcfXylY8eOceTIEe6+++5rxnotCQkJHDlyhMaNG6cob9y4cYr7BqT4PBEREa4Yspqt3VKzZ8+mX79+jB07lsaNGzNhwgRat27Njh07KFOmTKr6+/fvp02bNjzxxBP897//Zc2aNfTp04dixYrx0EMP2fAJUruY5MOQQb688551XKcOzJ5trRElIpLVTp9O/7Wrexiu9R1z9TjWAwcyHVIqwcHBVPrnl+KHH35Is2bNGD58OP/5z38AmDNnDv379+e9996jYcOGFChQgHfeeYcffvghxXWu7MoC6ymf5ORkwOpyulSWHmNMmq9fXZ7W+1zrvdNTtWpVFixYgLe3NyVLlsT/qvEJgYGBKd43OTkZb29vNm3alKp76NLg3kufM6MCr+xrvEFX37u07ueV9+nSa9e7T55ga3IzatQoevbsSa9evQAYPXo0ixcvZty4cYwcOTJV/fHjx1OmTBnXHAXVqlVj48aNvPvuuzkiuTn4Zxke/XgW3+/1A+C55+CddzS+RkSyjztjYLKqrruGDh1K69atefrppylZsiSrVq2iUaNG9OnTx1XnUktFRlWrVo2kpCQ2btxIvXr1ANi1axcnT5501alevTqHDh3i8OHDrtabHTt2EB8fT7Vq1W78g13Fz8/PldRlRO3atXE6nRw7dowmTZqkWad69ep8//33KcquPr5SgQIFKFeuHN999x3NmjVLs46vry9OZ/oPxoSGhlKyZElWr17NHXfc4Spfu3at617bzbZuqQsXLrBp0yZatGiRorxFixasXbs2zXPWrVuXqn7Lli3ZuHFjihHyVzp//jwJCQkptqyy8pc7+H5vQ8LCDF98YT3yrcRGROTa7rzzTmrUqMEbb7wBQKVKldi4cSOLFy9m9+7d/Pvf/2bDhg1uXbNq1aq0atWKJ554gh9++IFNmzbRq1evFC0XzZs3p2bNmnTq1InNmzezfv16unTpQtOmTVN0Z9mlSpUqdOrUiS5dujBv3jz279/Phg0beOutt1i4cCEAffv2ZdGiRbz99tvs3r2bjz/+OMVTS2kZNmwY7733Hh9++CF79uxh8+bNfPTRR67XLyU/R48eTXf+oZdeeom33nqL2bNns2vXLgYNGsTWrVt5/vnnPXcDboBtyc3x48dxOp0UL148RXnx4sU5evRomuccPXo0zfpJSUkcP348zXNGjhxJWFiYa7uyb9WjfILpPG4ab7wBW7Y4ePDBrHkbEZG8aMCAAXz66accPnyY3r178+CDDxIdHU39+vU5ceJEilacjJoyZQqRkZE0bdqUBx98kCeffJLw8HDX65cmqytUqBB33HEHzZs3p0KFCsyePduTH+2GTJkyhS5duvDCCy9QtWpV2rVrxw8//OD6LmvQoAETJ07ko48+olatWixZsoR//etf17xm165dGT16NGPHjqVGjRrce++97Nmzx/X6e++9R2xsLJGRkdSuXTvNa/Tt25cXXniBF154gVtuuYVFixaxYMGCFE9K2clh3O2w85AjR45QqlQp1q5dm2Lw0+uvv860adP45ZdfUp1TpUoVunfvzuDBg11la9as4fbbbycuLo4SJUqkOuf8+fOcv7QiJdZAqMjISOLj4wkNDfXwpxIRyXrnzp1j//79rocxRPKKa/1sJyQkEBYWlqHvb9vG3BQtWhRvb+9UrTTHjh1L1TpzSYkSJdKs7+PjQ5EiRdI8x9/fP9WgLREREcm7bOuW8vPzo27dusReWhL7H7GxsTRq1CjNcxo2bJiq/pIlS4iKiko1cl1ERETyJ1vnuRkwYAATJ05k8uTJ7Ny5k/79+3Po0CF69+4NwODBg+nSpYurfu/evTl48CADBgxg586dTJ48mUmTJvHiiy/a9RFEREQk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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": 119, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9897780373831776" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics.roc_auc_score(y_test, y_pred_probabilities)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12.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": 120, "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": 121, "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": 122, "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": [ "## 12.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": 123, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(1797, 8, 8)" ] }, "execution_count": 123, "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": 124, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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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": 125, "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": 126, "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": 127, "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": 128, "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": 129, "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": 130, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.9466666666666667" ] }, "execution_count": 130, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import accuracy_score\n", "accuracy_score(ytest, ypred)" ] }, { "cell_type": "code", "execution_count": 131, "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": 132, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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FRYWKi8vT7/61a/01ltvacqUKfL7/Ro/frzreWZMnz5dVVVV6tmzpyIiIlRfX6/8/HzdcMMNrqc50apjddS3317E87yTfsuRs1VOTo7eeecdbdy40fUUc8rLy5Wbm6s1a9YoKirK9RyzGhoalJGRoQULFkiS+vbtq127dqmwsJBYfcPKlSv13HPPafny5UpNTVVpaammTp2qLl266Oabb3Y977Rr1bE699xzFREREXYVVVlZGXa1BWny5MlatWqV1q9f3+JvzXI2KC4uVmVlpdLT04PH6uvrtX79ei1evFiBQEAREREOF9qQmJioiy++OORYSkqKXnzxRUeLbLrnnns0Y8YMjR07VpLUq1cvffzxxyooKGiVsWrVv7OKjIxUenq61q5dG3J87dq1GjBggKNV9niep5ycHP3lL3/R66+/ruTkZNeTTBo+fLh27typ0tLS4C0jI0M33nijSktLCdX/DBw4MOyfPuzZs0fdunVztMimr776KuzNCCMiIlrtU9db9ZWVJOXl5emmm25SRkaGMjMzVVRUpH379mnixImup5mRnZ2t5cuX6+WXX1ZMTEzwSjQuLk7R0dGO19kRExMT9nu89u3bq3Pnzvx+7xvuvvtuDRgwQAsWLNDPf/5zvfXWWyoqKlJRUZHraaZcc801ys/PV9euXZWamqqSkhItXLhQEyZMcD3NDQ/e73//e69bt25eZGSk169fP2/dunWuJ5kiqdHbsmXLXE8zb+jQoV5ubq7rGeb87W9/89LS0jy/3+/17NnTKyoqcj3JnOrqai83N9fr2rWrFxUV5fXo0cObNWuWFwgEXE9zotX/OysAgH2t+ndWAIAzA7ECAJhHrAAA5hErAIB5xAoAYB6xAgCYR6wAAOYRKwCAecQKMKR79+4hb9To8/n017/+9bTvuP/++9WnT5/T/ucCTSFWgGEVFRW68sorm3UugcHZrNW/kC3Q0o4cOaLIyMgW+V7nnXdei3wf4EzHlRVwDJdffrlycnKUk5Ojjh07qnPnzpo9e7aOvqxm9+7dNX/+fN1yyy2Ki4vTHXfcIUnatGmThgwZoujoaCUlJWnKlCn68ssvg9+3srJS11xzjaKjo5WcnKznn38+7M/+9sOA//73vzV27Fh16tRJ7du3V0ZGhrZu3aqnn35av/71r7Vjxw75fD75fD49/fTTkqSqqirdeeedio+PV2xsrH7yk59ox44dIX/OAw88oISEBMXExOi2225TbW1tC9+LwMkhVkAzPPPMM2rbtq22bt2q3/3ud3rkkUf05JNPBj//0EMPKS0tTcXFxZozZ4527typkSNH6tprr9U777yjlStXauPGjcrJyQl+zS233KKPPvpIr7/+uv785z9ryZIlqqysbHJDTU2Nhg4dqgMHDmjVqlXasWOH7r33XjU0NGjMmDH65S9/qdTUVFVUVKiiokJjxoyR53kaNWqUDh48qNWrV6u4uFj9+vXT8OHD9dlnn0mS/vSnP2nu3LnKz8/X9u3blZiYqCVLlpy6OxM4EW5f9B2wb+jQoV5KSorX0NAQPDZ9+nQvJSXF8zzP69atmzd69OiQr7npppu8O++8M+TYhg0bvDZt2niHDx/2ysrKPEneli1bgp/fvXu3J8l75JFHgsckeS+99JLneZ73xBNPeDExMd6nn37a6M65c+d6l1xyScix1157zYuNjfVqa2tDjl9wwQXeE0884Xme52VmZnoTJ04M+fxll10W9r0Al7iyAprhxz/+sXw+X/DjzMxMvffee6qvr5ckZWRkhJxfXFysp59+Wh06dAjeRo4cqYaGBn344YfavXu32rZtG/J1PXv2VMeOHZvcUFpaqr59+6pTp07N3l1cXKyamhp17tw5ZMuHH36oDz74QJK0e/duZWZmhnzdtz8GXOMJFkALaN++fcjHDQ0NuuuuuzRlypSwc7t27Rp8W/dvBvBYTuRdmRsaGpSYmKg33ngj7HPfFUbAGmIFNMOWLVvCPr7wwgsVERHR6Pn9+vXTrl279MMf/rDRz6ekpKiurk7bt2/XpZdeKkkqKyvTF1980eSG3r1768knn9Rnn33W6NVVZGRk8ErvmzsOHjyotm3bqnv37k1u2bJli8aPHx/y3wdYwsOAQDOUl5crLy9PZWVlWrFihR577DHl5uY2ef706dO1efNmZWdnq7S0VO+9955WrVqlyZMnS5IuuugiXXHFFbrjjju0detWFRcX6/bbb//Oq6cbbrhB5513nkaPHq0333xTe/fu1YsvvqjNmzdL+u+zEj/88EOVlpbqk08+USAQ0IgRI5SZmanRo0fr1Vdf1UcffaRNmzZp9uzZ2r59uyQpNzdXTz31lJ566int2bNHc+fO1a5du1rw3gNOHrECmmH8+PE6fPiwLr30UmVnZ2vy5Mm68847mzy/d+/eWrdund577z0NHjxYffv21Zw5c5SYmBg8Z9myZUpKStLQoUN17bXXBp9e3pTIyEitWbNG8fHxuuqqq9SrVy898MADwau76667TldccYWGDRum73//+1qxYoV8Pp9Wr16tIUOGaMKECfrRj36ksWPH6qOPPlJCQoIkacyYMbrvvvs0ffp0paen6+OPP9YvfvGLFrrngJbh87z//WMRAI26/PLL1adPn5CXQQJwenFlBQAwj1gBAMzjYUAAgHlcWQEAzCNWAADziBUAwDxiBQAwj1gBAMwjVgAA84gVAMA8YgUAMO//AQr8clvHV8TrAAAAAElFTkSuQmCC", "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": 133, "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.13.5" } }, "nbformat": 4, "nbformat_minor": 4 }