Skip to content

Instantly share code, notes, and snippets.

@mattbullen
Created October 16, 2025 11:48
Show Gist options
  • Select an option

  • Save mattbullen/7abe0874f161d4aeaf81ca542f5629ad to your computer and use it in GitHub Desktop.

Select an option

Save mattbullen/7abe0874f161d4aeaf81ca542f5629ad to your computer and use it in GitHub Desktop.
unit03-ex4-polynomial_regression.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/mattbullen/7abe0874f161d4aeaf81ca542f5629ad/unit03-ex4-polynomial_regression.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-suVoMH_j62E"
},
"source": [
"18 cars passing a certain tollboth at different time of the day (x) with different speed (y)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "AXXn8-2Uj62F",
"outputId": "a927111f-de4b-4b6c-cd7c-e12d9f86353d"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy\n",
"import matplotlib.pyplot as plt\n",
"\n",
"x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]\n",
"y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]\n",
"\n",
"#NumPy has a method that lets us make a polynomial model\n",
"mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))\n",
"\n",
"#specify how the line will display, we start at position 1, and end at position 22\n",
"myline = numpy.linspace(1, 22, 100)\n",
"\n",
"plt.scatter(x, y)\n",
"plt.plot(myline, mymodel(myline))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FZeCNgQ1j62F"
},
"source": [
"It is important to know how well the relationship between the values of the x- and y-axis is, if there are no relationship the polynomial regression can not be used to predict anything.\n",
"\n",
"The relationship is measured with a value called the r-squared.\n",
"\n",
"The r-squared value ranges from 0 to 1, where 0 means no relationship, and 1 means 100% related"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "DeLW9pCZj62F",
"outputId": "488c121f-e5d4-43bf-8bb0-9640630422f1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.9432150416451027\n"
]
}
],
"source": [
"import numpy\n",
"from sklearn.metrics import r2_score\n",
"\n",
"x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]\n",
"y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]\n",
"\n",
"mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))\n",
"\n",
"print(r2_score(y, mymodel(x)))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GCbJ7LNMj62G"
},
"source": [
"## Predict Future Values"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_si37PeYj62G"
},
"source": [
"Let us try to predict the speed of a car that passes the tollbooth at around 17 P.M"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "V6uTxA0dj62G",
"outputId": "673ddecd-5e53-44d7-deca-2cce920b4da9",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"88.87331269698001\n"
]
}
],
"source": [
"import numpy\n",
"from sklearn.metrics import r2_score\n",
"\n",
"x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]\n",
"y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]\n",
"\n",
"mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))\n",
"\n",
"speed = mymodel(17)\n",
"print(speed)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "mgMUIv2kj62G"
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.6"
},
"colab": {
"provenance": [],
"include_colab_link": true
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment