Skip to content

Instantly share code, notes, and snippets.

@yamanetoshi
Created July 16, 2018 10:07
Show Gist options
  • Save yamanetoshi/b7b16c8385bc0960d52663044c2c02be to your computer and use it in GitHub Desktop.
Save yamanetoshi/b7b16c8385bc0960d52663044c2c02be to your computer and use it in GitHub Desktop.
machineLearning.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "machineLearning.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"[View in Colaboratory](https://colab.research.google.com/gist/yamanetoshi/b7b16c8385bc0960d52663044c2c02be/machinelearning.ipynb)"
]
},
{
"metadata": {
"id": "Ypy6py9gOqTa",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 187
},
"outputId": "a3795460-5865-45e2-b300-c89b4faeaabd"
},
"cell_type": "code",
"source": [
"!pip install numpy scipy pandas matplotlib scikit-learn"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (1.14.5)\r\n",
"Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (0.19.1)\r\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (0.22.0)\r\n",
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (2.1.2)\r\n",
"Requirement already satisfied: scikit-learn in /usr/local/lib/python3.6/dist-packages (0.19.1)\r\n",
"Requirement already satisfied: python-dateutil>=2 in /usr/local/lib/python3.6/dist-packages (from pandas) (2.5.3)\r\n",
"Requirement already satisfied: pytz>=2011k in /usr/local/lib/python3.6/dist-packages (from pandas) (2018.5)\r\n",
"Requirement already satisfied: six>=1.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib) (1.11.0)\r\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib) (2.2.0)\r\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib) (0.10.0)\r\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "MfgNpLnVQShI",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 156
},
"outputId": "bf529d77-168a-4fe8-e176-e52fc319b9da"
},
"cell_type": "code",
"source": [
"%lsmagic"
],
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/json": {
"cell": {
"prun": "ExecutionMagics",
"file": "Other",
"!": "OSMagics",
"capture": "ExecutionMagics",
"timeit": "ExecutionMagics",
"script": "ScriptMagics",
"pypy": "Other",
"system": "OSMagics",
"perl": "Other",
"html": "DisplayMagics",
"bash": "Other",
"HTML": "Other",
"python": "Other",
"SVG": "Other",
"javascript": "DisplayMagics",
"bigquery": "Other",
"js": "DisplayMagics",
"writefile": "OSMagics",
"ruby": "Other",
"python3": "Other",
"python2": "Other",
"latex": "DisplayMagics",
"sx": "OSMagics",
"svg": "DisplayMagics",
"sh": "Other",
"time": "ExecutionMagics",
"debug": "ExecutionMagics"
},
"line": {
"psource": "NamespaceMagics",
"logstart": "LoggingMagics",
"popd": "OSMagics",
"loadpy": "CodeMagics",
"colors": "BasicMagics",
"who_ls": "NamespaceMagics",
"lf": "Other",
"ll": "Other",
"pprint": "BasicMagics",
"lk": "Other",
"ls": "Other",
"save": "CodeMagics",
"tb": "ExecutionMagics",
"lx": "Other",
"pylab": "PylabMagics",
"killbgscripts": "ScriptMagics",
"quickref": "BasicMagics",
"magic": "BasicMagics",
"dhist": "OSMagics",
"edit": "KernelMagics",
"logstop": "LoggingMagics",
"gui": "BasicMagics",
"prun": "ExecutionMagics",
"debug": "ExecutionMagics",
"page": "BasicMagics",
"logstate": "LoggingMagics",
"ed": "Other",
"pushd": "OSMagics",
"timeit": "ExecutionMagics",
"set_env": "OSMagics",
"rehashx": "OSMagics",
"hist": "Other",
"qtconsole": "KernelMagics",
"rm": "Other",
"dirs": "OSMagics",
"run": "ExecutionMagics",
"reset_selective": "NamespaceMagics",
"pinfo2": "NamespaceMagics",
"matplotlib": "PylabMagics",
"unload_ext": "ExtensionMagics",
"doctest_mode": "BasicMagics",
"logoff": "LoggingMagics",
"reload_ext": "ExtensionMagics",
"pdb": "ExecutionMagics",
"load": "CodeMagics",
"lsmagic": "BasicMagics",
"autosave": "KernelMagics",
"cd": "OSMagics",
"pastebin": "CodeMagics",
"alias_magic": "BasicMagics",
"cp": "Other",
"autocall": "AutoMagics",
"ldir": "Other",
"bookmark": "OSMagics",
"connect_info": "KernelMagics",
"mkdir": "Other",
"system": "OSMagics",
"whos": "NamespaceMagics",
"rmdir": "Other",
"automagic": "AutoMagics",
"store": "StoreMagics",
"more": "KernelMagics",
"pdef": "NamespaceMagics",
"precision": "BasicMagics",
"pinfo": "NamespaceMagics",
"pwd": "OSMagics",
"psearch": "NamespaceMagics",
"reset": "NamespaceMagics",
"recall": "HistoryMagics",
"xdel": "NamespaceMagics",
"xmode": "BasicMagics",
"cat": "Other",
"mv": "Other",
"rerun": "HistoryMagics",
"logon": "LoggingMagics",
"history": "HistoryMagics",
"pycat": "OSMagics",
"unalias": "OSMagics",
"env": "OSMagics",
"load_ext": "ExtensionMagics",
"config": "ConfigMagics",
"profile": "BasicMagics",
"pfile": "NamespaceMagics",
"less": "KernelMagics",
"who": "NamespaceMagics",
"notebook": "BasicMagics",
"man": "KernelMagics",
"sx": "OSMagics",
"macro": "ExecutionMagics",
"clear": "KernelMagics",
"alias": "OSMagics",
"time": "ExecutionMagics",
"sc": "OSMagics",
"rep": "Other",
"pdoc": "NamespaceMagics"
}
},
"text/plain": [
"Available line magics:\n",
"%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %profile %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode\n",
"\n",
"Available cell magics:\n",
"%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript %%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile\n",
"\n",
"Automagic is ON, % prefix IS NOT needed for line magics."
]
},
"metadata": {
"tags": []
},
"execution_count": 2
}
]
},
{
"metadata": {
"id": "0V4Zu1DBRcKK",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "d41f4ce3-303e-4ed6-8196-a99484490cfa"
},
"cell_type": "code",
"source": [
"from random import randint\n",
"\n",
"%timeit -n 10 -r 3 [randint(0, 100) for i in range(10)]"
],
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": [
"10 loops, best of 3: 13.5 µs per loop\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "dR3KXTSSRrWt",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "9ad69421-bda6-46b6-f43b-56f8caafeb81"
},
"cell_type": "code",
"source": [
"%%timeit -n 10 -r 3\n",
"\n",
"for i in range(10):\n",
" randint(0, 100)"
],
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": [
"10 loops, best of 3: 13.2 µs per loop\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "ePpskeCuZ9dU",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 68
},
"outputId": "ddd652b4-1e75-4980-8994-f52a566e82db"
},
"cell_type": "code",
"source": [
"import numpy as np\n",
"\n",
"x = np.array([[1, 2, 3], [4, 5, 6]])\n",
"y = np.array([7, 8, 9])\n",
"\n",
"print (x)\n",
"print (y)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"[[1 2 3]\n",
" [4 5 6]]\n",
"[7 8 9]\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "kh-tkafhaRmj",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 51
},
"outputId": "55f0b340-ea77-4ad8-9ca6-358719908d10"
},
"cell_type": "code",
"source": [
"print(x.shape)\n",
"print(y.shape)"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"(2, 3)\n",
"(3,)\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "2Ced5-e5aXVL",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "755a5022-b35c-472b-eb50-86110e2edad6"
},
"cell_type": "code",
"source": [
"a = np.array([7, 8, 9])\n",
"a + 1"
],
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([ 8, 9, 10])"
]
},
"metadata": {
"tags": []
},
"execution_count": 7
}
]
},
{
"metadata": {
"id": "P814VP7YbXcT",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
},
"outputId": "41a89838-c3ab-442b-df3f-e4d9655ffca6"
},
"cell_type": "code",
"source": [
"import pandas as pd\n",
"d = {'employee_id': [101, 102, 103, 104], 'name': [\"Tom\", \"Brian\", \"Lisa\", \"Ray\"]}\n",
"df = pd.DataFrame(d)\n",
"df"
],
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>employee_id</th>\n",
" <th>name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>101</td>\n",
" <td>Tom</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>102</td>\n",
" <td>Brian</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>103</td>\n",
" <td>Lisa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>104</td>\n",
" <td>Ray</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" employee_id name\n",
"0 101 Tom\n",
"1 102 Brian\n",
"2 103 Lisa\n",
"3 104 Ray"
]
},
"metadata": {
"tags": []
},
"execution_count": 8
}
]
},
{
"metadata": {
"id": "sbJmf2Pdd1_u",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"%matplotlib inline\n"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "sqQJ999Id8OW",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"outputId": "a8a7c74b-b2fc-472e-eae4-2c466fbad9e1"
},
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"x = [1, 2, 3, 4]\n",
"y = [10, 12, 15, 20]\n",
"plt.plot(x, y)\n",
"plt.show()"
],
"execution_count": 10,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8c89da26d8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "gBpEtN55eb6u",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 294
},
"outputId": "a4e81623-85e6-4613-ee2f-2a18ae3cd420"
},
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plot\n",
"from numpy.random import normal\n",
"\n",
"x = normal(size=200)\n",
"plt.hist(x, bins=40)\n",
"\n",
"plt.xlabel('x')\n",
"plt.ylabel('y (Bin Count)')\n",
"plt.title('Histgram Example')\n",
"plt.axis([-4, 4, 0, 25])\n",
"plt.grid(True)\n",
"plt.show()"
],
"execution_count": 11,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEVCAYAAADpbDJPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAFkdJREFUeJzt3XuUJWV57/FvBwTJOCFcGiGKEsQ8\nHEOOAUISlbsKiFzOgSFz1gmgAokYOChqIiYSubgCgcVFuQoGQTguQYxylRPF4BVPkCMKqI+gwAHB\nxYAggyYwl84fVaObZvfu3T1dVbvn/X7W6jW7ateuenbP7vrtt963qsYmJiaQJJXnN7ouQJLUDQNA\nkgplAEhSoQwASSqUASBJhTIAJKlQa3ddgMoVERPA5pn5UM+8twIHZ+YbIuJo4MWZefyAdfwJ8O+Z\n+d3GCx6grvs84MFJT/0kM1/ffkUQEbsCH8vMrbrYvkafAaCRlZnnDrHY24CvAZ0GQO3WzHxD10VI\nwzIANLIi4gTgpZl5REQcBHwQWAtYBhwDbA0cCuwXEZsA5wOfAF4H3A38P2DTzHxrRNwCfB04ADgc\n+BFwGbAFsC5wTmaeWW/3fuAMqnB5CfAO4PXAXsAS4E2Z+cQM3sfawG3AyZn5zxGxJXArsC3wJPBx\n4A+BdYDPZOZ769fdAtwE7A9sBZwAbAAcDKwE3pyZ99X1ng8sBl4GXDi51RQR6wKn1+9hHeCizPyH\nYd+D1kz2AWi+OJ9qh/dfgL8C9svMC4F/A/6m3nkfAfwO8HLgL6h24L22B34/M78BfAC4LzO3ptq5\nnxIRm/csu01mbgecDFwOfJpqJ/wbVCEytMxcXtfzjxHxQqpwOSEzH6YKl4VUYbYd8NaI2LHn5TsD\nO9Xv5TTgobrm7wGH9Sz3GuCPgd8HjoqIV08q42+AVwF/UC+zKCL2mcn70JrHFoC6dktELO+ZXp/q\n2/tkjwJHRsSFmfk1qsM+k+0EXF3vcB+IiBt47pecGzNzZf34GKrWBJn544j4KfC7/PoY/ufqf++k\n6mO4BSAi7qYKmX5eExE/mDTvosw8MzO/FRHXUwXJhsCF9bbPiIiPZOYE8ES9/i173t91mbk8Iu4E\nfhO4uqeul/Vs5xOZuQJ4NCK+CrwW+H7P8/sCp2bmM8AzEfEJqiC7for3ogIYAOrarv06gfsstx/V\nt/bbI+JB4F2Z+eVJy2wA/Kxn+idA77f63ud2oPrW/zJgBbAZzw2LpfW/K4Cne+avoA6OPqbrAzgf\n+CFweL3DJyJeCZwZEVvX696c6pBQvzrIzKd7pnvr6H1vT1D9Lnr9NnBWRKw67LMuVetJBfMQkOaF\nzPxRZr4N2AT4MPDJPos9BbyoZ3qzAau8gurb9O/Vh1SWzFWtA5wCnA38bUQsqOedB9wFbF3Xcccs\n171xz+MNeW4gADwMHJWZW9c/v5uZi2e5La0hbAFo5EXEONUO/8DMfCoivgmsuoztMqpvt1B9oz0w\nIi6k6rx9E/CFKVa7CXB7Zk5ExFuABTw3POb6Pby5rukg4AXAScB76jq+nZkrIuKNwCtnWcfiiPgs\nMA7sCLy/frzKNcAREfF5qg7kvwO+lZk3zfItaQ1gAGjkZeaSiLgJuC0iVgDPUo3kAfgscHo9suYE\nYBeqET53Ap+i+jbcz/HAZyPiceCj9c/FkzpgZ6pfHwBUncznAAfVgXM88L2I+N/Ah6gOzfw9Vb/D\nicBJEfHtGW77bqoA3AL4SGbeXZ8HsMp59XN3A2PAt6haIyrYmPcD0JokIsZ6jq+fDqydmcd2XFaj\n6mGgB9ed49LQ7APQGiMi9qNqJawbES8C3kw13l5SH40eAoqI06iG5q1N1QG2H9VY7MfrRU7PzBua\nrEFFuQHYm2r440qqIY5XD3yFVLDGDgFFxG7AX2fm3hGxEfBt4EtU47QdeyxJHWuyBfAVfj3O+Emq\nURZTjZ+WJLWslU7giPhLqkNBK4BNqa5F8ihwdGY+NtXrJiYmJsbGxhqvT5LWMEPtOBsfBhoR+1MN\n2dsD+CPg8cy8IyKOoxq2d/RUrx0bG2PJkqVTPT0yxscXWuccss65ZZ1zZz7UCFWdw2i6E3hPqhNO\n9srMnwM39zx9LXBBk9uXJE2tsWGgEbE+1eVn98nMn9XzPlOfsAOwK9Up8JKkDjTZAlhMdX2SqyJi\n1byPA1dGxC+pLrA1+XK9kqSWNBYAmXkRcFGfpy5rapuSpOF5JrAkFcoAkKRCGQCSVCgDQJIKZQBI\nUqEMAEkqlAEgSYUyACSpUAaAJBXKAJCkQhkAklQoA0CSCmUASFKhDABJKpQBIEmFMgAkqVAGgCQV\nygCQpEIZAJJUKANAkgplAEhSoQwASSqUASBJhTIAJKlQBoAkFcoAkKRCGQCSVCgDQJIKZQBIUqEM\nAEkqlAEgSYUyACSpUAaAJBXKAJCkQhkAklSotZtceUScBuxUb+cU4DbgcmAt4BHgkMx8pskaJEn9\nNdYCiIjdgG0y8zXAXsDZwEnAeZm5E3AvcFhT25ckDdbkIaCvAAfVj58EFgC7AtfW864D3tDg9iVJ\nA4xNTEw0vpGI+EuqQ0F7ZuYm9bxXAJdn5msHvLT54iRpzTM2zEKN9gEARMT+wOHAHsA9PU8NVeCS\nJUubKGtOjY8vtM45ZJ1zyzrnznyoEao6h9HoKKCI2BP4O+BNmflz4OmIWK9++iXAw01uX5I0tSY7\ngdcHTgf2ycyf1bO/CBxYPz4QuKmp7UuSBmvyENBiYGPgqohYNe8twMci4u3AA8BlDW5fkjRAYwGQ\nmRcBF/V56o1NbVOSNDzPBJakQhkAklQoA0CSCmUASFKhDABJKpQBIEmFMgAkqVAGgCQVygCQpEIZ\nAJJUKANAkgplAEhSoQwASSqUASBJhTIAJKlQBoAkFcoAkKRCGQCSVCgDQJIKZQBIUqEMAEkqlAEg\nSYUyACSpUAaAJBXKAJCkQhkAklQoA0CSCmUASFKhDABJKtTa0y0QERsBrwe2qGfdD9ycmY83V5bU\nrMNO/VLf+Zcct3vLlUjdmbIFEBELIuJ84LvAImC8/lkEfCcizouIBe2UKUmaa4NaADcBlwHHZOby\n3iciYi3gsHqZnZorT5LUlEF9AAdn5seAHfs8t29mXgwc3ExZkqSmDWoBjEXE7sAZEfGenvnrAGcD\nn8vMBxqtTpLUmEEBsBnwP6g6f4/vmb8SuHCYlUfENsA1wFmZeW5EXApsD6zqQD49M2+YYc2SpDkw\nZQBk5q3ArRFxY2Z+bqYrrjuIzwFunvTU+zPz+pmuT5I0t6YdBgrcExFnARsCY6tmZuah07zuGWBv\n4H2zL0+S1JRhAuAq4ErgjpmsuB45tDwiJj91dES8G3gUODozHxu0nvHxhTPZbGesc251VedMt+vv\nc27NhzrnQ43DGiYAfpqZJ83R9i4HHs/MOyLiOOAE4OhBL1iyZOkcbbo54+MLrXMOdVnnTLbr73Nu\nzYc650ONMHxIDRMAn4+IPYBbgF+dD5CZK2daVGb29gdcC1ww03VIkubGMNcC+gDVCV//QRUAy4Fl\ns9lYRHwmIrasJ3cF7prNeiRJq2/aFkBm/vZsVhwR2wNnUA0jXRYRi6hGBV0ZEb8EngbeNpt1S5JW\n3zAXg+t7/D8z/37Q6zLzdqpv+ZN9ZqjKJEmNGuYQ0Iqen7WA3YD1myxKktS8YQ4Bndg7XV8Izm/x\nkjTPzeaGMC8AtprrQiRJ7RqmD+BBYKKeHAM2AC5tsCZJUguGOQ+g93LQE8BTmflkQ/VIkloyTAA8\nBPxPYAeqALgV+FSTRUmSmjdMH8BHgP2ABO4BFkfEhxutSpLUuGFaANtk5i490+dGxFebKkiS1I5h\nWgDrRMSvlquHgQ4THJKkETbMjvwG4LaI+HI9vRv2AUjSvDdtCyAzPwQcBTwA3A+8PTP/seG6JEkN\nGxgAEbEjQGZ+MzM/DFwBrNdGYZKkZk15CCgiFgMnR8QOmfnzevZGwHkRcWxmfqGVCiXN2mGnfqnv\n/EuO273lSjSKBrUA3gXs3rPzJzPvAfYC3t90YZKkZg0KgGWZ+dDkmfW82VxDSJI0QgbtyPte8rke\nErpxM+VIktoyKAC+FhGnTDoH4AXAh4HrG69MktSoQecBvA+4BLgvIu6guhnMtsDNwLEt1CZJatCU\nAZCZTwN/FhFbAa+iuiPYXZn5QFvFSZKaM8wdwe4F7m2hFklSixzNI0mFMgAkqVDD3BLyhcCewIZU\nt4QEIDMvabAuSVLDhrka6E3ASqqLwa0yQTVCSJI0Tw0TAOtk5msbr0SS1Kph+gDujoiNGq9EktSq\nYVoALwXujYjvA8tXzczMnRurSpLUuGEC4NTGq5AktW7KQ0ARsW39cK0pfiRJ89igFsChwLeB4/s8\nNwH0v9OE1KF+N0Bp6+Ynbd58pcv3qTXHoGsBHVv/u1t75UiS2jLolpBrA3sDD2TmdyLiNKoTwu4C\njs3MR1uqUZLUgEGHgM4HtgI2iIhvAE8BhwC7ABcD+zdfniSpKYMC4L9m5p9GxIuAezJzs3r+dyPi\noBZqkyQ1aNCJYL+EX90XICc9t6KxiiRJrRjUAhiLiDGqC8BN9DweWkRsA1wDnJWZ50bE5sDlVMNI\nHwEOycxnZle6JGl1DGoB7EJ15u+ySY+XA9OeBRwRC4BzqG4hucpJwHmZuRPVTWYOm13ZkqTVNWgY\n6OreK+AZqlFE7+uZtytwZP34OuC9wAWruR1J0iwMGgZ6NXBEZj45xfMbABdn5qJ+z2fmcmB5RPTO\nXtBzyOdRYLPnvXCS8fGF0y0yEqxzbs1lnTNZ10y3O8zyU50gNtl1Z6zewLom32dbRrWuXvOhxmEN\n6gO4APi3iPg81T0BHqznbw7sVf8cOcVrhzFUf8KSJUtXYxPtGB9faJ1zaK7rnMm6ZrJsl3Wu7utH\n8XMwHz6f86FGGD6kpjzMk5k3A9sC9wHvBK6sf95Zz9suM/91hnU9HRHr1Y9fAjw8w9dLkubIwKuB\nZuYvgLPrn7nwReBA4Ir635vmaL2SpBka5nLQsxIR2wNnAFsAyyJiEfDnwKUR8XaqW0xe1tT2JUmD\nNRYAmXk71aifyd7Y1DYlScObdqhnROzVRiGSpHYNM9b/mIi4NyJOjIiXN16RJKkV0wZAZu4N7EB1\nzP6CiLgxIg6KCO8KJknz2FB9AJn5RER8CngW+CuqM3g/GBFHZOY3myxQWl3DnojV9Tqltg3TB7Bz\nRHwc+B6wHXB4Zv4JsA9exkGS5q1hWgD/AFwIHNl75c7MvD8irmqsMklSo6YNgMzcccBzp8xtOZKk\ntqzuFT8lSfOUASBJhTIAJKlQBoAkFaqxawFJ81G/8f2XHLf7Gr9tlckWgCQVygCQpEIZAJJUKANA\nkgplAEhSoQwASSqUASBJhTIAJKlQngimeanNG7KsiTd/8aQzgS0ASSqWASBJhTIAJKlQBoAkFcoA\nkKRCGQCSVCgDQJIKZQBIUqE8EUwjZU086aot/u40U7YAJKlQBoAkFcoAkKRCGQCSVKhWO4EjYlfg\n08Dd9aw7M/N/tVmDJKnSxSigL2fmog62K0nq4SEgSSpUFy2AV0XEtcCGwImZ+YVBC4+PL2ynqtVk\nnWpCm/9fo/DZGIUapjMfahxW2wFwD3AicBWwJfCvEbFVZj471QuWLFnaVm2zNj6+0DrViDb/v7r+\nbMyHz+d8qBGGD6lWAyAzfwJcWU/+KCJ+CrwEuK/NOiRJLfcBRMSfR8R768ebAi8GftJmDZKkStuH\ngK4FPhkR+wPrAO8YdPhHktSctg8BLQX2bXObkqT+HAYqSYUyACSpUAaAJBXKG8JII6zNm7wMu61L\njtt96NdPtaxGgy0ASSqUASBJhTIAJKlQBoAkFcoAkKRCGQCSVCgDQJIKZQBIUqE8EUyzNuyJP1Od\nYORJQuq173uued48PyPNsgUgSYUyACSpUAaAJBXKAJCkQhkAklQoA0CSCmUASFKhPA9gnmjrZhur\nO2Z/JjcwafNmJ5o7o/j/5rkms2MLQJIKZQBIUqEMAEkqlAEgSYUyACSpUAaAJBXKAJCkQhkAklQo\nTwQbQcOeaNPmCTmjePKP5qfVPVnQk7vmji0ASSqUASBJhTIAJKlQBoAkFcoAkKRCtT4KKCLOAv4U\nmADemZm3tV2DJKnlFkBE7AK8MjNfAxwOfKTN7UuSfq3tQ0CvBz4HkJnfBzaIiN9quQZJEjA2MTHR\n2sYi4iLghsy8pp7+KnB4Zv6wtSIkSUD3ncBjHW9fkorVdgA8DGzaM/07wCMt1yBJov0A+BdgEUBE\nbAc8nJlLW65BkkTLfQAAEXEqsDOwEjgqM7/TagGSJKCDAJAkjYauO4ElSR0xACSpUPPihjAR8WLg\nB8B/z8xbOi7neSJiE+Ay4IXAOsC7M/P/dlvV80XE2sA/Aa+g+r9/b2Z+rduq+qvPGv80cFhmXt91\nPb3m0+VMImIb4BrgrMw8t+t6+omI04CdqD6Tp2TmP3dc0vNExG8ClwIvpvo7P3nUPpe9ImI94C6q\nOi+darn50gI4Hfhx10UMcDBweWbuBvwtcHLH9UzlEOAXmbkj1aU4zuy4nr4i4hXAu4Gvd13LZPPp\nciYRsQA4B7i561qmEhG7AdvUv8+9gLM7Lmkq+wLfysxdgD9jRP92enwA+Nl0C418AETE7sBS4M6u\na5lKZp6ZmZ+sJzcHHuqyngGuoNqxAiwBNuqwlkEeAQ4Aft51IX3Mp8uZPAPsTXX+zaj6CnBQ/fhJ\nYEFErNVhPX1l5pWZeVo9Ocp/40TE1sCrgBumW3akDwFFxDrAB4H9Gd1vBgBExKbAdcBCYCRvWpqZ\ny4Bl9eS7gE8OWLwzmflLgIjoupR+NgVu75leUs97qptyppaZy4HlI/p7BCAzVwC/qCcPB26s542k\niPgG8FJgn65rGeAM4GjgLdMtODIBEBFHAEdMmv154OLMfHJUPsRT1PnBzPw/wA4RsTfVscI92q6t\n16A6I+IoYDuqZm2npvl9zgdezmQORMT+VAHQ6d/NdDLztRHxh8AVEfHqzBypcfQRcShwa2beN8w+\nc6TPA4iIrwOrmoOvoPq2dVBm3t1dVc9XHxf+bmY+UU8/lpkbd1xWXxFxOFWT+79l5n90Xc8gEXEp\ncPUodbZFxAnAI5n50Xr6x8CrR/mM9rrmx0a4E3hPqn6zvTJz2uPWXYiI7YFHM/PBevp7wK6Z+Wi3\nlT1XRFwJbAmsoGqpPAO8PTO/2G/5kWkB9JOZr1v1uN4ZXDpqO//aAcC2wNkR8QfAgx3X01dEbAkc\nCewy6jv/EfYvwInAR72cyeqLiPWpBnm8YVR3/rWdgZcD76pHJb4IeKzbkp4vMxevelwH//1T7fxh\nxANgHjkZuCwiDgDWBd7RcT1TOYKq4/fGnubhHpn5bHclPV9EvBn4a2BrYPuIOCYzR+LQQGZ+IyJu\nr48FrwSO6rqmqdTfWs8AtgCWRcQi4IAR29EuBjYGrur5TB6amf+/u5L6uhD4p/oS9utRXcZmZcc1\nrbaRPgQkSWrOyA8DlSQ1wwCQpEIZAJJUKANAkgplAEhSoQwASSqUASBJhTIApBmIiHdHxMX144iI\nH0TEwq7rkmbDAJBm5myqff/rgPOprrPipSA0LxkA0gzUp/8fBlwF3JmZX+64JGnWDABp5jYEngZe\n1nUh0uowAKQZiIgXUl0YbF/g2Yg4pOOSpFkzAKSZOQn4bGb+EHgncGJEvLTjmqRZ8WqgklQoWwCS\nVCgDQJIKZQBIUqEMAEkqlAEgSYUyACSpUAaAJBXqPwEfGlC1VhSidAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8c89d458d0>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "ynG5KRy5fDCl",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 294
},
"outputId": "c12fa259-e26c-4738-e766-98a6fa4681db"
},
"cell_type": "code",
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"x = np.arange(20)\n",
"y = 2*x + 1\n",
"\n",
"m, b = np.polyfit(x, y, deg=1)\n",
"plt.plot(x, m*x + b, 'r-')\n",
"\n",
"plt.xlabel('x')\n",
"plt.ylabel('y')\n",
"plt.title('Linear Regression Example')\n",
"plt.axis([0, 21, 0, 42])\n",
"plt.grid(True)\n",
"plt.show()"
],
"execution_count": 12,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8c87c48710>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "8PxmCdT0gULX",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"outputId": "6f6e16f2-b6f2-410a-ba31-e473a11f17b9"
},
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn import datasets, linear_model\n",
"from sklearn.metrics import r2_score\n",
"diabetes = datasets.load_diabetes()\n",
"\n",
"df = pd.DataFrame(diabetes.data, columns=(\"age\", \"sex\", \"bmi\", \"map\", \"tc\", \"ldl\", \"hdl\", \"tch\", \"ltg\", \"glu\"))\n",
"df['target'] = diabetes.target\n",
"df.head()\n"
],
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>age</th>\n",
" <th>sex</th>\n",
" <th>bmi</th>\n",
" <th>map</th>\n",
" <th>tc</th>\n",
" <th>ldl</th>\n",
" <th>hdl</th>\n",
" <th>tch</th>\n",
" <th>ltg</th>\n",
" <th>glu</th>\n",
" <th>target</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.038076</td>\n",
" <td>0.050680</td>\n",
" <td>0.061696</td>\n",
" <td>0.021872</td>\n",
" <td>-0.044223</td>\n",
" <td>-0.034821</td>\n",
" <td>-0.043401</td>\n",
" <td>-0.002592</td>\n",
" <td>0.019908</td>\n",
" <td>-0.017646</td>\n",
" <td>151.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-0.001882</td>\n",
" <td>-0.044642</td>\n",
" <td>-0.051474</td>\n",
" <td>-0.026328</td>\n",
" <td>-0.008449</td>\n",
" <td>-0.019163</td>\n",
" <td>0.074412</td>\n",
" <td>-0.039493</td>\n",
" <td>-0.068330</td>\n",
" <td>-0.092204</td>\n",
" <td>75.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.085299</td>\n",
" <td>0.050680</td>\n",
" <td>0.044451</td>\n",
" <td>-0.005671</td>\n",
" <td>-0.045599</td>\n",
" <td>-0.034194</td>\n",
" <td>-0.032356</td>\n",
" <td>-0.002592</td>\n",
" <td>0.002864</td>\n",
" <td>-0.025930</td>\n",
" <td>141.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-0.089063</td>\n",
" <td>-0.044642</td>\n",
" <td>-0.011595</td>\n",
" <td>-0.036656</td>\n",
" <td>0.012191</td>\n",
" <td>0.024991</td>\n",
" <td>-0.036038</td>\n",
" <td>0.034309</td>\n",
" <td>0.022692</td>\n",
" <td>-0.009362</td>\n",
" <td>206.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.005383</td>\n",
" <td>-0.044642</td>\n",
" <td>-0.036385</td>\n",
" <td>0.021872</td>\n",
" <td>0.003935</td>\n",
" <td>0.015596</td>\n",
" <td>0.008142</td>\n",
" <td>-0.002592</td>\n",
" <td>-0.031991</td>\n",
" <td>-0.046641</td>\n",
" <td>135.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" age sex bmi map tc ldl hdl \\\n",
"0 0.038076 0.050680 0.061696 0.021872 -0.044223 -0.034821 -0.043401 \n",
"1 -0.001882 -0.044642 -0.051474 -0.026328 -0.008449 -0.019163 0.074412 \n",
"2 0.085299 0.050680 0.044451 -0.005671 -0.045599 -0.034194 -0.032356 \n",
"3 -0.089063 -0.044642 -0.011595 -0.036656 0.012191 0.024991 -0.036038 \n",
"4 0.005383 -0.044642 -0.036385 0.021872 0.003935 0.015596 0.008142 \n",
"\n",
" tch ltg glu target \n",
"0 -0.002592 0.019908 -0.017646 151.0 \n",
"1 -0.039493 -0.068330 -0.092204 75.0 \n",
"2 -0.002592 0.002864 -0.025930 141.0 \n",
"3 0.034309 0.022692 -0.009362 206.0 \n",
"4 -0.002592 -0.031991 -0.046641 135.0 "
]
},
"metadata": {
"tags": []
},
"execution_count": 14
}
]
},
{
"metadata": {
"id": "nd93YvVvhuZd",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "1f10a2b7-6077-4e8e-99f3-3e327ec1e9e0"
},
"cell_type": "code",
"source": [
"diabetes_X = diabetes.data[:, np.newaxis, 2]\n",
"\n",
"diabetes_X_train = diabetes_X[:-20]\n",
"diabetes_X_test = diabetes_X[-20:]\n",
"\n",
"diabetes_Y_train = diabetes.target[:-20]\n",
"diabetes_Y_test = diabetes.target[-20:]\n",
"\n",
"regr = linear_model.LinearRegression()\n",
"\n",
"regr.fit(diabetes_X_train, diabetes_Y_train)\n",
"\n",
"diabetes_y_pred = regr.predict(diabetes_X_test)\n",
"\n",
"print('r^2 score: %.2f' % r2_score(diabetes_Y_test, diabetes_y_pred))\n"
],
"execution_count": 17,
"outputs": [
{
"output_type": "stream",
"text": [
"r^2 score: 0.47\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "jnGr8Bjui7KO",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 277
},
"outputId": "bf50bc1a-0baa-4c8f-d03c-d3dee7969374"
},
"cell_type": "code",
"source": [
"plt.scatter(diabetes_X_test, diabetes_Y_test, color='black')\n",
"plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)\n",
"\n",
"plt.xticks(())\n",
"plt.yticks(())\n",
"\n",
"plt.xlabel('bmi')\n",
"plt.ylabel('target')\n",
"plt.title('Linear Regression between bmi and target')\n",
"plt.grid(True)\n",
"\n",
"plt.show()"
],
"execution_count": 18,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n/H9Lr5Gk7k/d+wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8c87caba58>"
]
},
"metadata": {
"tags": []
}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment