{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Process STDOUT and STDERR is being redirected to /tmp/raylogs/.\n", "Waiting for redis server at 127.0.0.1:35043 to respond...\n", "Waiting for redis server at 127.0.0.1:49923 to respond...\n", "Starting local scheduler with the following resources: {'CPU': 4, 'GPU': 0}.\n", "\n", "======================================================================\n", "View the web UI at http://localhost:8889/notebooks/ray_ui93764.ipynb?token=23507892afd3d95e7604e7cd889b30382368ed888e79fc8c\n", "======================================================================\n", "\n" ] } ], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import modin.pandas as pd\n", "import matplotlib.pyplot as plt\n", "import sklearn" ] }, { "cell_type": "code", "execution_count": 2, "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", "
Unnamed: 0CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTATPRICE
000.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.9824.0
110.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.1421.6
220.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.0334.7
330.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.9433.4
440.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.3336.2
\n", "
" ], "text/plain": [ " Unnamed: 0 CRIM ZN INDUS CHAS NOX RM AGE DIS RAD \\\n", "0 0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 \n", "1 1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 \n", "2 2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 \n", "3 3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 \n", "4 4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 \n", "\n", " TAX PTRATIO B LSTAT PRICE \n", "0 296.0 15.3 396.90 4.98 24.0 \n", "1 242.0 17.8 396.90 9.14 21.6 \n", "2 242.0 17.8 392.83 4.03 34.7 \n", "3 222.0 18.7 394.63 2.94 33.4 \n", "4 222.0 18.7 396.90 5.33 36.2 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.read_csv(\"data/boston_housing.csv\")\n", "\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "modin.pandas.dataframe.DataFrame" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "features = data.drop(\"PRICE\", axis=1)\n", "labels = data[\"PRICE\"]\n", "\n", "type(features)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "lm = LinearRegression()\n", "lm.fit(features, labels)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(data[\"RM\"], labels)\n", "plt.xlabel(\"Average number of rooms per dwelling\")\n", "plt.ylabel(\"Housing Price\")\n", "plt.title(\"Relationship between Rooms and Price\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "predicted_prices = lm.predict(features)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztnXucXHV999/f3QxkF5ANECgshKDwhIpIIlFi01ZJK1G5uAXlUrDYaqm9IYjR4ItHYh8o0VRR+/RGRYuFQgLBCKJGXhK0xodLQhIwEl5V7itKkKxCdiGb3e/zx5yzOTt7zpkzs3NmZmc+79drXzvnzLl85+zs7/v7fa/m7gghhGhfOhotgBBCiMYiRSCEEG2OFIEQQrQ5UgRCCNHmSBEIIUSbI0UghBBtjhSBGMPMvm1mFzZajnbEzO41sw8Fr883s+/W4Z6zzczNbFqNrqfvzxRFiqCFMbMnzWzIzF42s1+a2X+Y2b5Jx7v7u9z9hnrKOFUws2VmNhw8ywEz+5GZvTWPe7n7Te5+SkaZbsxDhuD6+v60CVIErc/p7r4v8CZgPnBF6QFWZEp+F+os+8rgWc4EfgjcbmYWI1NNZthNQkt/f0QR/fHaBHfvB74NvAHGTBFXm9l6YBB4bdQ8ERzz52b2qJm9ZGY/MbM3BfsPM7PVZrbdzJ4ws4sj57zFzDaY2W+CWeTn4+QJrntaZHtacL3wHguCWfeAmW0xs7dHjo2T/QNm9ngg6xNmdn5w7LhZc6k5JOm8Ms9yGLgB+C3gwOAa683sWjP7FbAsuPafBZ9zh5mtNbMjI3K8w8y2mdmvzez/AhZ57wNm9sPI9nFmdreZvRg800+a2TuBTwLnBDP2LcGx+5vZ9Wb2nJn1m9lVZtYZvNdpZv9gZi+Y2ePAqeU+a+QzN9X3R9QYd9dPi/4ATwJ/GLw+AtgK/J9g+17gaeA4YBpQCPZ9KHj/fUA/8GaKg9TRwJEUJw8bgU8BewGvBR4HFgfn/T/g/cHrfYEFCbJ9Crgpsn0q8Gjwuhf4FfDu4H7vCLZnJsi+P/AbYE7w/qHAccHrZcCNkfvMBjw4b5+k82LkHbsOsDewAng62P4AsBv42+C6XcB7gJ8Cvx3suwL4UXD8QcBLwHuD535pcP6HItf7YfB6P+A54DJgerB9UtxnC/Z9Hfi34LMdDDwA/EXw3oeBbcF34QBgXfgsptr3Rz+1/dGKoPVZY2YDFE0Z3wf+PvLef7j7Vnff7cVZbpQPAZ919we9yE/d/SmK/9gz3f3v3H2Xuz8O/DtwbnDeMHC0mR3k7i+7+30Jcv0XcIaZdQfbfwzcHLy+APiWu3/L3Ufd/W5gA0XFMEF2ioPoKPAGM+ty9+fcfWvG51PJeWcHz/IZ4ETgjyLv/dzd/zF4lkMUB91r3P3RQMa/B+YGq4J3A1vd/bbguX8B+EXCPU8DfuHun3P3V9z9JXe/P+5AMzskuPYl7r7T3Z8HrmXP3+Zs4Avu/oy7vwhcU/bpNO/3R9QQKYLWp8/de9z9SHf/q2CQCnkm5bwjgJ/F7D8SOCww2QwEg8QngUOC9z8I/C9gm5k9GDX/RHH3nwKPAqcHyuAMisohvMf7Su7xuxRn7BNkd/edwDkUB9/nzOwuMzs25bNVe96q4Fke7O6L3H1jnDyRz/DFiPwvUpwZ9wKHlcjvMeeHJP0d4jiS4sz8uch9/43iyoDS+wJPZbhmU35/RG1pJaeWqJy00rPPAK9L2P+Eux8Te0H3/wHOs6Lz8EzgNjM7MBh0S7kZOI/ihOQngXII7/Gf7v7nWWV397XAWjPrAq6iOMv8PWAn0B059Lcynlcppc/yGeBqd7+p9EAzO4biQBluW3Q75jrnJrwXd89XgYOCVUgpz5XcZ1bCdbPS6O+PqBFaEYgkvgx8zMxOtCJHB2aNB4CXzOwTZtYVOCDfYGZvBjCzC8xspruPAgPBtUYT7nELcArwl+xZDQDcSHGlsDi4/nQze7uZHR53ETM7xMzeY2b7UBwIX47cczPw+2Y2y8z2By7PeN5k+VfgcjM7LrjX/mb2vuC9u4DjzOxMKzqtL6ZEQUX4JnComV1iZnub2X5mdlLw3i+B2cGgibs/B3wX+JyZvcbMOszsdWb2tuD4VcDFZna4mc0Altbos8ZRj++PqBFSBCIWd78VuJriAP0SsAY4wN1HKNqt5wJPAC9Q/KffPzj1ncBWM3sZ+CJwbok5IXqP5yg6B38HWBnZ/wxFZ+snge0UZ5FLSP6+dgAfBX5O0QTzNorKhcC/sBJ4mKKT8ptZzpss7v514DPALWb2G+DHwLuC916g6ExdTtEJfgywPuE6L1F0lp9O0Y/wP8DJwdu3Br9/ZWYPBa//hKIT9ifADuA29pjU/h1YC2wBHgJur8FHjaUe3x9RO6xonhRCCNGuaEUghBBtjhSBEEK0OVIEQgjR5kgRCCFEmzMl8ggOOuggnz17dqPFEEKIKcXGjRtfcPeZ5Y6bEopg9uzZbNiwodFiCCHElMLMsmSPyzQkhBDtjhSBEEK0OVIEQgjR5kgRCCFEmyNFIIQQbc6UiBoSQoh2Ys2mflasfYyfDwxxWE8XSxbPoW9eb273kyIQQogmYs2mfi6//RGGhkcA6B8Y4vLbHwHITRnINCSEEE3EirWPjSmBkKHhEVasfSy3e0oRCCFEE/Hzgfj2C0n7a4EUgRBCNBGH9XRVtL8WSBEIIUQTsWTxHAqdNm5fodNYsnhObveUIhBCiCZjZMRTt2uNFIEQQjQRy+7YymjJvtFgf15IEQghRBMxMDRc0f5aIEUghBBtjhLKhBCiTmTJGJ7RXWDH4MTZ/4zuQm5yaUUghBB1IMwY7h8YwtmTMbxmU/+4405946Gx5yftrwVSBEIIUQeyZgyv27Y99vyk/bVAikAIIepA1oxhZRYLIUSLkjVjWJnFQgjRoixZPIeuQueE/YO7do/zEyxZPIdCR0lmcYcyi4UQYsrTN6+Xa848np6u8dE/OwaHJziNd4+OzyQu3a41UgRCCFEn+ub1ss/eE6P2o07jT97+MKXDvgf78yL3PAIz6wQ2AP3ufpqZHQXcAhwIbATe7+678pZDCCEmQ626hpVzBg8OlxaYIHV/LajHiuAjwKOR7c8A17r70cAO4IN1kEEIIaomaw5AFhrhDC5HrorAzA4HTgW+HGwbsAi4LTjkBqAvTxmEEGKy1LJrWJzTuKvQOeYMtriTUvbXgrxNQ18APg7sF2wfCAy4++5g+1kgv47MQghRA2oZ2x+ak5LMTF2FjlgzUFchv3l7borAzE4Dnnf3jWb29irOvwi4CGDWrFk1lk4I0U5M1r5/WE8X/TGDfrXmnL55vYn3H0rwBSTtrwV5moYWAmeY2ZMUncOLgC8CPWYWKqDDgVgjm7tf5+7z3X3+zJkzcxRTCNHK1MK+X86cU0taKqHM3S9398PdfTZwLnCPu58PrAPeGxx2IfCNvGQQQohq7ftrNvWzcPk9HLX0LlasfYyzTuylt6cLA3p7urjmzOOrihoqRz2VTkgjylB/ArjFzK4CNgHXN0AGIUSbkNW+HzUf7d9VYOeu3QwHLSL7B4ZYvbE/t8E/SjkfQh7URRG4+73AvcHrx4G31OO+QgiRxb4fmo/ClUNcN7BwFZG3IoB0H0IeKLNYCDHliJptFi6/J9Xen8XUEmc+iiPPCqCNRB3KRFNTq2xOkT/1+luVzt5D5y8Qe78sppasA3wjk77yRIpANC2V/sOLxlHPv1Wa8zfpXqWmlnBFESqG/bsKZZvD5+2wjVLvCZBMQ6JpqWU2p8iXev6tkmbv/QNDmUxFceGkO3ftji39PKO7ULMooazmrFqWs8iKVgSiaWlEpyZRHfX8WyU5f4FxA2dI6cw6TmkNjzgzugt07zUtl1l4JSumalY8k0WKQDQttc7mFPlRz7/VksVzxg2qcQwNj7Dsjq28unt0wuCbdN7A4DCbPnVKzeWFygb3JCWXtL8WyDQkmpZGJNaI6qjn3yps8BImdyUxMDQcO/h2WvxZeU4wKlkxJcmXtL8WaEUgmpZGJNa0ArV0NGa9Vr3/VlHn78Ll91Q0Wx5xp6vQOU5J5D3BqGTFNOLx3ciS9tcCKQLR1NQ7sWYqETdIAzWL3qkmTDPpHnlGwcSZiroKnUwvdLBjcGIkUG/EV1CvCUaSjHHKpzdBafTmuGIxz1HL1Ir58+f7hg0bGi2GEE1D6SANxYFl72kdsWGQvT1drF+6qKJ7pM20eysYPJNkrWW5hixKsV73nawyvGLNI9x439MT9l+wYBZX9R1fkXxmttHd55c7TisCIaYgSc7HJEdoNY7GtIifSlYa9YiCSVuNRAffk4+dyYq1j3Hpys01MZvVasUUZd227RXtrwVSBEJMQaoJy1yzqT9xILpizSPcfP8zjLjTacZ5Jx2RGqYJ2QfzRoYBRwffWie95aXgGvG8FDUkxBQkKcKlIyWwJCm5KzRFhM7IEXduvO9pZh/YNSESqJQsg1Oz9OitddJbXgN2S/UjEEKUp5LiaVGSwjVHU1x+/QNDY/cI7zt76V2x9miA+x7fMRammUSWwalcaGm1z6BSaj1w5zVgL1k8JzbLOc+oJikCIRrEZEoJlMbS9/Z0cdaJvWUbnPcPDLHkti0suXVLWb/BiDt983pZv3QRXzhnbtV5AnGyhg7bepZTqPXAnWvuROkfMs/O9chHIETDKGeqKBdhUup8XLj8HrLEAIbNVrIQ+hWS8gTC+2bJM4jbX89yCpWEcGYhr9yJFWsfm/A3Gh5xlZgQohVJK55WjVMzD2di9L5xFTwn63ytp2M0j4E7jzyXRjiLpQiEaBBJUTmdZqmz5LgIn6v6ji8b5VMNabPzpNn8p+/cmnmwrXc9qamQoNiIGlvyEQjRIJJszEmlBPoHhsacu6URPleseST2eoVOm+h4jNmXRqUz1B2Dw5lt/pXa2evlWG4k7dK8XogpRaXlESZbn2fF2scqntnffP8zY1mncXb8pH1Z7nNYT1fsZ8q6AklbVVRirmmXRkWNqLGlEhNCpFBpeYRalFOIu0YWnlx+akXHZ7lvocPYa1oHO3eNl6Wr0MlZJ/ay8sFnMjmfDXhikvIllbyopnxGu6ASE0LUgCQ7+GWrtgDVNxWJzrD37ypgVqyHH87+rjnz+LH3s0zVwhLFkynuVjoT3b+rwM5duycogfAz3fXwc2QSjtrYt9upUZFaVQrRRCQNMiPuE2zfazb1J5pKotcpjZ0fGBpmx+DwhO5a65cu4tpz5mYKIT/vpCNiY/IvXbmZK9Y8Uvb8kDBv4Inlp7LP3tNSZ/s7BocZjslgK5W3VvbtZslQzptGtKqUIhAihbRBZmh4hEtWbmbh8nu4Ys0j49ojpl0nbtVQet0Vax9jzaZ+Llu1peykO6xKGXddB2667+mqBpFqZ9oOscljk6VdGhU1ole3TENCpJClLWL/wBA33fd04oBdOlhlGWD7B4a4ZOXm1GMMuPacuWODbNJ1HapKRkpzBte65HUW2qVRkfIIhGgywkHmslVbUjtEpc3aX9ldXDlctmpLpqqeWXHG+yjSrpt1ECn1XRQ6bYJ5qKerwLIzjgPi6/3nOUOfCnkAk6UReQRSBEKUIRx4qonkAQj1Rxjzf8zB+8QOsJXSacZRS+8amxkvWTyHS1dujlVKWQaR0qihgaFhCh3GjO7COEd2nIO8lWfo9abWpTCyoPBRITISzpZrMZvvAEYnL9IYYYjqhqdenGCmyhq+qvDM5qFWUUNZw0elCISokGrj/MvR29PFzld3x9rdszCju0D3XtPoHxii04wR99SWkqWDTZKCi8sBqHd4o6gO5RGItmPNpn6W3bF1bCCd0V3gytOPq/kAFXVapg2elU6x+geGKHRWX294x+DwWLP2Efcxc0LWLN0kmUvNSu2S4dtOaEUgWoI1m/pZcuuW2Lh22NNsHWpr067l6sBsjz+hViSZdZLMQKXKIM6sJBPS1EErAtFWrFj7WKISgKAhy61bwPbU46/FTLZ0dVDNSgCKpRzS5C8l630qDUUMcwDSFGU7Zfi2C7kpAjObDvwA2Du4z23ufqWZHQXcAhwIbATe7+678pJDtAdZBqG4gTatXERWwpDGpJlyOXp7uhjctXvMrFNK3Cz9rBN7E1tMRknLxk1aEZRbJTUivLFS5MOojDwzi18FFrn7CcBc4J1mtgD4DHCtux8N7AA+mKMMok2YzCAUVy6iGqqZEfd0FQASlQDA+QtmTcjUvaovvZcwpIccLlk8J7Z0RZh8lkazZ/g2okTDVCc3ReBFXg42C8GPA4uA24L9NwB9eckgWp+wPv1kQzprkcJfqTIqdBg7d+1Olb2nq8BVfceP1f9Zv3TR2Mw2aTCHYo5BWsho37zeRNNSOYWW1oO4GWhEiYapTq4+AjPrpGj+ORr4J+BnwIC77w4OeRaI/faY2UXARQCzZs3KU0wxRblizSOppR0qZbI27rhEoCRbfqcZ+06flroS6Cp0jmXwxtE3rzexDMVo0Hg+jd5JmHiaOcNXPozKybXonLuPuPtc4HDgLcCxFZx7nbvPd/f5M2fOzE1GMbUIVwBhp66kQbYaJmvjjpspn79gVqwZ5XNnn8BAihLIOstOMg/1dBfKdvJqdhNPtbRLldJaUnZFYGYfAb4KvAR8GZgHLHX372a9ibsPmNk64K1Aj5lNC1YFhwMy3IlUohm9WaJl0moCpVE6AFbicIzK2Gk2JuP8Iw9g/pEHxF4nKQ+hkjDMuFVIodN4+ZU9zuek6KhWLeLWiBINU52yeQRmtsXdTzCzxcBfAP8b+E93f1OZ82YCw4ES6AK+S9FRfCGw2t1vMbN/BR52939Ou5byCNqXvLJ4S+npKrD5ylNS72sUHbdhS8gsMubdzSy8TnQwT8pObqc4f0UNFallHkG4zn43RQWw1SzT2vtQ4IbAT9ABrHL3b5rZT4BbzOwqYBNwfYZriTalXO3+WnHaCYeWvW9Y23/+kQeMG1TSZAx7Fmx46sUJCqTcjLyS3sfR/UctvStWlmpt5FNxUG1mH0YzkkURbDSz7wJHAZeb2X5kqJfl7g9TNCOV7n+cor9AiLLUy8G3btv2TPeNq+2fRcYw5j9OGdS6UXst4/xVTqI9yOIs/iCwFHizuw8CewF/mqtUQgTUy8FXOnCm3beSY6PcfP8zmeWZTAhkLZ3ACsVsD7IoAgdeD1wcbO8DTM9NIiEiLFk8Z1KF2LJSGmmUNmjGHVs68MZRiRN7MiGQtYzzT8pxqEUpbtE8ZDEN/TNFU9Ai4O8oRg+tBt6co1yiTchifx6ZZAOXLJQO0mkx+nHHQno1UqgsrHWy5p1a2cjDctZx+0XrkGVFcJK7/zXwCoC776BoHhJiUmQpBbDsjq01beCSRKfZhFj7pBj9sDNYND6/b14v65cu4snlp3LBgvgEyPNOOiKzPM0S45+0iqk2RFc0J1kUwXAQ+eMwFhZaj/9N0eJksT9X26SlUuLqDSWZfEbcU2vYXNV3PBcsmDU2a+4044KYsNM0mqWMQ5IyLFfnSEwtspiGvgR8HTjYzK4G3gtckatUoi1otlIAoRIKB9vS8M6OGDNJ6TkhV/UdX9HAH0czhEAqOas9KKsI3P0mM9sI/AHFnII+d380d8lEy9OM5YxLlVB0MK51fP5UoFWzj5udeuduZCkxsQDY6u7/FGy/xsxOcvf7c5NKtATlvsxZZpszuguphdlqTZoSakbFVQ+aYWXSTjQidyOLj+BfgJcj2y8H+4RIJIsjOIsd/MrTk6tv1ppSJRQWuAsdwycfO7MpHLiitWlE7kamEhMeKUjk7qNmphaXU4w8l5px1077Mldy3755vVy6anPNe/mW0mnGWSfumfnGzcpWb+znrBN7Wbdte9nnWO55T8WyDaI+NMJ3lmVAf9zMLmbPKuCvgMdzk0jUnDyXmknXTqq9E/0yp8m14akXufn+Z+oWpjjizuqN/WN1hJIU2bpt22MLt0UH9p7uAi+/snusNWbp81bZBpFGI0yQWUxDHwZ+h2K56GeBkwgaxoipQZ5LzaRrJyUcRb/MSed+8vaHufG+p+seqx59JpXMykrNYDsGhyf0Rw6vvWZTP5et2hL7uS9btUXtFEVsNn2h03I1QWaJGnoeODc3CUTu5LnUTLrGiDtdhc5UR3DSuYPDjUtTCWUqNyuLrgDiwkrjCGf+aUlaWhkIYGLTjZznRIkrAjP7ePD7H83sS6U/+YolakmeHZuSrhE6ftMcwc0YbRPKlJbZW7oCyLpy6TQrW1JbBd3EirWPTVhRDo96rt+LNNNQmCuwgWLf4dIfMUXIs1xBUvZt/8AQl6zczOCu3Vx7ztxxTddDTj525oTm642sYBN9JmkRTdX0SOgqdGZWGK2clyDK01TOYne/Mygtcby7fyw3CUTu5JkUVK7g2o7B4djGLGs29bN6Y/+4FW+WNpR5Eg70pRE9154zt+L+A4VOY5+9pvHroeGx533Zqi2ZlEEzrpRE/WiEszjVR+DuI2a2MLe7i7qRZ1JQeO2Fy+9JrL5Z2tkrqQNYI8ka0ZP0j9ppxqh7oqJNqmYaRXkJYsniOSy5bQvDkaq7DXcWA5vN7A7gVmBnuNPdb89NKjElSZsph529oHy55kbQ01UA0iOswoE9KSO6XFG43ioVSFaUm9BC1NlZnEURTAd+RbEfQYgDUgRiHEkz5ZD+gaEJM51moNBhLDujmMGcxT5bramtWgWSBeUmtA5pzuK8/pZZFMESd38hl7uLlmLJ4jksuXXLhC9xlGZTAh0G57zliLJmn1L7bDWmtjx9NbXK5BaNp6mcxWZ2OvAViv0IRoGz3f1HuUkipjzhgHP57Q8z1MBcgEoYdVj5wDNj/ou8yy7n5atptpLeonqazVl8NfB77r7NzE4CPgu8LTdJRNMRtTnv31XADAYGh1NnsuFAd9ynvsPOXZWFWDaK4VFn2R1bxw3SoR8jjP0P/RvNOrtu18qorUgjekCk5RHsdvdtAEHJ6f1yk0I0HaVJUwNDw+wYHB6rJHrpys3MLmnXGGWqKIGQaCe0cGUQjf1P6kbWLDRLa0sxeRrRnS5tRXCwmX00advdP5+bVKLhlEuaCi39reqUnGo2dzWQaS3q3QMiTRH8O+NXAaXbooWpxLYcHSBDc1IzUegw9p0+LbXBzYzuwrjtpM/fbGGvUdRARlRLWmbxp+spiGgcpSWU3SsPW/75wNCEEMZmoLdkZrxmU39ssk5pA5wkm7sF19CAK1oJNZhpQuqZGFQ6eFfbFvKwnq6qavDkSW9P14TeAVlNKEsWz+HSlZtj83qa1TwkRLVIETQZ9U4Myjp49wRRQzsGhyfUBAqdkllKKNSLQsf4lPxKlWvfvN7Ez6OQTNFqSBE0GfV2UmYZ1AzYfOUpY9txg+qGp16suWzV0l3o4O/PfGNq28ksyjWpJIRCMkWrkZZQ9tGk90BRQ3lR78SgcmUhwmOiRJ2SoVKotxPVgP27CuPCPkNm7LP3uAG+WuXaiHhuIRpB2oogjBCaA7wZuCPYPh14IE+h2pksiUFrNvXz6Tu3jtnze7oKnHbCoRU1VQ+TpUbcy5Z/3rHz1VgHaSOdw+cvmMVN9z0d+16oNMspqXLKVSGZol0oGzVkZj8A3uTuLwXby4C7yl3YzI4AvgYcQnGcuc7dv2hmBwArgdnAkxRLV+yY1KdoIcrNQuOiXgaGhrkxMigmmT5KB+4wWapchNDg8ChLbt0ytl1pi8ZaM6O7wFV9x7N647OxpSz27ypkUlJZTDxZQjJV9VNMdbL4CA4BdkW2dwX7yrEbuMzdHzKz/YCNZnY38AHge+6+3MyWAkuBT1QmdutSbha6Yu1jmQq3xZk+JhPVE5ZheHX36ARFUm9OfeOhrNnUn1jPyCzbZz352JkV37vciqpVE+xEa5NFEXwNeMDMvh5s9wE3lDvJ3Z8Dngtev2RmjwK9wHuAtweH3QDcixTBONJmoZX4CkqPnayfIc4e3wjWbdvOum3bE98fGBxmIEMYbNo14si6omrmDGQh4iirCNz9ajP7NvB7wa4/dfdNldzEzGYD84D7gUMCJQHwCxJWF2Z2EXARwKxZsyq5XcsRNT1UYo4p9Su0Clmd2+WOq1QxVrKiUoipmEpkDR/tBn7j7l81s5lmdpS7P5HlRDPbF1gNXOLuvzHb057c3d3MYkc1d78OuA5g/vz5zVXEvo4kzULL0VXo5ORjZ6a2j2xFDMb8KbXwEUSpZHBXiKmYSpRVBGZ2JTCfYvTQV4ECcCNQtpexmRUoKoGbIq0tf2lmh7r7c2Z2KPB8tcK3A0mz0A4r1tKH+Kihk4+dyeqN/ZlmsI1uGh9H1oimKEYxmihqkklqGB9VGFnJEmoLCjEVU48sK4I/omjWeQjA3X8eOH9TseLU/3rg0ZKcgzuAC4Hlwe9vVCp0K5A10iRpFuoOTy4/NfG6NyaEVsZeK7vYdeNn17wbKH6epMG8lGvPmTvuGe5plDN+ZRCnMLIQF9EVvaYzsbaREFOBLIpgV9SEY2b7ZLz2QuD9wCNmFubqf5KiAlhlZh8EngLOrlDmKU+WTNdwQE8a/uJMD81Y9K1awryFvnm9XJqhdEVvT1dioxyoTS5AXNOaEXcN/mLKk0URrDKzfwN6zOzPgT8DvlzuJHf/IcWJUhx/kF3E1qNcpmuWAT0u9DHvom+dZpx30hGs27Y9d7/Dp+/cWraPcEg5U0wtyzOr1LNoRdI6lAHg7v8A3EbR1j8H+JS7fylvwRrJmk39LFx+D0eldOCaDOXKSGQZ0Fc+8Mw4udZs6s9tcO4qdHLBglnsN30aN973dF2cz9EqqHHdt8IZRj26NwnR6pRVBGb2GXe/292XuPvH3P1uM/tMPYRrBKUtGvNoUZgUURLuzxKdMjzqYw1gQpnzYmh4hBvve7pheQTR1n1QXJnIHi9E7SirCIB3xOx7V60FaRbSzDa1olx/2ayhh5WsIKYaPV3jO4al9RG+Ys0jua7ghGh1EhWBmf2lmT0CHGtmD0d+ngDym342mHpU/yzXnDpOUcTRYcaaTf1TPnmp9EtY6DCWnXHchOOSlPRNgbkqrxWcEK1OmrP4v4BvA9dQrAchNtkvAAAUEklEQVQU8pK7N0/x+RqTpfpnpSSFiiaZNEqjU5IYcefy2x9JLMecha5CJ2ed2DuWg9DTXeDlV3YzPFqfoNJ99urk6j86fnKhtCXbKvEgRGWkVR/9NfBrM/si8GKk+uhrzOwkd7+/XkLWk1rXoK+2KUppzf9o2ekoQ8MjTC900FXorMo8FOdorWePgZ27Rtjw1IsTWkrGkTWhC1TiQYhKyOIj+Bfg5cj2y8G+lqSc2SYka2RRLXwOffN62fSpUxJjcXcMDjO90JH4fhJpsffrly4ac87mzY33Pc3sDPb9rCYzUIkHISohSx6Bue9J63T3UTNr6RaX5WLFK5nlJ81gq5ltp82Iq2k6X64Mc737EJdbLZUmh+3fVeClV3czUmLGKu1XLIRIJ8uK4HEzu9jMCsHPR4DH8xasmalklt9p8fP0uP3lVhmVzIizEM7EX3f5t7hizR7/fyhHlozeWlNutRSuVp5Yfir77D1tghIA2Hf6NPkHhKiALDP7DwNfAq6g6Jf7HkF56HalksiipBo5pfuzrDL65vWy4akXK6ojBMUZ8m53ksr1jLiPXXP+kQfkVqai0GmZmupEn2NaTaakv0OWXgRCiD1kySx+3t3PdfeD3f0Qd/9jd2/riqHlEsKiJNnZS/dnXWVU2kzFgHPeckSmynI33vc0l6zcnIsS6O3pYsV7T2Dh6w4oe2z4HMsl91XydxBCJJOWR/Dx4Pc/mtmXSn/qJ2LzUS4hrJpjs64yKo2GceCuh59LrvpUBwzGooIeevrXqcdGn0055VjJ30EIkUyaaejR4PeGeggylaikomXWY7PmL1QSQhlSjSM5K12FjsTewSHhZ0jKgO40Y9Q9s+kn3F/LyqJCtDNpeQR3Br/L9iduN7L2EgjJUrFyyeI5LLltyzgbeqFzYvTLksVz+OiqzdQp3wvYk3S2euOzY4N+h8EfnzSrrE8hOkNPGthH3XkiprdCFuWoaqBCTJ5ERWBmd5JiWXb3M3KRqMmppJdAqaIoq0BKn3bC0w9n0KUUOgyMTA7ZrPQG3c7WbdvOK8OjiYXews/V013AHX49NDzhM1aatV3r5L5aUulkQIhmxjwhlMTM3ha8PBP4LYrtKQHOA37p7pfmL16R+fPn+4YNzWGhSuoB3NvTxfqli2J7CeyZUSe3jkxqyRhet9z9Q3q6CphN3hzUVejkmjOPByZ2+ArfSxr40hRhra7VSKr5HEI0AjPb6O7zyx2XZhr6fnChz5Vc6E4za45RuQFU00tgaHiEm+9/JrXdYtI7lTqLB4aGKXRW7xk2GDfgLlx+T6rDtnSQBsqumGptVqs35RoLCTHVyJJHsI+ZvdbdHwcws6OArO0qW45y5o2kgTpLz92k+2W5f5RqTUOlqw9I/jzhAF864E8vdKQOks04sFdKPSrUClFPsmQWXwrca2b3mtn3gXXAJfmK1RzEZfpW20sgKcO4HKX28HJlIcpxwYJZzOguTNifVJZh/66Jx0Jx5RA34CeZpPoHhlqmX4DyF0SrkSWh7DvAMcBHgIuBOe6+Nm/BGk1SMhNQcS+BrkIn5510RMXlIboLHaxY+9i4AbTShLIovT1dXNV3PFeeftxE81GCnkrSX9WsOVqlX4DyF0SrkaVVZTewBPgbd98CzDKz03KXrMEk2YE/fefWVBt337xezjqxd2wF0GnGWSf2clXf8ePaLWZhcHh0nCJacuuWqktDR2f8K9Y+NsF8NDzisTV+8ijXUOuOb/Uma4VaIaYKWXwEXwU2Am8NtvuBW4Fv5iVUM5Bk790xODxm/kgKHV29sX/MJzDizuqN/cw/ck9pBQN6ugu8MjxSNhkrSrXNYnq6Ciw747jMiVpRknwSM7oLvDI8mhgFFYa4ZnWCTzVawdchREgWH8Hr3P2zwDCAuw/S0IIF9SGrvbd0dpu0klh2x9ZxpqaiMrEJvXlrSaHT+MI5c9l85SnjBq1KbNxJZpArTz9uLLw0jjBJLGkFJHu6EM1DFkWwy8y6CMzCZvY64NVcpWoCKin5HJ3dJlbEHBqOVRBm1LS0dEh3oYMV7z0hdta6ZPGcYvJZhCRncZoZpG9eb9mBXvZ0IZqfLKahK4HvAEeY2U3AQuADeQqVB9WUhYDxMe87X90d2xs4OruttBbQwOAw154zt+atIb3coq307WC70v7K5bJ/VQ9IiOYnMbMYwMwMOBwYBBZQHC7uc/cX6iNekclmFtcqEzTLdZKOmV7oiA2tjMbux52blHGchbi8AEjOTu4OCshF75flOTVj9q8QogaZxQDu7mb2LXc/HrirZtLVmVplgmaZ3SYdAxNLNQAM7trNmk3942bdy+7YOrby6Oku8PpD92P9z16cIM8xB+/Dk78aTEwgKzVTlWtKPxjjuM7ynOQ4FWJqk8U09JCZvdndH8xdmpyoZSZolkEv7ZjoIA9Fp3Fp5NGru0fHvf+jGCUAMLhrlBXvPYHLVm2JzVyOmqziVhtZmWoRPlqhCFEZWRTBScAFZvYksJPAWuHub8xTsFqSZLfv6S6wcPk9dRsw+ub1smLtYxP8DNFZd9zqJS0EM5S3XJXOpF4AWWjmCJ/SQf/kY2eOK+4XF+IrhBhPFkWwOHcpcibOoVnoNF5+ZXdqTkAelFudVDL7DgfoLCartOv29nQxuGt3rA/DmFjmolmIKwl+031PT1CcKggnRDpp/QimU2xcfzTwCHC9u++ul2C1JGsEUD0GjHJF65LeL3Ual874y5mskq6bVj7bgPMXzGraAbTS1ZMQIp60PIIbgPkUlcC7gM/VRaKc6JvXy/qli3hi+amsX7qIX8eEgUL+A0a5uPqk989fMGtSJQ3K3TcuX+Dac+ZyVV9y0lijqWb1JISYSJpp6PVBtBBmdj3wQCUXNrOvAKcBz7v7G4J9BwArgdnAk8DZ7r6jcrEnT6XdskKyOiLLxeMnXSOvuPusEU9Z7tMszthqV09CiPGkdSh7yN3flLRd9sJmvw+8DHwtogg+C7zo7svNbCkww90/Ue5aeXQoq7ZbVpZzWrmDVTN9trRucOu2bW+4ohKi0dQij+AEM/tNeD2gK9gOo4Zek3Zhd/+Bmc0u2f0e4O3B6xuAe4GyiiAP0mbISTPerPkIrdzBqpk+m7KWhagNaa0qa18ABw5x9+eC178ADkk60MwuAi4CmDVrVg6ixJtC0prTZ81HqEcHq3LmmbzMN83WnUvJbEJMnixF53LBizapxOoJ7n6du8939/kzZ06uK1clpM14s1btnEwHq7iuaHHHxDXNCY8t9/5kUHcuIVqPeiuCX5rZoQDB7+frfP+ypM144yJvjOJAGx20q624mXUAT1NWae8vu2Nr6v2zoGqiQrQe9VYEdwAXBq8vBL5R5/uXJW3GGw2xhPHRKdFBu9oOVuUG+JBqk9IGhoYnvSpQdy4hWo8smcVVYWY3U3QMH2Rmz1IsZ70cWGVmHwSeAs7O6/7V2siXLJ7Dktu2jCvkVui0cfH2ffN6Yyt4Rp2m1dius9rfq01KA2ri1JVdXojWIrcVgbuf5+6HunvB3Q939+vd/Vfu/gfufoy7/6G7x1dTmySTtpGXei5iPBl5OE2TViP7l3Qxy5KUloQybIUQpTTMWZwnWU0scSy7Y+uE3sDDoxMbu+fhNI3rHAawMyhVHVLOPNM3r5cZ3fEtMOXUFUKU0pKKoNrZ+ppN/bEdyOLOPfnYmROafE3Wado3r5d9p0+01g2PTFREpSUzSk01V55+nJy6QohMtKQiqHa2nrZiKK3tv3pj/ziLkQFnnTh52/lATAVQqNykI6euECIruTmLG0m5PrpJpA225Wr7O7Bu2/bU62dxYFdbAykOOXWFEFloyRVBtbPhpMF2RnchU23/NEWS1YGtOH0hRL1pSUVQLUmD8JWnHzduX6WmpzWb+rls1ZZMDmyZdIQQ9aYlTUNp9YLKNWGH8kXMKjE9hbLE9RSG+FVENSadZikNLYSYerSkIphMhcyszenD+/QPDNFpNm52X64SaZSehDDPSqhW8QkhBLSoaagWyV7lir/1zesdMyWFs/04u3+5eyYsFCpiMnkTQgjRkopgssletSr+luWeSS0zK6HZSkMLIaYWLakIJht5U6vib0myRKlFpq9KQwshJkNLKoLJRt5UUvwtjuj+UJa4kg+1CgtVyKkQYjK0pLMYJpdMVS6pK4zQ6R8YytQoPZQlr8getWwUQkyGxOb1zUQezevTSGvQDkx4L1QGvRqAhRBNRC2a17ctaTPshcvviS0v0dvTxfqlixogrRBCTA4pggSSTEtTJUJHCWZCiKy0pLM4T6ZChE6ezeuFEK2HFEGFTIUIHSWYCSEqQYqgQkpDU2d0F9h7WgeXrtwcm4HcCKaK+UoI0RxIEVRAWHbi0pWbATh/wSxeGR5lYGi4qUwwU8F8JYRoHqQIMhJnd7/pvqeb0gQzFcxXQojmQVFDGUnqShZHo00wSjATQlSCFEFGKhncm8EEozaVQoisyDSUkaTB3Uq2ZYIRQkw1pAgykmR3P3/BLLWVFEJMaWQayojs7ntQ1rIQrYUUQQXI7q62mEK0IjINiYpQ1rIQrYdWBC1Cvcw1yloWovXQiqAFqGeROWUtC9F6SBG0APU01yhrWYjWoyGKwMzeaWaPmdlPzWxpI2RoJepprplsP2ghRPNRdx+BmXUC/wS8A3gWeNDM7nD3n9RbllahXI/lWqPoKSFai0asCN4C/NTdH3f3XcAtwHsaIEfLIHONEGIyNEIR9ALPRLafDfaNw8wuMrMNZrZh+/btdRNuKiJzjRBiMjRt+Ki7XwdcBzB//vykQp8iQOYaIUS1NGJF0A8cEdk+PNgnhBCiATRCETwIHGNmR5nZXsC5wB0NkEMIIQQNMA25+24z+xtgLdAJfMXdt9ZbDiGEEEUa4iNw928B32rEvYUQQoxHmcVCCNHmSBEIIUSbI0UghBBtjhSBEEK0OVIEQgjR5kgRCCFEmyNFIIQQbY4UgRBCtDlSBEII0eY0bfXRRlGvJvBCCNEsSBFECJvAh/1/wybwgJSBEKJlkWkoQj2bwAshRLMgRRChnk3ghRCiWZAiiJDU7D2vJvBCCNEMSBFEUBN4IUQ7ImdxhNAhrKghIUQ7IUVQgprACyHaDZmGhBCizZEiEEKINkeKQAgh2hwpAiGEaHOkCIQQos0xd2+0DGUxs+3AU42WY5IcBLzQaCGaCD2PPehZjEfPYw+TfRZHuvvMcgdNCUXQCpjZBnef32g5mgU9jz3oWYxHz2MP9XoWMg0JIUSbI0UghBBtjhRB/biu0QI0GXoee9CzGI+exx7q8izkIxBCiDZHKwIhhGhzpAiEEKLNkSLIATP7ipk9b2Y/juw7wMzuNrP/CX7PaKSM9cLMjjCzdWb2EzPbamYfCfa36/OYbmYPmNmW4Hl8Oth/lJndb2Y/NbOVZrZXo2WtF2bWaWabzOybwXY7P4snzewRM9tsZhuCfbn/r0gR5MN/AO8s2bcU+J67HwN8L9huB3YDl7n764EFwF+b2etp3+fxKrDI3U8A5gLvNLMFwGeAa939aGAH8MEGylhvPgI8Gtlu52cBcLK7z43kD+T+vyJFkAPu/gPgxZLd7wFuCF7fAPTVVagG4e7PuftDweuXKP7D99K+z8Pd/eVgsxD8OLAIuC3Y3zbPw8wOB04FvhxsG236LFLI/X9FiqB+HOLuzwWvfwEc0khhGoGZzQbmAffTxs8jMIVsBp4H7gZ+Bgy4++7gkGcpKst24AvAx4HRYPtA2vdZQHFS8F0z22hmFwX7cv9fUYeyBuDubmZtFbdrZvsCq4FL3P03xYlfkXZ7Hu4+Asw1sx7g68CxDRapIZjZacDz7r7RzN7eaHmahN91934zOxi428y2Rd/M639FK4L68UszOxQg+P18g+WpG2ZWoKgEbnL324Pdbfs8Qtx9AFgHvBXoMbNwYnY40N8wwerHQuAMM3sSuIWiSeiLtOezAMDd+4Pfz1OcJLyFOvyvSBHUjzuAC4PXFwLfaKAsdSOw+V4PPOrun4+81a7PY2awEsDMuoB3UPSbrAPeGxzWFs/D3S9398PdfTZwLnCPu59PGz4LADPbx8z2C18DpwA/pg7/K8oszgEzuxl4O8USsr8ErgTWAKuAWRRLap/t7qUO5ZbDzH4X+G/gEfbYgT9J0U/Qjs/jjRQdfp0UJ2Kr3P3vzOy1FGfFBwCbgAvc/dXGSVpfAtPQx9z9tHZ9FsHn/nqwOQ34L3e/2swOJOf/FSkCIYRoc2QaEkKINkeKQAgh2hwpAiGEaHOkCIQQos2RIhBCiDZHikAIwMxGgoqPPzazW82sO+G4b4V5AEK0CgofFQIws5fdfd/g9U3AxmgCXJAYZ+4+mnQNIaYqWhEIMZH/Bo42s9lm9piZfY1ihucRQb34gwDM7E/M7OGgt8B/BvtmmtlqM3sw+FkY7H9bsOLYHNTe369hn06IElR0TogIQY2bdwHfCXYdA1zo7vcF74fHHQdcAfyOu79gZgcEx3+RYi39H5rZLGAt8NvAx4C/dvf1QQG+V+r1mYQohxSBEEW6gtLQUFwRXA8cBjwVKoESFgG3uvsLAJGU/z8EXh+prvqaYOBfD3w+MDvd7u7P5vQ5hKgYKQIhigy5+9zojmAw31nhdTqABe5eOuNfbmZ3Ae8G1pvZYnffNvF0IeqPfARCVMc9wPuCgmBETEPfBf42PMjM5ga/X+fuj7j7Z4AHadMeBKI5kSIQogrcfStwNfB9M9sChBFGFwPzAyfyT4APB/svCUJTHwaGgW/XXWghElD4qBBCtDlaEQghRJsjRSCEEG2OFIEQQrQ5UgRCCNHmSBEIIUSbI0UghBBtjhSBEEK0Of8ftB+tAZaR+TgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(labels, predicted_prices)\n", "plt.xlabel(\"Prices\")\n", "plt.ylabel(\"Predicted Prices\")\n", "plt.title(\"Prices versus Predicted Prices\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "21.831934375295628" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "training_error = \\\n", " (labels - predicted_prices).apply(lambda x: x ** 2).mean()\n", "\n", "training_error" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Citation: http://bigdata-madesimple.com/how-to-run-linear-regression-in-python-scikit-learn/" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:modin-dev]", "language": "python", "name": "conda-env-modin-dev-py" }, "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.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }