diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-23 19:11:47 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-23 19:11:47 +0100 |
| commit | 8902768c980aec4d2c0ae63cecfb5de24bb573f6 (patch) | |
| tree | 6989d0b2a10e3b032a4e88ac1ae2c210f75b8f2c /ft_linear_regression_notebook.ipynb | |
| parent | b21e6642c591962974212be2dbc965793df6bd06 (diff) | |
| download | ft_linear_regression-8902768c980aec4d2c0ae63cecfb5de24bb573f6.tar.gz ft_linear_regression-8902768c980aec4d2c0ae63cecfb5de24bb573f6.tar.bz2 ft_linear_regression-8902768c980aec4d2c0ae63cecfb5de24bb573f6.zip | |
Normalized x prediction to actualy predict something
Diffstat (limited to 'ft_linear_regression_notebook.ipynb')
| -rw-r--r-- | ft_linear_regression_notebook.ipynb | 128 |
1 files changed, 68 insertions, 60 deletions
diff --git a/ft_linear_regression_notebook.ipynb b/ft_linear_regression_notebook.ipynb index 5f14eea..db15b4f 100644 --- a/ft_linear_regression_notebook.ipynb +++ b/ft_linear_regression_notebook.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -19,14 +19,14 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "data = np.genfromtxt('../data.csv', delimiter=',')[1:]\n", + "data = np.genfromtxt('./data.csv', delimiter=',')[1:]\n", "km = data[:, 0]\n", "price = data[:, 1]" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -64,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -107,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -161,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -173,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -187,7 +187,6 @@ "source": [ "xs = km\n", "ys = price\n", - "\n", "print(error_function(xs, ys, theta1, theta0))" ] }, @@ -243,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -262,7 +261,7 @@ " next_theta0 = theta0 - alpha * theta0_partial(xs, ys, theta1, theta0)\n", " theta1 = next_theta1\n", " theta0 = next_theta0\n", - " return theta1, theta0\n" + " return theta1, theta0" ] }, { @@ -284,27 +283,10 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 32, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1. 0.53846366 0.58774948 0.74910295 0.70520633 0.42330989\n", - " 0.66282974 0.30447119 0.56011257 0.28144044 0.27236171 0.18498763\n", - " 0.23537893 0.34362347 0.20313587 0.24470638 0.11670144 0.3228958\n", - " 0.17526405 0.19702811 0.1432559 0.21004509 0. 0.17913321]\n", - "[240000. 139800. 150500. 185530. 176000. 114800. 166800. 89000. 144500.\n", - " 84000. 82029. 63060. 74000. 97500. 67000. 76025. 48235. 93000.\n", - " 60949. 65674. 54000. 68500. 22899. 61789.]\n" - ] - } - ], + "outputs": [], "source": [ - "#from sklearn.preprocessing import normalize\n", - "#X, Y = normalize([xs, ys])\n", - "\n", "def normalize(x):\n", " return (x - x.min()) / (x.max() - x.min())\n", "\n", @@ -312,20 +294,17 @@ " return x * (x_ref.max() - x_ref.min()) + x_ref.min()\n", "\n", "X = normalize(xs)\n", - "Y = normalize(ys)\n", - "\n", - "print(X)\n", - "print(denormalize(X, xs))" + "Y = ys" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 33, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -337,7 +316,7 @@ } ], "source": [ - "theta1, theta0 = np.random.random(2)\n", + "theta1, theta0 = 0, 0\n", "\n", "line_xs = [X.min(), X.max()]\n", "line_ys = [h(x, theta1, theta0) for x in line_xs]\n", @@ -349,14 +328,14 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "error before: 0.06228371667961022\n" + "error before: 20880519.291666664\n" ] } ], @@ -366,15 +345,15 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-1.0035757423970153 0.9393189294497459\n", - "error after: 0.010349594165039607\n" + "-4656.591444722055 8008.439832646783\n", + "error after: 222822.6225356367\n" ] } ], @@ -390,12 +369,12 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 36, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -416,35 +395,64 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that our model is trained, if we want to make a prediction, we have to normalize the prediction the same way that we normalized our trainning data." + ] + }, + { "cell_type": "code", - "execution_count": 33, + "execution_count": 37, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "-1.0035757423970153 0.9393189294497459\n", - "-50177.847800921314\n" - ] + "data": { + "text/plain": [ + "7427.151470348072" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "#t1 = theta1 * (xs.max() - xs.min()) + xs.min()\n", - "#t0 = theta0 * (xs.max() - xs.min()) + xs.min()\n", - "\n", - "#print(t1, t0)\n", - "\n", - "t1 = denormalize(theta1, )\n", - "print(h(50_000, theta1, theta0))" + "predict = 50_000\n", + "predict = (predict - xs.min()) / (xs.max() - xs.min())\n", + "h(predict, theta1, theta0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we plot this point with the original data. We can see that the prediction seems correct." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "metadata": {}, - "outputs": [], - "source": [] + "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": [ + "plt.scatter(km, price)\n", + "plt.scatter([50_000], h(predict, theta1, theta0), color='r')\n", + "plt.show()" + ] } ], "metadata": { |
