diff --git a/ktailor1.ipynb b/ktailor1.ipynb new file mode 100644 index 0000000..965581f --- /dev/null +++ b/ktailor1.ipynb @@ -0,0 +1,318 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IPython version: %6.6s 6.1.0\n" + ] + } + ], + "source": [ + "import IPython\n", + "import json\n", + "# Numpy is a library for working with Arrays\n", + "import numpy as np\n", + "# SciPy implements many different numerical algorithms\n", + "import scipy as sp\n", + "# Pandas is good with data tables\n", + "import pandas as pd\n", + "# Module for plotting\n", + "import matplotlib\n", + "#BeautifulSoup parses HTML documents (once you get them via requests)\n", + "import bs4\n", + "# Nltk helps with some natural language tasks, like stemming\n", + "import nltk\n", + "# Bson is a binary format of json to be stored in databases\n", + "import bson\n", + "# Mongo is one of common nosql databases \n", + "# it stores/searches json documents natively\n", + "import pymongo\n", + "print (\"IPython version: %6.6s\", IPython.__version__)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Make a 2 row x 3 column array of random numbers\n", + "[[ 0.20354485 0.87353642 0.79226415]\n", + " [ 0.26457656 0.23486214 0.8240387 ]]\n", + "Add 5 to every element\n", + "[[ 5.20354485 5.87353642 5.79226415]\n", + " [ 5.26457656 5.23486214 5.8240387 ]]\n", + "Get the first row\n", + "[ 5.20354485 5.87353642 5.79226415]\n" + ] + } + ], + "source": [ + "#Here is what numpy can do\\n\",\n", + "print (\"Make a 2 row x 3 column array of random numbers\")\n", + "x = np.random.random((2, 3))\n", + "print (x)\n", + "\n", + "#array operation (as in R)\n", + "print (\"Add 5 to every element\")\n", + "x = x + 5\n", + "print (x)\n", + "\n", + "# get a slice (first row) (as in R)\n", + "print (\"Get the first row\")\n", + "print (x[0, :])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# IPython is quite modern: just press at the end of the unfinished statement to see the documentation\n", + "# on possible completions.\n", + "# In the code cell below, type x., to find built-in operations for x\n", + "x.any" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline \n", + "import matplotlib.pyplot as plt\n", + "heads = np.random.binomial(500, .5, size=500)\n", + "histogram = plt.hist(heads, bins=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Task 1\n", + "## write a program to produce Fibonacci numbers up to 1000000" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "1\n", + "2\n", + "3\n", + "5\n", + "8\n", + "13\n", + "21\n", + "34\n", + "55\n", + "89\n", + "144\n", + "233\n", + "377\n", + "610\n", + "987\n", + "1597\n", + "2584\n", + "4181\n", + "6765\n", + "10946\n", + "17711\n", + "28657\n", + "46368\n", + "75025\n", + "121393\n", + "196418\n", + "317811\n", + "514229\n", + "832040\n" + ] + } + ], + "source": [ + "i = 0\n", + "first = 0\n", + "second = 1\n", + "nextItem = 0\n", + "print(first)\n", + "print(second)\n", + "while (True):\n", + " nextItem = first + second\n", + " if nextItem < 1000000:\n", + " print(nextItem)\n", + " else:\n", + " break\n", + " first = second\n", + " second = nextItem\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 2\n", + "## write a program to simulate 1000 tosses of a fair coin (use np.random.binomial)\n", + "## Calculate the mean and standard deviation of that sample" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.511 0.4998789853554558\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "data = np.random.binomial(1, .5, 1000)\n", + "stddev = np.std(data)\n", + "mean = np.mean(data)\n", + "print(mean, stddev)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 3\n", + "## Produce a scatterplot of y = 0.5*x+e where x has gaussian (0, 5) and e has gaussian (0, 1) distributions \n", + "### use numpy.random.normal to generate gaussian distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnRUlEQVR4nO3df3Ac5Zkn8O8zo7Yz8uUsE3QkVizsSzhTcbksgcpxytlUICzmR8CKAxg21CV3qXKyBX+YcL6V76jYUFyhXRVLUkk2rHc3tclBiEkwiom5iGRNXRJyJpGRHOEE35pfhoEDJbacYI3tkfTcHzM97ml193TPdM9MT38/VSpLPT0zrwbxPt3v+7zPK6oKIiJKrlSjG0BERI3FQEBElHAMBERECcdAQESUcAwEREQJ19boBlTj/PPP1+XLlze6GUREsXH++edjZGRkRFWvsj8Wy0CwfPlyjI6ONroZRESxIiLnOx3n0BARUcIxEBARJRwDARFRwjEQEBElHAMBEVHCxTJriIgobobHshgaOYI3pnJY2pHBtg0r0d/b1ehmAWAgICKK3PBYFtv3TCCXnwUAZKdy2L5nAgCaIhhwaIiIKGJDI0dKQcCUy89iaORIg1pUjoGAiChib0zlAh2vNw4NERGFxG0eYGlHBlmHTn9pR6YBrZyPgYCIKARe8wDbNqwsewwAMkYa2zasLHt+oyaTGQiIiELgNQ/wzMDlpXOcOvpKk8lRBwkGAiKiEFSaB+jv7XLtvCtNJkedccTJYiKiELiN9/uZB/AKIvXIOIo0EIjIShEZt3z9UUS22s75uIictJzz5SjbREQUhW0bViJjpMuO2ecB3LgFi452w3GSGQg34yjSoSFVPQKgBwBEJA0gC+Bxh1N/rqqfjLItRERRModpqhnLd5pMNtKCd07PuD4nzIyjes4RfALAi6r6ah3fk4iobrzmASo9DygPIqfOzGAql3c83++dhl/1DAQ3A3jE5bGPiMghAG8A+C+qeth+gohsAbAFALq7uyNrJBFRI9iDyIqBfa7n3rdpdahZQ3WZLBaRBQCuB/B9h4efA3Chqq4B8DUAw06voaq7VLVPVfs6OzsjaysRUTNwG/rp6siEvr6gXllDVwN4TlXfsj+gqn9U1XeK3z8JwHDbV5OIKClqmXwOql5DQ7fAZVhIRN4L4C1VVRFZi0Jw+kOd2kVE1JRqmXwOKvJAICKLAPw5gC9Yjn0RAFT1QQA3APhLEZkBkANws6pq1O0iomRr5v0BTNVOPgcVeSBQ1VMA3mM79qDl+68D+HrU7SAiMtV7f4BmDzpcWUxEiVPP/QHMoJOdykFxLugMj2VDf69qMRAQUeLUc3+AZt+UBmAgIKIEqqUuUFDNvikNwEBARAlUz9TMegadajEQEFHi9Pd24b5Nq9HVkYGgsEir0mrd4bEs1g/ux4qBfVg/uN/3GH89g061JI6Zmn19fTo6OtroZhBRQtizjABAAHxmXTfu7V/t6/lDI0eQncohLYJZVXQ1IHtIRA6qap/9ODemISKCd4rnzr2H5034KoCHDxxD34XnVezMzcfrmbIaBAMBETW9qPPwndYV3LF7HKOvHkffhee5VgFVFLKC/LTFKZiY2UMMBEREHmpZ/OU3gDileJpX/Pt+86bne/jJ/hkey7oGk2bIHuJkMRE1tWrz8O8ansAdu8d9LeRy64wVwIlp5w7c5Cf7x6utzZA9xDsCImpqfvLw7Vf+l13ciYcPHIM9FcZtKGZpR8Z1S0gvfrN/vK76myF7iIGAiJqaWydtXkk7DR05BQGT2Slbg0dHuxG4XUvaDey4bpWv8X2332FJu9Hw+QGAgYCImpzTfr7WK3G38X037zJS6Ln7qbIx+xPTeaQEmPORTZ8Wwf03rQnUgbv9DjuuW+X7NaLEQEBETa1SXf6gk625/Bxy+bl5x/0EgcJ5Gvgqvp57C1SDgYCImp5XXf5qx/erVe3kbr32FqgGAwERNVw16wSsq3XtjLSgLSWOV/61aLbSEGFhiQkiaii38g0KuJZhcHpOlARouuGcarDEBBGFKozVvsNjWdz56CHM2i5IzZ+yUzls+8EhAOWLx5wmiKP08uC1dXuvRqjHnsWvAPgTgFkAM/ZoJCIC4KsArgEwDeBzqvpc1O0ioupVs9rXKdf/sYPZeUHALj+ruPuJw2WvW8/VuF1NsOAravW6I7hMVX/v8tjVAC4qfn0YwDeL/xJRk/Ja7esUCIbHstj2/UPIF1NzslM5PHTgmO/3OzGdx4qBfaU7j6gmiO0ppK06J2DXDCUmNgL4jhYcANAhIu9rdKOIyF3QXbd27j1cCgLVMstEfGn3OKamzwZ6rkhhnL+SdErQkTF871HQKupxR6AAnhIRBfD3qrrL9ngXgNcsP79ePFZW6UlEtgDYAgDd3d3RtZaIKqq02tfOreBaNeYAnDobbH6gLSUYumGNa5aRKT+rWLSwDeM7rqyxlfFSjzuCj6rqJSgMAd0mIh+r5kVUdZeq9qlqX2dnZ7gtJCLfhseymD47M+94Mw+j5GcVQyNHHHcLs2uGaqD1FnkgUNVs8d+3ATwOYK3tlCyAZZaf3188RkRNxpwktlfk7MgYjsMo5vaOXuo1GfvGVK5si0o3zVANtN4iDQQiskhE3m1+D+BKAM/bTtsL4D9KwToAJ1XVuwA4ETWEW9rmVC6PoZEjZSWezaDhNRRjpIBnBi6PpK12Zgff39uFZwYux1c29zT9XsL1EvUcwQUAHi9kiKINwHdV9cci8kUAUNUHATyJQuroURTSR/9TxG0ioip5DZvYU0jvfmL+jlx2+TlUvGMIi7WDN1NZc/nZhu4h3CwiDQSq+hKANQ7HH7R8rwBui7IdRBSOSmmb1g1jKm3oYgozDdRckWxnLfdsXwMxq1q6E0hiEABYYoKIAvBb2sG8yq6nJe0GTudn59UXyhhp3LdpNQB4Zg11dWTqNkzVKCwxQUSe/JSMsJZTdutQBWhQEJhfXtrcPAZAxQCWxGwhEwMBUULZd+h65/RM2cpfe8kIe6C4dV03HjuYdSwWV2+qcOzk2xe0ob+3C+sH91e8i0litpCpGVYWE1GdWTN6zA3a7St/reP99vPNEhEpQdlK3EYEgVvXdeOky4I18yq/0tV+UrOFTAwERAnkt3qn2YG6nX/q7CzOzMzhgc09eGbg8prWBCxpN2Ck/BSCKFi0II2OjIGHDxxDSpyfZ17le13tJ6mUhBsODRHFVC1loP2Oh5sdqNf51juH46fO+HpdJ+ZYvvV3mj4745p9dHZ2rlRqwmlOwnqV77ZncNIDgImBgKjJOXX4AAKXgbbyU73T2pFWOj87lSurLlqN7XsmcN+m1aXMneGxLHbuPex6fn52/nulRTCnOi8wVrtncBh7LsQB00eJmphTumbGSGNhW8qxkJvfFEin1zXSgkUL2nAyl8fSjgyWvyeDAy+dwKxqqXqnWz8fVrpoR8bAooVtyE7lqpp4FoS3iYzbZx/nuwimjxLFkFvdf7fxfXMIx54RpIpSB2+9qnW72r1reKJsvwBV7045rHTRqVy+FOCqecUwM3+C7rkQZ7wjIGpiKwb2BeoQzSvzSlfTHRkDO69fhf7eLsfhD6ftI5tdpX2Og3L77MO866g33hEQxZDb2Py5BVTlV6xm512pC5/K5bF9zwRGXz1ethbAnGuIWxAAyvc5vmP3OLbuHq8pKATdcyHOmD5K1MSc6udnjDR2XLeqVE5ZULgTCCqXn8XDzx5zHP6otyXtBpa0G6G9njUobN8zUVYV1S+3z74V1xvwjoCoiVUayzf/XTGwr6rXb5YL/7EvX4nhsSy27h4P/bWrHdevNtMojhgIiJpcf29Xxc4nqs3c68FchGaWrnZaN2CmhS7OGDh1dqYsddRPdlG1dYT8fPatgENDRC3AaRjDHCxatMB7a8ZGMtKCbRtWlnYyOzGdn7fJfMZI4/6b1uDlwWsxvuNKDN2wpjQk1tWRwWfWdVfcfrIVx/XDxDsCIp+aeXGR1zDG+sH9OHW2Oe8Wlr+nfd5dgMI7A8jpKr3vwvOwc+9hx7UVrTquHyamjxL5ELfFRdagFb//wwvMxWV+Aq/bPgnWNFnzvGYN5vVQ9/RREVkG4DsobFepAHap6ldt53wcwA8BvFw8tEdV74mqTUTVqtfiIr8dlfW8xRkDIsDUdGHB2GUXd84rDx1H1sVllUpouBXFW7SwzXVnsqBlOVpZlENDMwDuVNXnihvYHxSRn6jqb23n/VxVPxlhO4hq5jbZGOZmJn47Kvt51uEQszx0M+nqyODUmRnHYZsgcvlZ3PnoIdyxe3xekPTz3ydJK4WDimyyWFXfVNXnit//CcDvACT706bYcptsrFdJg0rnRcWosYcwJ4N3Xr9q3iRwNWZVS/shWNcH+PnvU49gHld1yRoSkeUAegE86/DwR0TkkIj8LxFZVY/2EAVVj8VFfjuqenZctp0fgz9/VnH3E4fR39uFz6zrDqdRRdYg6ee/Tz2CeVxFHghE5N8AeAzAVlX9o+3h5wBcqKprAHwNwLDH62wRkVERGZ2cnIysvURO+nu7ylbyRrGZSYfLylr78Xp2XFUsWJ7nxHQew2NZ3Nu/Greu6w7lzsBkBkU//32StFI4qEizhkTEAPAjACOq+rc+zn8FQJ+q/t7rPGYNUdw5TQq7pT8ChY7tsos78fQLk7FcOLZoQRqH77kKQKGy6SPPvoZZVaRF0JYWnJmZf+uxaEEaHe0L8MZUDimXMtd+y26bmDXknDUUWSAQEQHwbQDHVXWryznvBfCWqqqIrAXwAxTuEDwbxUBAceFnUxmgcGUa9yyfSm5d142+C89zTPN00pExML7jSgDu6bufvrQLT78wmdiOPahGBIKPAvg5gAkAZrj/bwC6AUBVHxSR2wH8JQoZRjkAX1LVX1Z6bQYCioOgm8qINE/tn6gE2cDGXu7ZHlSd0mSbeW1HM6j7OgJV/QXgPRyoql8H8PWo2kDUSEE3lWn1IAAE28DGPhdiX1G8fnA/00FDwlpDRBFhWqJ/TvWFKk3iMh00PAwERBFxy+4Js+5+K8gYaXxmXXfgjCymg4aHReeIInLZxZ14+MCxslo/5qYyXhlCSWCWla5lgnfbhpWOczBMBw2OgYCoRuYkZnYqV5oMXdJu4J3TM/MKvl3SvbjU6fnNnomrr2zuAeCcIRXGhG6SNo6JGgMBUQ3smUHmZKjT5ioA8MsXj2N4LFvqrO54dLwlJ4kzRqqsQ46qs07KxjFRYxlqohqsH9xf1QKvJe0GVNGSw0NGSjB04xp20E2o7umjRK0qjFr/bncMcZcSYPPaZQwCMcOsIaIAzKGgbIw3fInSnAKPHcyWqoJSPDAQEAVQzxLQceVUOpuaGwMBUQBcrOQPP6d4YSAgCsCtVHQqzNrKLYCLuuKFgYAoALcku7mETRgIzq2QtsdAQWEHsfWD+zlXEBPMGiIK4GQLpntW44HNPWWbwpsL6gQoTaJzc/j4YCAg8mAvfbw4Y7Rk7n8QHRmjrGM3F3U5ralgNdB4YCCgRKhmZyr7quHsVC7xcwFGWrDzeuetxVkNNL4YCKjlOXXo2/dMYPTV46XdrRZnDIgAU9P5UqBwShVN2lxAh+UOaEm7gR3XrXINoEs7Mo6rrDlx3PwYCKjluW0QY60Mah3uyU7lsHX3eP0a2KSC7gfMaqDxxUBALc9taCJhF/eBVNOBsxpofEUeCETkKgBfBZAG8I+qOmh7fCGA7wC4FMAfAGxW1Veibhclh9uQBZVLFfdMrqUDZzXQeIo0EIhIGsA3APw5gNcB/FpE9qrqby2nfR7ACVX9oIjcDOCvAWyOsl2ULNs2rMS27x9CPmkD/AGkBPjbm3rYiSdU1AvK1gI4qqovqepZAN8DsNF2zkYA3y5+/wMAnxCRhOdmUOhsf1HplMBIegqQxeIMt89MsqgDQReA1yw/v1485niOqs4AOAngPfYXEpEtIjIqIqOTk5MRNZda0dDIEeRny+8GZucUC9pSpX1yk+7EdB7b90xwJXBCxabEhKruUtU+Ve3r7OxsdHMoRtzmB06dncW2DSvx8uC1+MrmHhjpZIcEVg1Nrqgni7MAlll+fn/xmNM5r4tIG4DFKEwaE9VseCxbVvbA7s5HD2Hr7vHSXsNJkBL39RBc/JVMUQeCXwO4SERWoNDh3wzgL2zn7AXwWQD/B8ANAPZrHPfPpKZirX/jxez8kxIEAO9FcVz8lUyRBgJVnRGR2wGMoJA++i1VPSwi9wAYVdW9AP4JwP8UkaMAjqMQLIiqZl9JTM7sd0puaweqKc9B8RL5OgJVfRLAk7ZjX7Z8fxrAjVG3g+LPb4eUhF3EMkYKufyc6+NL2g2owrNAnqKwetjr83QrzwGwomgr4cpiioUgHVKrj3OnRXDeooWew15/zM1UHO7yU0LCrTwHK4q2lthkDVGyeXVIdq0+zn3Lh5dVDHazqp5psUZafJWQYEXRZGAgoFjw2yENj2UxfXamHk1qmIcOHEPKx5pLxfzdwwBg0YI0hm5Y4+uK3i2otnqwTRoODVEsVCpxfNfwRFk10VbnN8vJzzyAF1YUTQYGAooFrw7pruEJPHTgWANb1ziV1j8ELSVtx4qiycBAQE3LuhbAvgjKuknKnY8ealwjG8ycC+hoN/DO6ZmywnphXbmzomjrYyCg0ISZb27PErIvgnrn9Ll5gCQtBnOiKNQKMtKCjoyBk7k8r9wpEAYCCkXY+eaV1gLk57SUwpik8hBe8rOKRQvbML7jykY3hWKGWUMUiiDpnX74SU80z7nlw8sqnNm8ujoy+MrmHixakA7l9ZjWSdVgIKBQhJ1v7ic90ayhf2//aty6rhvpYkplOkbbWZh3TqfOBlsJvaTdef8ApnVSNTg0RKFwS+9UAOsH9+Oyizvx9AuTFecPhseyuPuJwzgx7V4awXTq7AyGx7Lo7+3Cvf2rcW//6tJrxGnz+aDlMDoyhYlypnVSWHhHQKHYtmElMobz8EZ2KoeHDhxDdioHxbmrYOsmKMNjWfTc/RS27h73FQSAwpi409BTK9fUzxhp7Ly+kC1136bVpY11ujoyuG/Tak4OU1V4R0ChsOab+9ko3lqvppZqoU4ri+O0UX2Qie4u250U0zopLAwEFJhbmqj5tWJgn68VvmYnXku1UAWwYvs+xDFpKJ0S3LJ2GR47mPX8/TNGmlf7FCkODVEg5tW71zCP3wnLlAhWDOyr+Qo+jkFgYVsK99+4Bvf2r543xHPrum4O+VBdSRw3A+vr69PR0dFGNyOR1g/ud+y4raUMuDGMt1vXdZcmtonqSUQOqmqf/TiHhigQP2miTvVpzKyhOI3fR+XpFyarfi53C6MoMBBQIJWqgJqcJjKTcqdgpARzAGZdNgeudm0FdwujqEQyRyAiQyLygoj8RkQeF5EOl/NeEZEJERkXEY71xIBTmqjf/PUkbCG5pN3A0I1rcP+Na+C2rq3aRV9hr94mMkV1R/ATANuLm9f/NYDtAP7K5dzLVPX3EbWDQua3LLHTEEYrlz+wp3aawlz0xd3CKCqRBAJVfcry4wEAN0TxPlRf9s79gc09rquDnYYwFmcMz83U48yp5n/Ytfz9DssRBVWPOYL/DGC3y2MK4CkRUQB/r6q73F5ERLYA2AIA3d3doTeylUQxoRhkfNptCONdRgoZI91yw0NetY3CXPTF3cIoKlXPEYjIT0XkeYevjZZz/juAGQAPu7zMR1X1EgBXA7hNRD7m9n6quktV+1S1r7Ozs9pmtzw/ef7VcOvct+4ex/rB/WWv7zZUMTWdx32bVrsWTIurepXAZlkJikrVdwSqeoXX4yLyOQCfBPAJdVmsoKrZ4r9vi8jjANYC+Fm1bSLvCcVaOgyvcejsVA7bfnAIo68ex9MvTLquKl6cMTA0cgRT03ksaTegipYYKuqq49AMy0pQFKLKGroKwH8FcL2qTrucs0hE3m1+D+BKAM9H0Z4kiWpCsdI4dH5WS4XlnKRQqBZq3qmcmM7jzMwcOjLxvjswUsKhGYq9qEpMfB3AuwH8pJga+iAAiMhSEXmyeM4FAH4hIocA/ArAPlX9cUTtSQy3DrvWCUWv6qJ+zKEQLKxy+dn43xHEZ+sDIleRBAJV/aCqLlPVnuLXF4vH31DVa4rfv6Sqa4pfq1T1f0TRlqSpJc/fi3V8Oq7MOj5h9t1upbCJ4oRF51pMlBOK/b1deGbgcmSMeP7ZPDNweSQ1fpjHT3HHEhMtKMoJxeGxLGZcSieEqcslZ74Wdw1P4JFnX/Mskb1oQRod7QuQncpBgLJz7T+bmMdPcRfPSztqmKGRI/PG+oPws5+wtZJpWBakBQ8dOFYx1dNIp/DMwOV4ZfBaPLC5pzQUlhaBYv6UAPP4qRUwEFAgtQyDGCnB/Tet8TwnjI7V3lkbaUHe513MScvkdX9vV2nOxQwg1mDAPH5qFQwEFEi1wyAdmUIxtv7eLs8J54VtKYy+ehzrB/dX20S0pQTtlnmMlIjvzWsW29JZndZlKM7dtTAIUCvgHEGChFF6wqnMQSVmQba7nziMrbvHPc+dyuXx0IFjgdpkl5/TsjuAMzNzvp976uwMhseypc/Fz7oM7hFAccc7goQIq/SEPY3UTyqmufL4xHTzrxmwp4NWWpcRVUkPonpiIEiIKGrZCwpDKZVqB6VFappgrjfr1X6ldRncI4BaAYeGEiKs0hP2KqRTuTwyRhoi7pvI16soWxBpEbx38bsqlnWuVEqaewRQK2AgSIiwatm7XQEbKSDv0N+v/8B5OPDSiaYLBrd8eBn6LjzPV1lnr3UZ3COAWgGHhhJi24aVMNLzR/RPnZkJNJ7ttsgrPwdc9O8WlR1bkBb88sXjdQkCHRnDVy2ktAhuXdeNvgvPKwU1c21DNemgUZX0IKon3hEkiUN/PJXL+94A/a7hCc/Hj759quzns3WaF8gYaey8fhUAuGYlCYCXB68FMH94a1a11HkHzfYJexcyokZgIEiIoZEjrouq/OxXMDyWxcMV0jqDdvuLFqTxqUu6sPtXrzm2zUhVXghm3yt4aORIxaGasPds4B4BFHccGkqISpOXlR4fGjkSuKP3sqTdwOF7rsK9/asxdOOaefsSmAvQvBafOS3q8jNUwwleonK8I0gIt0lN6+Newu4kT0zncdfwRGms/mQuP+/q3uQ23OPUJj9DNZzgJSonLrtINrW+vj4dHR1tdDNixT4ubpUx0vj0pV14+oVJ185z/eD+0KuBAkA6JZi1DP9kjPS8Cdvee55yXIxWbXE6p8/C6X2JWo2IHFTVPvtxDg0lhH1FsDVT5tOXduGxg1nP1bG17lDmZtY2B+C0GGvHdatCzczhJvBE5Tg0FCO11rRxm9RcP7jfcfL0zkcPlZ4HAO8yUqXzMkYKM3MayYphpyGfhW3n3ntJu4Ed162qqePmBC/ROZHdEYjIThHJFvcsHheRa1zOu0pEjojIUREZiKo9cRdlTRu38f9ZVdyxexzLB/bhjt3jZcMzp/NzWLt8iedkbgpwXLtQSYelZIX5e1v3Nj6d919Ejogqi3po6AHLvsVP2h8UkTSAbwC4GsCHANwiIh+KuE2xFGVNG69JUrX9az3+yxePY9uGla7BYHG7gaEbvDN/nLxz+twiN9byIYpeo+cI1gI4WtzI/iyA7wHY2OA2NaUoUx6rHf9XFDJ63CaRp6bzpc1dgsjPnasAylRPouhFHQhuF5HfiMi3RGSJw+NdAF6z/Px68dg8IrJFREZFZHRycjKKtja1SuWQa2FOnvrZRjKIlAjuGp7Atu8fCvxcs6OP8vcmooKaAoGI/FREnnf42gjgmwA+AKAHwJsA7q/lvVR1l6r2qWpfZ2dnLS8VS2HWtBkey2L94H6sGNiH9YP7Sxux3H/TmlAzg2ZV8fCBY763ibQyO3rW8iGKXk1ZQ6p6hZ/zROQfAPzI4aEsgGWWn99fPEY2tdS0uWt4Ao88+xpmVZESAAqY063mpLP9PcJaM1BNTpG1o2ctH6LoRbagTETep6pvFr+/A8CHVfVm2zltAP4vgE+gEAB+DeAvVPWw12sncUFZtamjdw1P+Nr60b44K6oFZFap4h4GHe0GVAsbx7OjJ4qO24KyKNcR/I2I9KBwUfgKgC8UG7IUwD+q6jWqOiMitwMYAZAG8K1KQSCJ7Cthna7i3Tzy7Guej5uyU7myTJ3sVA7FmwdfBIUO3e92lEZaMHTDGnb4RE2AJSZiwO3q3KnEgv3Oodarej/BQAB8pljj36l0w6cv7cKPDr1ZWgsQxoIwIgquEXcEFBK/KZROdw61UngHg7QI7r+p/MreaQjr3v7VNbeFiKLBQBADfqtlOi2+CoNbEHAq1MbSDUTx0+gFZeSD3xRKv4usUigMz9SKhdqIWgPvCBrMTzaQ3xRKv3MCcyhk62SMdMU7CLdhoa6OTMUgUGuRPCKqDwaCBgqSDeRnyGXbhpWuew7Ynczl8cDmHtz9xOF5mT5m59/VkcFlF3fisYPZeRPAlRZ01ZLpRET1xUDQQFHsnWu+7htTOSzOGDh5Og+nxLClxSv6/t6uilfu5i5ibo87PT/s342IosP00QZaMbDPcdhFALw8eG1Nr11pR7L7NhWyeGodunHb7cvtriSM342IqsMdyppQlAXV3DKI0iKlIGDf32Dr7nH03vNUoD0O3K783QrYsVgcUfNhIGigKAuquWUQzamiv7fLNVCcmM4H2vDGa1MbFosjigcGggaKcu/cSncbXqmmQTZ+cXsf83fhvsBEzY+TxQ0W1QIspwwi6xV5pVRTv2sSvN6Hi8uI4oF3BC2q0t1GpV3J/I7lR3lXQ0T1wayhJtCohVfDY1ns3Hu4bGN4wLl0BBHFH4vONanhsSy2ff9QaRev7FSutLVj1B2x33UERNTaeEfQYD13PzXvihwAOjIGxndc2YAWEVGr4h1Bk3IKAl7Hw8A7ACKyYiBoYisG9oXeUbMGEBHZRZI1JCK7RWS8+PWKiIy7nPeKiEwUz2uNsZ6AvMpBmyt+gyzwqsSrBhARJVMkgUBVN6tqj6r2AHgMwB6P0y8rnjtv3CoJdly3CkbauRyDKcyO2u9uZ0SUHJGuIxARAXATgEeifJ846+/twtANa0p5+G7C6qijrG9ERPEU9YKyPwPwlqr+q8vjCuApETkoIlu8XkhEtojIqIiMTk5Oht7QRurv7cIzA5fj5cFr0RVxRx1lfSMiiqeqA4GI/FREnnf42mg57RZ43w18VFUvAXA1gNtE5GNuJ6rqLlXtU9W+zs7Oapvd9KLuqLkSmIjsqs4aUtUrvB4XkTYAmwBc6vEa2eK/b4vI4wDWAvhZtW1qBX63paz1Pap9PaaeErWeKNNHrwDwgqq+7vSgiCwCkFLVPxW/vxLAPRG2JzaatVgbU0+JWlOUcwQ3wzYsJCJLReTJ4o8XAPiFiBwC8CsA+1T1xxG2h2rE1FOi1hTZHYGqfs7h2BsAril+/xKANVG9P4WPqadErYllqMk3pp4StSYGAvKNqadErYm1hsi3emQ0EVH9MRBQIM2a0URE1ePQEBFRwjEQEBElHAMBEVHCMRAQESUcAwERUcIxEBARJRwDARFRwjEQEBElHAMBEVHCMRAQESUcAwERUcIxEBARJRwDARFRwjEQEBElXE2BQERuFJHDIjInIn22x7aLyFEROSIiG1yev0JEni2et1tEFtTSHiIiCq7WO4LnAWwC8DPrQRH5EAqb168CcBWAvxOR9Pyn468BPKCqHwRwAsDna2wPEREFVFMgUNXfqeoRh4c2Avieqp5R1ZcBHAWw1nqCiAiAywH8oHjo2wD6a2mPl+GxLNYP7seKgX1YP7gfw2PZqN6KiChWopoj6ALwmuXn14vHrN4DYEpVZzzOKRGRLSIyKiKjk5OTgRozPJbF9j0TyE7loACyUzls3zPBYEBEBB+BQER+KiLPO3xtrEcDTaq6S1X7VLWvs7Mz0HOHRo4gl58tO5bLz2JoxOlmhogoWSruWayqV1TxulkAyyw/v794zOoPADpEpK14V+B0TijemMoFOk5ElCRRDQ3tBXCziCwUkRUALgLwK+sJqqoAngZwQ/HQZwH8MIrGLO3IBDpORJQktaaPfkpEXgfwEQD7RGQEAFT1MIBHAfwWwI8B3Kaqs8XnPCkiS4sv8VcAviQiR1GYM/inWtrjZtuGlcgY5UlLGSONbRtWRvF2RESxIoUL83jp6+vT0dHRQM8ZHstiaOQI3pjKYWlHBts2rER/r+vcNBFRyxGRg6raZz9ecY6gVfT3drHjJyJywBITREQJx0BARJRwDARERAnHQEBElHAMBERECRfL9FERmQTwaqPb4eF8AL9vdCOqwHbXF9tdX0lv9+8BQFWvsj8Qy0DQ7ERk1ClXt9mx3fXFdtcX2+2OQ0NERAnHQEBElHAMBNHY1egGVIntri+2u77YbhecIyAiSjjeERARJRwDARFRwjEQhEREbhSRwyIyJyJ9luPLRSQnIuPFrwcb2U4nbm0vPrZdRI6KyBER2dCoNlYiIjtFJGv5nK9pdJu8iMhVxc/0qIgMNLo9fonIKyIyUfyMg9WCryMR+ZaIvC0iz1uOnSciPxGRfy3+u6SRbXTi0u7I/7YZCMLzPIBNAH7m8NiLqtpT/Ppindvlh2PbReRDAG4GsArAVQD+TkTS85/eNB6wfM5PNroxboqf4TcAXA3gQwBuKX7WcXFZ8TNu5pz8f0bhb9ZqAMC/qOpFAP6l+HOz+WfMbzcQ8d82A0FIVPV3qnqk0e2ohkfbNwL4nqqeUdWXARwFsLa+rWtJawEcVdWXVPUsgO+h8FlTSFT1ZwCO2w5vBPDt4vffBtBfzzb54dLuyDEQ1McKERkTkf8tIn/W6MYE0AXgNcvPrxePNavbReQ3xdvrprvtt4jb52qlAJ4SkYMisqXRjQnoAlV9s/j9/wNwQSMbE1Ckf9sMBAGIyE9F5HmHL6+ruTcBdKtqL4AvAfiuiPzb+rT4nCrb3lQq/A7fBPABAD0ofOb3N7KtLeyjqnoJCsNat4nIxxrdoGpoIW8+Lrnzkf9tJ2aryjCo6hVVPOcMgDPF7w+KyIsA/gOAuk60VdN2AFkAyyw/v794rCH8/g4i8g8AfhRxc2rRVJ9rEKqaLf77tog8jsIwl9O8WDN6S0Tep6pvisj7ALzd6Ab5oapvmd9H9bfNO4KIiUinOcEqIv8ewEUAXmpsq3zbC+BmEVkoIitQaPuvGtwmR8X/sU2fQmECvFn9GsBFIrJCRBagMCG/t8FtqkhEFonIu83vAVyJ5v6c7fYC+Gzx+88C+GED2+JbPf62eUcQEhH5FICvAegEsE9ExlV1A4CPAbhHRPIA5gB8UVXrPhnkxa3tqnpYRB4F8FsAMwBuU9XZRrbVw9+ISA8Kt/uvAPhCQ1vjQVVnROR2ACMA0gC+paqHG9wsPy4A8LiIAIW+47uq+uPGNsmZiDwC4OMAzheR1wHsADAI4FER+TwKZexvalwLnbm0++NR/22zxAQRUcJxaIiIKOEYCIiIEo6BgIgo4RgIiIgSjoGAiCjhGAiIiBKOgYCIKOH+P5054YAkYJINAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "x = np.random.normal(0,5,1000)\n", + "e = np.random.normal(0,1,1000)\n", + "y = 0.5 * x + e\n", + "plt.scatter(x,y)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [] + }, + { + "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.8.2" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}