{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.,\n", " 13., 14., 15., 16., 17., 18., 19., 20.])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.arange(0.0, 21.0, 1.0)\n", "x" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "m, c = 5.0, 10.0" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 7.27789599, 13.4346095 , 17.01236296, 22.5994958 ,\n", " 31.12553181, 33.92652203, 43.92327199, 42.43949886,\n", " 50.9527582 , 54.08260115, 60.43629577, 64.7320538 ,\n", " 73.43535143, 77.38816257, 78.3791766 , 82.03490764,\n", " 88.19020573, 93.89723844, 101.47512203, 107.96066546,\n", " 107.18274193])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = (m * x + c) + np.random.normal(0.0, 2.0, len(x))\n", "y" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "103.22132467692614" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "((y - m*x - c)**2).sum()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(x, y, 'k.')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Import packages.\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "x = np.arange(0.0, 10.1, 0.5)\n", "y = 5.0 * x + 2.0\n", "\n", "# Import linear_model from sklearn.\n", "import sklearn.linear_model as lm\n", "\n", "# Create a linear regression model instance.\n", "m = lm.LinearRegression()\n", "\n", "# Ask our model to fit the data.\n", "m.fit(x.reshape(-1, 1), y)\n", "\n", "# See how good our fit is.\n", "m.score(x.reshape(-1, 1), y)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }