{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Activity 4 - Linear Regression\n", "\n", "In this example, we see how a system can perform regression analysis. Regression is very much a statistical approach for learning, such that we can learn what the output Y should be when we know x. We use the linear regression equations (see link for more details), to identify the slope / gradient of the line, and the y-intercept. We can then express a line that generalises our data in the form Y = mx + c." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def generate_data():\n", " ### we will generate data that looks like y = mx + c with some random added noise\n", " c = 3\n", " m = 0.7\n", " noise = 20\n", " data = []\n", " for i in range(100):\n", " x = np.random.random() * 50\n", " y = (m * x + c) + ( np.random.random() * noise + noise/2)\n", " data.append([x,y])\n", " data = np.array(data)\n", " return data\n", "data = generate_data()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(data[:,0], data[:,1], color='k')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Let's create some useful variables that we will work with\n", "N = data.shape[0]\n", "X = data[:,0]\n", "Y = data[:,1]\n", "XY = X * Y\n", "X2 = X ** 2\n", "Y2 = Y ** 2" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "23.971305135783272 0.69691578146255\n" ] } ], "source": [ "#### http://www.statisticshowto.com/how-to-find-a-linear-regression-equation/\n", "c = ((np.sum(Y) * np.sum(X2)) - (np.sum(X) * np.sum(XY))) / (N * np.sum(X2) - np.sum(X) ** 2)\n", "m = ((N * np.sum(XY)) - (np.sum(X) * np.sum(Y))) / (N * np.sum(X2) - np.sum(X) ** 2)\n", "print (c, m)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x_1 = 0\n", "x_2 = 50\n", "Y1 = (m * x_1) + c\n", "Y2 = (m * x_2) + c\n", "plt.scatter(data[:,0], data[:,1], color='k')\n", "plt.plot([x_1, x_2], [Y1, Y2])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "some_new_data = np.array([13,26,35,43])\n", "\n", "output_predictions = (m * some_new_data) + c \n", "output_predictions\n", "\n", "plt.scatter(data[:,0], data[:,1], color='k', alpha=0.2)\n", "plt.scatter(some_new_data, output_predictions, color='red')\n", "#plt.plot([x_1, x_2], [Y1, Y2])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }