mirea-projects/Third term/Artificial intelligence systems and big data/4.ipynb
2024-09-27 08:31:03 +03:00

1360 lines
323 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Рабочая тетрадь No 4"
]
},
{
"cell_type": "code",
"execution_count": 403,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn import metrics\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1.3 Задание\n",
"\n",
"Представьте собственные данные и постройте эктраполяцию полиномами \n",
"первой, второй и третьей степени. "
]
},
{
"cell_type": "code",
"execution_count": 404,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[-0.07808256 1.34935162 1.7342857 2.54080198 3.89339092 4.61161853\n",
" 6.12398157 6.8045353 8.26939507 9.02620843 9.50583159]\n",
"[8.71060552e-01 2.77270588e+00 6.94877588e+00 2.01183390e+01\n",
" 5.48419138e+01 1.48152200e+02 4.03507781e+02 1.09625683e+03\n",
" 2.98133624e+03 8.10312483e+03 2.20261474e+04]\n"
]
}
],
"source": [
"import math\n",
"\n",
"delta = 1.0\n",
"x = np.linspace(0, 10, 11)\n",
"y = math.e ** x + delta * (np.random.rand(11) - 0.5)\n",
"x += delta * (np.random.rand(11) - 0.5)\n",
"\n",
"print(x)\n",
"print(y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Эктраполяция полиномом первой степени"
]
},
{
"cell_type": "code",
"execution_count": 405,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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YWEaOnRojTFVVVXKy8vzjAEAAIGtUXty0tLSlJubq3fffVdt27b1HEPTrl07tW7dWu3atdPMmTOVlZWljh07KioqSr/4xS+UmJioESNGSJKSk5PVr18/Pfjgg1q0aJGKior05JNPKi0tzbOX5ec//7mWL1+uRx99VA899JC2bNmit99+W++//76nlqysLE2fPl3Dhg3T8OHD9eKLL6qsrEwzZsxoqt4AAIAWrFEhZ8WKFZKk0aNH15j+2muv6Sc/+YkkacmSJQoODtbkyZNVXl6ulJQUvfzyy56xISEhWr9+vWbNmqXExES1adNG06dP1zPPPOMZEx8fr/fff1+ZmZlaunSpunbtqldeeUUpKSmeMffdd5+++eYbzZ8/X0VFRbrlllu0cePGKw5GBgAAgalRIceyrAbHREREKCcnRzk5OXWO6d69uzZs2FDvckaPHq39+/fXOyY9PV3p6ekN1gQAAAIP964CAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEYi5AAAACMRcgAAgJEIOQAAwEiEHAAAYCRCDgAAMBIhBwAAGImQAwAAjETIAQAARiLkAAAAIxFyAACAkQg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEYi5AAAACMRcgAAgJEIOQAAwEiEHAAAYCRCDgAAMBIhBwAAGImQAwAAjETIAQAARiLkAAAAIxFyAACAkQg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEYi5AAAACMRcgAAgJEIOQAAwEiEHAAAYCRCDgAAMBIhBwAAGImQAwAAjETIAQAARmp0yNm2bZvuuecexcbGKigoSOvWrasx/yc/+YmCgoJq/IwbN67GmG+//VbTpk1TVFSU2rdvr5kzZ+r8+fM1xnzyySe64447FBERobi4OC1atOiKWtauXas+ffooIiJCAwcO1IYNGxq7OQAAwFCNDjllZWUaPHiwcnJy6hwzbtw4ff31156fN998s8b8adOm6dChQ3I4HFq/fr22bdumRx55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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = np.vstack((x, np.ones(11))).T\n",
"s = np.linalg.lstsq(m,y,rcond = None)[0]\n",
"\n",
"x_prec = np.linspace(8, 10, 101)\n",
"\n",
"plt.plot(x, y,'D')\n",
"plt.plot(x_prec, s[0] * x_prec + s[1], '-', lw=1)\n",
"plt.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Эктраполяция полиномом второй степени"
]
},
{
"cell_type": "code",
"execution_count": 406,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGdCAYAAADwjmIIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGe0lEQVR4nO3dd3wUdf7H8demAxKqJEQCRIp0RBAMoCIloYgiHDZURCzHjxwlHioWRD1FUVFQFDkL5x0o4J2oiEAMStFQJVJEQEQBIQlKCQRINtn5/TFkQwRCAtmd3dn38/HYh/Od/e7OZ7/E7DtTvuMwDMNARERExGaCrC5ARERExBMUckRERMSWFHJERETElhRyRERExJYUckRERMSWFHJERETElhRyRERExJYUckRERMSWQqwuwEoul4u9e/dSuXJlHA6H1eWIiIhIKRiGwZEjR4iJiSEo6Oz7awI65Ozdu5fY2FiryxAREZHzsHv3burUqXPW5wM65FSuXBkwBykyMtJj23E6nSxevJiEhARCQ0M9tp1ApjH2Do2z52mMvUPj7HmeHOPs7GxiY2Pd3+NnE9Ahp/AQVWRkpMdDTsWKFYmMjNT/TB6iMfYOjbPnaYy9Q+Psed4Y43OdaqITj0VERMSWFHJERETElhRyRERExJYUckRERMSWFHJERETElhRyRERExJYUckRERMSWFHJEREQC2JTU7cQ98jlTUrdbXUq5C+jJAEVERALZlNTtTErZBuD+74hujawsqVxpT46IiEgAOjXgFJqUss1We3QUckRERALMmQJOITsFHYUcERGRAFJSwClkl6CjkCMiIhIgShNwCtkh6CjkiIiIBIhXShlwzre/r1HIERERCRCjezT2aH9fo5AjIiISIEZ0a0RyKYNLco/Gfn85uUKOiIhIAClN0LFDwAGFHBERkYBTUtCxS8ABhRwREZGAdKagY6eAA7qtg4iISMAqDDSvpGxjtM0CDijkiIiIBLQR3RrZLtwU0uEqERERsSWFHBEREbElhRwRERGxJYUcERERsSWFHBEREbElhRwRERGxJYUcERERsSWFHBEREbElhRwRERGxJYUcERERsSWFHBEREbElhRwRERGxJYUcERERsSWFHBEREbElhRwRERGxJYUcERERsSWFHBEREbGlMoWcCRMmcOWVV1K5cmVq1apFv3792Lp1a7E+J06cYPjw4dSoUYOLLrqIAQMGkJmZWazPrl276NOnDxUrVqRWrVqMGTOG/Pz8Yn2+/vprrrjiCsLDw2nYsCEzZsw4rZ6pU6dSv359IiIi6NChA6tXry7LxxEREREbK1PIWbp0KcOHD2flypWkpKTgdDpJSEggJyfH3Wf06NF89tlnzJ07l6VLl7J371769+/vfr6goIA+ffqQl5fHt99+y7/+9S9mzJjBuHHj3H127txJnz59uO6660hPT2fUqFHce++9LFq0yN1n9uzZJCcn8+STT/Ldd9/RunVrEhMTycrKupDxEBEREbswLkBWVpYBGEuXLjUMwzAOHTpkhIaGGnPnznX32bJliwEYaWlphmEYxoIFC4ygoCAjIyPD3efNN980IiMjjdzcXMMwDOOhhx4ymjdvXmxbt9xyi5GYmOhut2/f3hg+fLi7XVBQYMTExBgTJkwodf2HDx82AOPw4cNl+NRll5eXZ8ybN8/Iy8vz6HYCmcbYOzTOnqcx9g6Ns+d5coxL+/0dciEB6fDhwwBUr14dgHXr1uF0Ounevbu7T5MmTahbty5paWlcddVVpKWl0bJlS6Kiotx9EhMTGTZsGJs3b6ZNmzakpaUVe4/CPqNGjQIgLy+PdevWMXbsWPfzQUFBdO/enbS0tLPWm5ubS25urrudnZ0NgNPpxOl0nuconFvhe3tyG4FOY+wdGmfP0xh7h8bZ8zw5xqV9z/MOOS6Xi1GjRtGpUydatGgBQEZGBmFhYVStWrVY36ioKDIyMtx9Tg04hc8XPldSn+zsbI4fP87BgwcpKCg4Y58ff/zxrDVPmDCBp5566rT1ixcvpmLFiqX41BcmJSXF49sIdBpj79A4e57G2Ds0zp7niTE+duxYqfqdd8gZPnw4mzZtYsWKFef7Fl43duxYkpOT3e3s7GxiY2NJSEggMjLSY9t1Op2kpKTQo0cPQkNDPbadQKYx9g6Ns+dpjL1D4+x5nhzjwiMx53JeIScpKYn58+ezbNky6tSp414fHR1NXl4ehw4dKrY3JzMzk+joaHefP18FVXj11al9/nxFVmZmJpGRkVSoUIHg4GCCg4PP2KfwPc4kPDyc8PDw09aHhoZ65YfcW9sJZBpj79A4e57G2Ds0zp7niTEu7fuV6eoqwzBISkri448/ZsmSJcTFxRV7vm3btoSGhpKamupet3XrVnbt2kV8fDwA8fHxbNy4sdhVUCkpKURGRtKsWTN3n1Pfo7BP4XuEhYXRtm3bYn1cLhepqanuPiIiIhLYyrQnZ/jw4cyaNYtPPvmEypUru8+hqVKlChUqVKBKlSoMHTqU5ORkqlevTmRkJH/729+Ij4/nqquuAiAhIYFmzZpx5513MnHiRDIyMnj88ccZPny4ey/LX//6V15//XUeeugh7rnnHpYsWcKcOXP4/PPP3bUkJyczePBg2rVrR/v27Xn11VfJyclhyJAh5TU2IiIi4sfKFHLefPNNALp06VJs/Xvvvcfdd98NwCuvvEJQUBADBgwgNzeXxMRE3njjDXff4OBg5s+fz7Bhw4iPj6dSpUoMHjyYp59+2t0nLi6Ozz//nNGjRzN58mTq1KnD22+/TWJiorvPLbfcwv79+xk3bhwZGRlcfvnlLFy48LSTkUVERCQwlSnkGIZxzj4RERFMnTqVqVOnnrVPvXr1WLBgQYnv06VLF9avX19in6SkJJKSks5Zk4iIiAQe3btKREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREbEkhR0RERGxJIUdERERsSSFHREREyl3Q4seofWgNGIZlNYRYtmURERGxp5+XErzmLdoDrnl74OYZlpShPTkiIiJSfgryYeFYd9N16XWWlaKQIyIiIuXnu39B1mYADlWoj9HqVstKUcgRERGR8nH8ICz5h7u5oc6d4LAuauicHBERESkfX78Axw8A4Go+gINhjSwtR3tyRERE5MJl/Qirp5vLoRUp6PqktfWgkCMiIiIXyjBg0aNgFJjtzqMhMsbamlDIERERkQu1fTHsSDWXq8RCx79ZW89JCjkiIiJy/vJzi10yTo+nIbSCdfWcQiFHREREzt/KN+HADnO5bkdofpO19ZxCIUdERETOT/Y+WPai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Otp48cUX3esOHTpkhIeHGx988IHH69GeHA/Jy8tj3bp1dO/e3b0uKCiI7t27k5aWZmFl9nb48GEAqlevbnEl9jN8+HD69OlT7Gdays+nn35Ku3btGDhwILVq1aJNmzb885//tLosW+nYsSOpqals27YNgO+//54VK1bQq1cviyuzr507d5KRkVHs90aVKlXo0KGDV74LA/oGnZ70+++/U1BQQFRUVLH1UVFR/PjjjxZVZW8ul4tRo0bRqVMnWrRoYXU5tvLhhx/y3XffsWbNGqtLsa2ff/6ZN998k+TkZB599FHWrFnDiBEjCAsLY/DgwVaXZwuPPPII2dnZNGnShODgYAoKCnj22WcZNGiQ1aXZVkZGBsAZvwsLn/MkhRyxjeHDh7Np0yZWrFhhdSm2snv3bkaOHElKSgoRERFWl2NbLpeLdu3a8dxzzwHQpk0bNm3axLRp0xRyysmcOXOYOXMms2bNonnz5qSnpzNq1ChiYmI0xjalw1UeUrNmTYKDg8nMzCy2PjMzk+joaIuqsq+kpCTmz5/PV199RZ06dawux1bWrVtHVlYWV1xxBSEhIYSEhLB06VKmTJlCSEgIBQUFVpdoC7Vr16ZZs2bF1jVt2pRdu3ZZVJH9jBkzhkceeYRbb72Vli1bcueddzJ69GgmTJhgdWm2Vfh9Z9V3oUKOh4SFhdG2bVtSU1Pd61wuF6mpqcTHx1tYmb0YhkFSUhIff/wxS5YsIS4uzuqSbKdbt25s3LiR9PR096Ndu3YMGjSI9PR0goODrS7RFjp16nTa9Afbtm2jXr16FlVkP8eOHSMoqPjXXnBwMC6Xy6KK7C8uLo7o6Ohi34XZ2dmsWrXKK9+FOlzlQcnJyQwePJh27drRvn17Xn31VXJychgyZIjVpdnG8OHDmTVrFp988gmVK1d2H+OtUqUKFSpUsLg6e6hcufJp5zhVqlSJGjVq6NyncjR69Gg6duzIc889x80338zq1auZPn0606dPt7o02+jbty/PPvssdevWpXnz5qxfv55JkyZxzz33WF2aXzt69Cg//fSTu71z507S09OpXr06devWZdSoUfzjH/+gUaNGxMXF8cQTTxATE0O/fv08X5zHr98KcK+99ppRt25dIywszGjfvr2xcuVKq0uyFeCMj/fee8/q0mxNl5B7xmeffWa0aNHCCA8PN5o0aWJMnz7d6pJsJTs72xg5cqRRt25dIyIiwrj00kuNxx57zMjNzbW6NL/21VdfnfH38ODBgw3DMC8jf+KJJ4yoqCgjPDzc6Natm7F161av1OYwDE31KCIiIvajc3JERETElhRyRERExJYUckRERMSWFHJERETElhRyRERExJYUckRERMSWFHJERETElhRyRERExJYUckRERMSWFHJERETElhRyRERExJYUckRERMSW/h9Tedge0xB8CgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = np.vstack((x**2, x, np.ones(11))).T\n",
"s = np.linalg.lstsq(m, y, rcond = None)[0]\n",
"\n",
"x_prec = np.linspace(0, 10, 101)\n",
"\n",
"plt.plot(x, y,'D')\n",
"plt.plot(x_prec, s[0] * x_prec**2 + s[1] * x_prec + s[2], '-', lw=2)\n",
"plt.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Эктраполяция полиномом третьей степени"
]
},
{
"cell_type": "code",
"execution_count": 407,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2UPWthCfjwMKOSIiIoGv9KmqJm3NmwCGOIUcERGRQGYYsG2hta3ruJA/VQUKOSIiIoHt6CY48421TaeqAIUcERGRwLb1H9b1Ju2gRS97avEzCjkiIiKBqqgIti2wtnUfr1NV31PIERERCVSH18K5Y9a27jfbU4sfUsgREREJVKVPVcV2hdgu9tTihxRyREREAlFhQdlnVekojoVCjoiISCA6+DnknrC2dVPIuZJCjoiISCAqfaqqRW9o2s6WUvyVQo6IiEigKciHHaWeVdV9vD21+DGFHBERkUCz/zO4dNba1u3H9tTixxRyREREAk3pU1WJA6BRoj21+DGFHBERkUDiugg7F1vbdKqqXAo5IiIigWT3J5B//vK6w2k+kFPKUMgREREJJFvmW9dbXwsN4uypxc8p5IiIiASKC6dgzzJrW89b7aklACjkiIiIBIrt/4LC/MvrYVHQ5Yf21ePnFHJEREQCRelTVR1ToE4jW0oJBAo5IiIigeDMYfjmC2ubTlVVSiFHREQkEGz92Loe3RA6jLSnlgChkCMiIhIIvv7Iut71RxAeZU8tAUIhR0RExN9lbYXj261tPW+zp5YAopAjIiLi77aUOooT0xJaDbKnlgCikCMiIuLPiopgS6n5OD3Gg1Mf4VXRCImIiPizb76AnKPWth66qsodCjkiIiL+rPSpqtiuEN/dnloCjEKOiIiIv3JdhG0LrW26N47bFHJERET81c7FkJdzRYMDetxiWzmBRiFHRETEX2XOs663vQEatrSnlgCkkCMiIuKPcr6F/Z9Z23rdYU8tAUohR0RExB99/SEYRZfXI+tDlx/YV08AUsgRERHxN4YBX71vbes6DiLr2VJOoFLIERER8TfHNsOJnda23rfbU0sAU8gRERHxN6WP4jRqpcc41IBCjoiIiD8pyIMt861tvW7XYxxqQCMmIiLiT3Z/AhdPW9t6TbCnlgCnkCMiIuJPSp+qapUMTdraU0uAU8gRERHxF7nfwZ5l1rbeujdOTSnkiIiI+IuvPoCigsvr4XXMS8elRhRyRERE/IFhwOa/W9u63ATRMfbUEwQUckRERPzBkQ1l741z9V321BIkFHJERET8waZ3reuNk6D1dfbUEiQUckREROyWdx62LbC29fmJ7o1TSxo9ERERu21bAPnnL687nLqqygMUckREROxWesJx+xEQk2BP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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = np.vstack((x**3, x**2, x, np.ones(11))).T\n",
"s = np.linalg.lstsq(m, y, rcond = None)[0]\n",
"\n",
"x_prec = np.linspace(0, 10, 101)\n",
"\n",
"plt.plot(x, y, 'D')\n",
"plt.plot(x_prec, s[0] * x_prec**3 + s[1] * x_prec**2 + s[2] * x_prec + s[3], '-', lw=3)\n",
"plt.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1.5 Задача\n",
"\n",
"Необходимо проверить гипотезу, что наши точечно заданная функция ложится \n",
"на кривые вида: \n",
"1. $f(x,b) = b_0+b_1x$\n",
"2. $f(x,b) = b_0+b_1x+b_2x^2$\n",
"3. $f(x,b) = b_0+b_1\\ln(x)$\n",
"4. $f(x,b) = b_0x^{b_1}$ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функция №1"
]
},
{
"cell_type": "code",
"execution_count": 439,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1.45930946 1.67619359]\n",
"0.04053187863635288\n",
"35.64010010802867\n"
]
}
],
"source": [
"beta = (1.24, 1.74)\n",
"def f(x, b0, b1):\n",
" return b0 + b1 * x\n",
"\n",
"xdata = np.linspace(0,5,50)\n",
"y = f(xdata, *beta)\n",
"ydata = y + 1 * np.random.randn(len(xdata))\n",
"\n",
"from scipy.optimize import curve_fit\n",
"beta_opt, beta_cov = curve_fit(f, xdata, ydata)\n",
"print(beta_opt)\n",
"\n",
"lin_dev = sum(beta_cov[0])\n",
"print(lin_dev)\n",
"\n",
"residuals = ydata - f(xdata, *beta_opt)\n",
"fres = sum(residuals**2)\n",
"print(fres)"
]
},
{
"cell_type": "code",
"execution_count": 440,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkUAAAG6CAYAAAAGUjKQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABgKUlEQVR4nO3deVzU1RrH8c+ACppI4oYmFlmpSO5LLi1abplXq1tZmlruS7nkXmamubVom2uLltl+zazULDPT3BEV0Sy1NMUNFNxAnZn7x8+ZAQVhYDaG7/v14nUvZ37z+x2ge+fpnOc8j8lqtVoRERERKeACvD0BEREREV+goEhEREQEBUUiIiIigIIiEREREUBBkYiIiAigoEhEREQEUFAkIiIiAkAhb0/AV1ksFg4fPkxISAgmk8nb0xEREZEcsFqtnD59mgoVKhAQ4Nzaj4KiLBw+fJiIiAhvT0NERERy4eDBg1SsWNGp9ygoykJISAhg/FJLlCjh5dmIiIhITqSkpBAREWH/HHeGgqIs2LbMSpQooaBIREQkn8lN6osSrUVERERQUCQiIiICKCgSERERARQUiYiIiAAKikREREQABUUiIiIigIIiEREREUBBkYiIiAigoEhEREQEUEVrERER8XFmi5WN+5M4djqVsiHBNIgMIzDA9c3aFRSJiIiIz1oWl8C4JfEkJKfax8qHBjO2XRSto8u79FnaPhMRERGftCwugb4LYjIERABHklPpuyCGZXEJLn2egiIRERHxOWaLlXFL4rFm8pptbNySeMyWzK7IHQVFIiIi4nM27k+6aoUoPSuQkJzKxv1JLnumgiIRERHxOcdOZx0Q5ea6nFBQJCIiIj6nbEiwS6/LCQVFIiIi4nMaRIZRPjSYrA7emzBOoTWIDHPZMxUUiYiIiM8JDDAxtl0UwFWBke37se2iXFqvSEGRiIiI+KTW0eWZ2bkO4aEZt8jCQ4OZ2bnOVXWKzBYrG/flPvFaxRtFRETEZ7WOLk+LqPBsK1rbijweOqagSERERPxUYICJRpVLZfm6rchjXisWaftMRERE8q1rFXl0loIiERERybeyK/LojHwZFK1evZp27dpRoUIFTCYT33zzTYbXrVYrL774IuXLl6do0aLcd999/Pnnn96ZrIiIiAuZLVbW7U1kcewh1u1NdGmbi/zIlcUb82VO0dmzZ6lZsyZPP/00Dz300FWvT506lbfeeov58+cTGRnJmDFjaNWqFfHx8QQHu67Ik4iIiCd5smN8fuHK4o35Mihq06YNbdq0yfQ1q9XK9OnTeeGFF2jfvj0AH330EeXKleObb76hY8eOnpyqiIiIS2SVTGzrGJ/ZEfWCwFbk8UhyqhKtr7R//36OHDnCfffdZx8LDQ2lYcOGrFu3Lsv3paWlkZKSkuFLRETEF3ijY3x+ca0ij87yu6DoyJEjAJQrVy7DeLly5eyvZWbSpEmEhobavyIiItw6TxERkZzyRsf4/MRW5PHGYiYGrvkk1/fxu6Aot0aNGkVycrL96+DBg96ekoiICOCdjvH5TeuTf/HLJ4PpuXlxru/hd0FReHg4AEePHs0wfvToUftrmQkKCqJEiRIZvkRERHyBNzrG5xspKdCvH9x1F6Y9e/J0K78LiiIjIwkPD+fnn3+2j6WkpLBhwwYaNWrkxZmJiIjkjjc6xucL338P1avDzJn2oYt1G+b6dvkyKDpz5gyxsbHExsYCRnJ1bGwsBw4cwGQyMWjQICZMmMC3337Ljh076NKlCxUqVKBDhw5enbeIiEhueKNjvE87fhw6dYIHHoB//zXGihVj3aDPuev88lzf1mS1WvNdqvqqVato1qzZVeNdu3Zl3rx5WK1Wxo4dy5w5czh16hRNmzZlxowZ3HbbbTl+RkpKCqGhoSQnJ2srTUREfEKBr1NktcJnn8Gzz8KJE/bhU/d0YNQN85m9sARWawqQu8/vfBkUeYKCIhER8UVmizXbjvF+6d9/oW9f+O47+5D1+pJ83nERgxbdxdGjtt9B7oOifFm8UURExN/kNNjJrmO837FYYM4cGD4cTp+2D+9r3Y9+qW+wfFaQfey66+D552H06Nw9SkGRiIiIlxX4bbGs7NkDPXvC6tX2oQvlInj9vqW8/HV1UtNVIOjQAd56C0JDcx8U5ctEaxEREX9ha99xZXFGW/uOZXEJXpqZF126BFOmQI0aGQKiNW0nUafkfkZ/4giIKlaERYuMr7zWXdZKkYiIiJdk177DhNG+o0VUuNN5Q/k292jrVuje3fjPy5Iq1WJk9HfM/f4G+1hAAAwcCOPGQUiIax6toEhERMRLnGnf4UweUb7cjktNhZdfhqlTwWwGwGoKYGHrjxi86QmO/+AI6OrWNdKM6tRx7RS0fSYiIuIl7mjfkS+349asgZo1YdIke0D05y1taFkvic5LO3H8hBEQhYQYeUMbNrg+IAIFRSIiIl7j6vYd2W3HgbEdZ7b4SDWelBTo3x/uvNNIqgbSCl3HhOYruf3g9/y0KdR+6UMPQXw8PPMMBAa6ZzoKikRERLzE1e07nNmO87offoDoaJgxwz60ulpvakUkMmZlM9LSjN9KpUrw7bfw9ddGUrU7KSgSERHxEle373DHdpzLnTgBnTtD27Zw8CAAR4Nu4NGaW7l71yx27zfqDgUGwtChsHMntGvnmakpKBIREfGi1tHlmdm5DuGhGbfIwkODmdm5jlOJ0a7ejnMpW4uOatXgk0+MIeD5Ui9Q0fQnX26rZb+0YUPYsgVefRWKF/fcFHX6TERExMtaR5enRVR4no/Q27bjjiSnZppXZMIItnK6HecymbTo2Fy4Fg+FfM7BREdfUlORi5S8+w/GvFqKmjU9f0pOQZGIiIgPcEX7Dtt2XN8FMZggQ2CU1XacW+sZWSwwdy4MG2Zv0ZFGEXqXmclHiV2xJjkypotVPUzJ5vEUDkljwg9HaX2787WZ8kpBkYiIiB+xbcddWacoPJM6RW6tZ/Tnn0aLjl9/tQ/9UvIhni78AX8fc5wqCww9R6kWcRStfBzIfW0mV1BQJCIi4mdysh1nq2d05TabrZ6Rs/lMdpcuwRtvwNix2HpxHKc0Q2/5ho/+auK4LsBCifr7CG3yJwGFLVfdxhvJ4AqKRERE/NC1tuPc1l5k2zZ4+mmIibHfa17pYQxNm0DSX0XslwVVOElY6x0UKXM6ixt5Jxlcp89EREQKGJfXM0pNheefh3r17AHRLlMU99zwF0+fmErSaSMgCg2FGTOs1OoXQ1AWAZGztZlcSUGRiIhIAePSekZr10KtWjBxIly6RCpBvFhmBjUDd7D6UGX7ZY8/Drt3Q9++Jl5q77raTK6koEhERKSAcUk9o9OnjZ4bd94Jf/wBwE+Brbg97BDjj/fl4iUjxLj5Zli+HBYuhPBw462urM3kSsopEhERKWDyXM9o6VLo3dtekfoYZXiu1HwWJLaByztuhQrB8OHwwgtQtOjVt3BVbSZXUlAkIiJSwOSmnhEAiYkweDB8/DEAFkx8UKQPwwu9wclEx6pPkyYwezZUr579PDx97P5atH0mIiJSADm1hWW1wuefGy06LgdEO4ni7uu30fPCDE6eM+5RsqRRq3H16uwDIl+klSIREZECKkdbWIcOQb9+Rqt64DzBTAiawNRLg7l0yrG20rkzvP46lC3r6Z/CdRQUiYiIFGBZbmFZLPDee0aLjpQUAH6kBX2v+4h9Z8Ptl91yC8ycCffd56kZu4+2z0RERCSjv/6Ce+81kqlTUjhCOZ4I/ppW/GgPiAoXhjFjYMcO/wiIQCtFIiIiYnPpEkybBi++CKmpWDAxl56MLPIGp1Kvs192110wa5aRYuRPFBSJiIiI0aKje3fYsgWAHUTTO2ge69LqwgXjkrAweO016NYNTN47Oe822j4TEREpyFJTjWJC9erBli2cpRgjmEKdgFgjILqsa1ejIvVTT/lnQARaKRIRESm41q6FHj2MaAf4gTb0LzyHvy9WhMuN62+7zdgqa9bMi/P0EAVFIiIiBc3p0zB6NLz7LlitHKY8g0xv8aX1v3DRuKRIEeOSESMg2MmG9WaL1acqVeeUgiIREZGCZNky41TZgQOYCWAWfRkdOIUUc3H7JffcY6wOVamSi9vHJTBuSTwJyY5msuVDgxnbLsprPc1ySjlFIiIiBUFiInTpAm3awIEDxFKTxqb1DOBde0BUqhTMnw8rV+Y+IOq7ICZDQARwJDmVvgtiWBaX4IqfxG0UFImIiPizK1p0nKUYw5hKPdMWNlrr2y976ikjtahLl9wlUpstVsYtic+0waxtbNySeMyWzK7wDQqKRERE/NWhQ9ChA3TsCMeP8x1tiTLt5jWGYbYGAlC1KqxaBR98AKVL5/5RG/cnXbVClJ4VSEhOZeP+pNw/xM0UFImIiPgbiwXmzIGoKPj2Ww5Rgf/yJe34jgPWCACCgmD8eIiNhbvvzvsjj53OOiDKzXXeoERrERGRdPLrySm7v/6Cnj1h1SrMBDCDATxvmshpa4j9knvvNfqV3Xqr6x5bNiRnR9Ryep03KCgSERG5LD+fnOLSJZg+3WhIlppKDLXpzWw2U9+e1FOmjNHF44knXF+AsUFkGOVDgzmSnJppXpEJCA81gkxfpe0zERER8vnJqW3b4I47YNgwzqQGMoTXqc8mIyC6rGdPI5G6Uyf3VKQODDAxtl0UYARA6dm+H9suyqdX3RQUiYhIgZdvT06lpRkrQ5dbdCzmP1RjF9MYggUjkToqCn77zUgxCnPzIk3r6PLM7FyH8NCMW2ThocHM7FzH51fbtH0mIiIFnjMnpxpVLuW5iV3L778bDVx37+YgFXmWt/iGB+0vBwcbze6fe86oTu0praPL0yIqPF/mZSkoEhGRAi9fnZw6c8bov/HOO1yyBvAOAxnDeM7gSKRu2RJmzIDKlb0zxcAAk+8Ej05QUCQiIgVevjk5tXy50aLjn3/YTF16MYet1LG/XK6ckWv92GOuzxvK96fyckBBkYiIFHg+f3IqMRGGDIGPPiKFEMYwnXcYYM8bAujTByZNguuvd/3j8/WpPCco0VpERAq83JycMlusrNubyOLYQ6zbm+ieJGyrFb78EqKisH70Ef/jQaqxi7cYaA+Ibr/dSC+aOdN9AVG+PZXnJK0UiYiI4Dg5deWKSHgmKyIeWTk5fBj69YPFi/mHSgzgW76jnf3lokXhpZdg8GAoXNg1j7xSdqfyTBin8lpEhfvFVpqCIhERkctycnLKtnJyZaBgWznJ89FzqxXefx+GDuVS8hneZAgv8jLnuM5+SZs28O67EBmZ+8fkRL48lZcHCopERETSudbJKbevnPz1F/TqBb/8wgYa0JvZbKOW/eXwcHjrLfjvf91TgPFK+epUngsop0hERCSH3NYJ/tIleP11qFGD5F+20J93aMQ6e0BkMhk7abt3wyOPeCYggnx0Ks9FtFIkIiKSQ25ZOdm+Hbp3x7p5M1/xXwbyJglUsL9csybMng0NGzo727zz+VN5LqaVIhERkRxy6cpJWppRcrpuXf7efJwH+I5H+dIeEBUrBq+9Bps3eycgAv/oZ+YMBUUiIiI5ZFs5ySoEMGGcQst25eT336F2bS6On8TUS4OJIp4faGt/+YEHID7eaNFRyMt7Ovm9n5kztH0mIiKSQ7aVk74LYjBBhi2lHK2cnDkDzz8Pb7/NOmtDerOFHdSwv3zDDUYi9YMPei5vKCfycz8zZygoEhERcYIz9Ywy+PFH6NWLU/+cYhTvMpveWC9v2JhM8MwzMH48lCjhiZ/Cefm1n5kzFBSJiIg4yamVk6QkGDIE6/z5fMGjDORNjhJuf7l2bSORun59D/4AkikFRSIiIrmQ7cqJ1QpffQUDBrDv2HX0YynLaW1/uXhxY2VowADv5w2JQYnWIiIirnb4MDz0EBcffYLJx56iOjszBEQdOhiJ1IMGKSDyJfpTiIiIuIrVCh98AM89x9rk6vRmKzuJtr9csSK88w60b+/FOUqWtFIkIiLiCnv3wn33cbLHUHolT6Upa+0BUUCAlUGDjNUhBUS+S0GRiIhIXpjN8MYbWKNvZ+HKclRlN3PpZX+5Xj3YtMnEtGkQEuLFeUq2tH0mIiKSW3Fx0L07f21MpC+L+YkW9pdCQuCVV4yeZYGBXpyj5JhWikRERJyVlgZjx3KhdkNe2Xgf0cRlCIgefhh27TJqDykgyj+0UiQiIuKM9euhe3dWx5eiD5vYRZT9pUqVjETqdu28OD/JNa0UiYiI5MSZMzBoEImNHqB7/BDuZrU9IAoMtDJ0KOzcqYAoP9NKkYiISHZWrMDasxcf/3Mnz7GLE5Sxv9SgAcyebaJWLe9NT1zDL1eKzGYzY8aMITIykqJFi1K5cmXGjx+P1WrN/s0iIiI2SUnw1FPsadmf+/55j658ZA+ISpSw8u67RsN7BUT+wS9XiqZMmcLMmTOZP38+1atXZ/PmzTz11FOEhoby7LPPent6IiKSH3z9NWn9BjP52FNMZBYXCLK/9MgjMH26iQoVvDg/cTm/DIp+//132rdvT9u2bQG46aab+PTTT9m4cWOW70lLSyMtLc3+fUpKitvnKSIiPighAfr355dFJ+nDCvZQxf7STTdZefddE/ff78X5idv45fZZ48aN+fnnn9mzZw8A27ZtY82aNbRp0ybL90yaNInQ0FD7V0REhKemKyIivuByi44TVZvSbdF/aM4v9oAoMNDKiBGwc6fzAZHZYmXd3kQWxx5i3d5EzBalcvgqk9UPE20sFgujR49m6tSpBAYGYjabeeWVVxg1alSW78lspSgiIoLk5GRKlCjhiWmLiIi37NuHtWcv5q2MYCivkUQp+0t33GFl9mwTNWo4f9tlcQmMWxJPQnKqfax8aDBj20XROrq8K2YuV0hJSSE0NDRXn99+uX32xRdf8Mknn7Bw4UKqV69ObGwsgwYNokKFCnTt2jXT9wQFBREUFJTpayIi4qfMZnjrLXaN+og+adNZzd32l0JLWJgyNYCePU0E5GJfZVlcAn0XxHDlysOR5FT6LohhZuc6Cox8jF8GRcOGDWPkyJF07NgRgNtvv51//vmHSZMmZRkUiYhIARMXR+pTfZm4uQWT2cBFithf6tgRpk0LIDw8d7c2W6yMWxJ/VUAEYAVMwLgl8bSICicwwJS7h4jL+WVQdO7cOQKuCOsDAwOxWCxempGIiPiMtDSYNImfJqynr/kD/uJW+0s332RhxqwAWrXK2yM27k/KsGV2JSuQkJzKxv1JNKpcKsvrxLP8Mihq164dr7zyCpUqVaJ69eps3bqVN954g6efftrbUxMREW9av55jXYcxZE9vPuEl+3ChQAvDRwTwwgsBFC2a98ccO511QJSb68Qz/DIoevvttxkzZgz9+vXj2LFjVKhQgd69e/Piiy96e2oiIuINZ89ieX4MH7x5muEs5iRh9peaNrYwa04A1au77nFlQ4Jdep14hl+ePnOFvGSvi4iID/npJ3Z2nUrvwy+ylqb24ZIlLvHqG4V46ilylUh9LWaLlaZTVnIkOTXTvCITEB4azJoRzZVT5GJ5+fz2yzpFIiJybQWids7Jk5zv0pvnW2yg1uHvMwREnZ+wsPvPQnTv7vqACCAwwMTYdkaz2CtDHtv3Y9tFKSDyMX65fSYiIlkrELVzvv6aH3t+Sd+Tr7CPyvbhW268wMz3inDffe5fE2gdXZ6Znetc9bsO97fftR/R9lkWtH0mIv4oq9o5tvWKfF87JyGBIz1eYMgP9/IpT9iHCwea6dwnlTZPnqJi6WAaRIZ5bJXGbLGycX8Sx06nUjbEs88uiFS8UUREsuXXtXOsViwfzOO9Z7Yx4vxrnKKk/aUat5/GdG8cK4OSWLnIGPPkylhggEnH7vMJ5RSJiBQQztTOyVf272dH417c2eM2ep+fbg+IwoqnMfjlkyS3Wc2poIw/k62q9LK4BG/MWHyUgiIRkRzK78nJflc7x2zm3NR3GHnb/6izfga/08T+UtfHUtn5VxHWFYq5OtMZ7Ktl45bE57u/o7iPts9ERHLAH5KT/ap2zs6dLH34Pfr98Sx/E2kfvu2GM8z6uDjNmgWzbm+iqkqLU7RSJCKSDVty8pUfsPltC6ZBZBjlQ4MzWzgBjAWV8qFGIrDPunCBhKGv89jt8dz/xzR7QFQk4CIvjUpl21/FadbMuNTvVsbE7RQUiYhcQ3bJyZB/tmDye+0cy7oNzLxpClVf78EX1kfs4/fUPsX2+MKMnRhMcLpFLr9aGROPUFAkInIN/pacbKudEx6aMRAIDw323eP4Z8+y7cnXaNzYSr+EMaQQCkCpomeZ/94FVm65nipVrn6bX6yMiUcpp0hE5Br8cQumdXR5WkSF54vaOWe/+4WXOv/JtORBmNN9ZD3dPpGp75ei1DVSgWwrY30XxGCCDKt9+WFlTDxPQZGIyDX46xaMz9fOOXmS7x/7iP4r2vMPzezDVcskMuuzUO5unrO5q6q0OENBkYjINdi2YLJr7KktGNc5NPcHBj5j4eu0gfaxINMFXhiYwrDJpQkKcu5++WllTLxLQZGIyDVoC8ZzzIeOMKPt9zy/7RFO42jPcF/Vf5nxTQVurVI61/f2+ZUx8QlKtBYRyUa+TE72UZkWwLRa2TruW+648TDPbutuD4jKFDnFx28m8WN8RW6too8rcT+tFImI5IC2YPIuswKYNc6f5oYvA5iT8DAWAu3jPZvvZfIXNxNWSr9f8RwFRSIiOaQtmNyzFcC0bT8GWMw0XH6QNdv/wxIi7NdFhf7L7AXFafpAZe9MVAo0BUUiIuJWVxbAjNifSOHF5fksrb/9mmDO80KXfxg2typFinhnniIKikRExK1sBTALXbxE9KIUft7/IGcIsb8eHRJD6sNHaP5CQwVE4lUKikRExK2OnU7lxh0nObG8JovNt9vHS5uOUbnRehKaBmIy5a8CmOKfFBSJiIjbpCScZUmnPayJfzxDInWTsis48kgaR4oH2ksb5LcCmOJ/FBSJiIjLWa2w6OUdPDu+NIfMjorUtxT6g9Itt/Pv7cWwVXpSAUzxFQqKRETEpf7Znswz7faz5EAt+1hRznF35HfsebAoCYWL2cdVAFN8iaphiYiIS1y6BK8/FUdUrcIZAqI2Jdez86cjDPz2TsqWLpbhPSqAKb5EK0UiIpJnG5cm0uvx02xLjraPhZuO8Fb37fx31n2YAgOIBBXAFJ+moEhERHIt+ZSV5//7BzN+vg0rRmFLExb63vgDE7+vRWj1lhmuVwFM8WUKikRExGlWK3w14xgDnwskIa2qfbxGYBxzXjxEwzFtwaQVIMlfFBSJiIhT/t5rpv9/DvBDfKR9rBhnGVf7GwZ+15LCFaKv8W4R36WgSEREcuTiRZg28igvTQ/lvMURELUN/ol3ZwRw41OdvDg7kbxTUCQiItlat/oivR9NYsfRcvaxChzirZbf89AXHTGFlvDi7ERcQ0GRSAFhtlh16kecduoUjOp+jNn/K40VIyAyYWFA6AImfFqZEm16eXeCIi6koEikAFgWl8C4JfEkJDt6S5UPDWZsuyjVh5FMWa3w+UdpDOqXxtFzZe3jtYlhdtd11J/5NBQt6sUZirieijeK+LllcQn0XRCTISACOJKcSt8FMSyLS/DSzMRX7dsHbRom8ni3II6eM7bFruMMb9zwOhs3mqg/r78CIvFLCopE/JjZYmXcknismbxmGxu3JB6zJbMrpKC5cAEmvXie6rddYPkmRy2h9gHfEj98PoP3P0uh+rW9OEMR99L2mYgf27g/6aoVovSsQEJyKhv3J6mgXgG3di30fjyFnQcdCdMVOcjb1WbSYVFXqPIfL85OxDMUFIn4sWOnsw6IcnOd+J+TJ2HEs+eYu6AYYAREAZh5tvAsXp4SRMjACRCgTQUpGBQUifixsiHBLr1O/IfVCp8utDK4XyrHUhxNWuuymTlNP6bOwqEQEeHFGYp4nsJ/ET/WIDKM8qHBZHXw3oRxCq1BZJgnpyVe9tdf0PKu83TqbOJYipEwXZzTvFlsFBs+/pM6q6crIJICSUGRiB8LDDAxtl0UwFWBke37se2iVK+ogLhwASa8bCG62iV+WuM4PfYQX7Orw2ie/XsIgZ0fV88yKbAUFIn4udbR5ZnZuQ7hoRm3yMJDg5nZuY7qFBUQq1dDrWppjBkbQNolI3MiggMsDnuKr5cEUXHR21CmjJdnKeJdyikSKQBaR5enRVS4KloXQImJMHyomQ/mBQJBAARyiUFM56Uehyj++ptQQi06RMCFQdGePXtYt24dhw8f5vjx46SmplKqVCnKlClDtWrVaNKkCcWKFcv+RiLiFoEBJh27L0CsVvj4Y3hu4EVOnCpsH2/ABmZXmkitj5+Du+7K9j5qDyMFSZ6ConXr1jFnzhyWL1/O0aNHr/2gQoWoU6cOnTp14sknnyQ0NDQvjxYRkSzs2QN9e5lZ+WsgYAREJUhmoukF+gwtTuC4z3JUkVrtYaSgMVmtVqdL2S5YsICpU6eyc+dO0r+9ePHilCpVirCwMIoWLUpSUhJJSUmcOHECi8ViPNBkomjRojz++OO8+OKLRPjoCYeUlBRCQ0NJTk6mhJaWRSQfSEuDyZNh4isWLlx0pIw+whdMr/4eFT6aDHXq5OhetvYwV35A2NaIlI8mviovn99OBUWrVq1i6NChbN26FavVSlhYGA8//DB33XUXDRs25JZbbsn0fWfOnGHz5s1s2LCBb7/9lnXr1gEQHBzMwIEDGT16NCEhIU5N3N0UFIlIfrJqFfTpZeaPPwPtYzexn3cLDeL+l++AoUOhcOGsb5CO2WKl6ZSVWVZDN2Ek6q8Z0VxbaeJzPBYUBVyuatqqVSv69OnD/fffT+Ec/o8svf379/Pxxx/z9ttvk5SUxEsvvcSYMWOcvo87KSgSkfzgxAkj3pk/3zEWyCWe43XG3vEjxT58F6pWdeqe6/Ym8vjc9dle92nPO5SnJj4nL5/fTh3Jb9WqFevWrWPp0qW0b98+VwERQGRkJC+++CL//PMPkyZNIixMheNERJxhtcK8eVC1iiVDQHQH64gp2pQp7xSn2NoVTgdEoPYwUnA5lWi9dOlSlz68WLFiDB8+3KX3FBHxd7t3Q58+Vn791YTt321DOcUURtCz9b8EzP4CKlXK9f19oT2MTr2JN6hOkYhIPpGaCpMmwaRJVi5edAQIHfmUaSXHE/7WaOjUKc8VqW3tYY4kp16VaA2OnCJ3tYfRqTfxFlW0FhHJB1auhBo1rLz8MvaA6Gb2soxWfNrxW8J3r4LOnTFbjZygxbGHWLc3EbPF6QPGXm0PYzv1dmWS95HkVPouiGFZXILLnyli4/RKUVpaGj/++CPHjh2jUqVKNG3alKI5qHchIiLOO34cnnvOKMRoC0kKcZHhTOWFCh9SdNY0aNcOcO0Ki609zJX3C3fjio3ZYmXckvhMV6esGD/9uCXxtIgK11aauIVTQdGJEydo2rQpf/75p32sSJEidO7cmfHjxxMeHg7A9OnTmTVrFsnJyURERNCiRQu6d+/OzTff7NrZi4j4KYsFPvwQhg2zcvKkIwBowhpm05vqve+EKVvgciHcrOoK2VZYclNXyNPtYTbuT8qyDAAYgVFCciob9yfp1Ju4hVNB0YQJE9izZw8AVapUISkpiePHj/PBBx+wYsUKVq5cyddff83IkSPtRR2PHj3Kli1bePXVVxk+fDgTJkxw/U8hIuJH4uOhTx/47TewrQ5dz0leZRhPV15NwPtz4e677de7c4XFk+1hdOpNvM2pnKJly5ZhMpmYP38+u3bt4siRI/zwww/cdtttHDx4kE6dOjF58mSsVistWrRgzpw5jB8/ntq1a3Pp0iUmTZrEwIED3fWziIjka+fPwwsvQK1a1ssBkaETC9gdUJ0ew0sRsGNbhoAInFth8WW+cOpNCjanijded911XLp0idTUVEzpTjecOHGCRo0asW/fPgAaNWrEb7/9luGaTz/9lJ49e3L+/HnWrl3LHXfc4cIfw/VUvFFEPGnFCujbF/budYzdwp/MpC/31TwB778Pdetm+t7FsYcY+Flsts94s2Mt2te6wUUzdj1bJe3sTr2pkrZci8eKN1osFoKCgjIEOwClS5dm+PDh9i2zAQMGXHXN448/zgsvvIDVamXu3LlOTVJExF8dPWqcom/Z0hEQFeYCLzCe7UXqc9/Ee2HTpiwDIvCfFRZvnnoTASeDohtuuIGzZ8/aV4TS69Chg/2/N2jQINP39+zZE4A1a9Y481gREb9jscCcOUbB6YULHeN3sppt1GR8k+UU3bYeRo3KtmeZra5QVqGCCeMUmrvqCrmS7dRbeGjGAC48NFhNaMXtnEq0btasGfv27WPUqFF8/vnnGV4rU6YMQUFBXLhwgQoVKmT6/lKlSlGiRAkOHTqU+xmLiORzcXHQuzf8/rtjLIxEXmUY3a77ioCpk41M64Cc/XurbYWl74IYTJBh6yk/rrB4+tSbiI1TK0VDhgyhSJEifPXVV7Ru3ZqNGzdmeH3Xrl188sknBAdnvkR76dIlzp49y6VLl3I/YxGRfOrcOWPhp3Zta4aAqAvz2U1Vnm5zhID4OOjXL8cBkY2/rbDYTr21r3UDjSqXUkAkHuFUojXA/Pnz6dGjBxaLBYBy5crRsGFD6tWrR926dalbty5lypTJ9L2fffYZTzzxBBEREfzzzz95n70bKdFaRFxp6VLo3x/273eM3cYfzKQvzcO2wfTp0Llznlt0qGeYFHR5+fx2OigC2LBhAyNGjGD16tWOG6X7H/INN9yQIUiqV68esbGxPProoyQnJ9OtWzfef/99Zx/rUQqKRMQVEhJg0CD44gvHWBHSGMUkRjKZ4I4PwptvQtmyXpujiD/xeFBkc/DgQX755Rc2bdrEli1b2L59O+fOnXPc/Ip/47FarQQEBDB79mweeOABypUrl9tHu52CIhHJC7MZZs82tstSUhzj9/ALs+hDlQpnYOZM+M9/vDdJF9IKlfgKrwVFV7JYLOzatYuYmBi2bNlCTEwMsbGxnDlzJuNDLwdL4eHh1K5d2/710EMPuWoqeaagSERya9s2I5F6wwbHWClO8DrP0YWPMPXuDVOm2Ft05Hfqai++xGeCosxYrVb27NljD5K2bNnC1q1bSUn/r05AQECASxOwDx06xIgRI1i6dCnnzp3jlltu4cMPP6RevXo5er+CIhFx1tmz8NJLMG2asVJk8xQfMJXhlK58Pbz3Htxzj5dm6HpZ9VyzrRHlxyRvyd/y8vnt1JH83DCZTFSpUoUqVarwxBNP2Mf/+usve5BkC5Rc5eTJkzRp0oRmzZqxdOlSypQpw59//knJkiVd9gwRkfS++85IpD5wwDFWhd3Mog/3BPxmtLp/6SUoVsxrc3Q1dbUXf+P2oCgrt9xyC7fccguPPvqoy+89ZcoUIiIi+PDDD+1jkZGR13xPWloaaWlp9u+vXMkSEcnMoUMwcCB8/bVjLIhUnucVhjOVoBpV4f0NkMNV6vxEXe3F3zhXCCOf+Pbbb6lXrx6PPPIIZcuWpXbt2tm2Fpk0aRKhoaH2r4iICA/NVkTyI7MZ3n4bqlXLGBDdy0/s4HbGFJlK0PgxRosOPwyIQF3txf/4ZVC0b98+Zs6cya233sry5cvp27cvzz77LPPnz8/yPaNGjSI5Odn+dfDgQQ/OWETyk61b4Y474Nln4fRpY6wMx/iYzqygBbc2LguxsUbL+yJFvDpXd/KXnmsiNl7bPnMni8VCvXr1mDhxIgC1a9cmLi6OWbNm0bVr10zfExQURFBQkCenKSL5zJkzMHasUWfxcv1aAHowlymMIOy6CzD57RxXpM7vx9htPdey62qfH3quiYCfBkXly5cnKioqw1i1atX4Ov0at4iIExYvhmeegfSLyFHsZBZ9uJM10Lo1zJoFN96Yo/v5wzF2f+u5JuKX22dNmjThjz/+yDC2Z88ebszh/1mJiNgcPAgPPggdOjgComDO8wqj2Upt7gyLh48+gh9+cCog6rsg5qok5SPJqfRdEMOyuAQX/xTu428916Rg88uVosGDB9O4cWMmTpzIo48+ysaNG5kzZw5z5szx9tREJJ8wm+Gdd4y0oPT1Z1uynBn0ozL74LHHjBYdTlTn98dj7OpqL/7Co0HRyy+/DMAdd9xBy5Yt3fac+vXrs2jRIkaNGsXLL79MZGQk06dPp1OnTm57poj4jy1boFcviIlxjJXjCNMYTEc+w1ShAsz4Btq3d/re/nqM3dbVXiQ/82hQ9NJLL9lbfNx5551MnDiRxo0bu+VZDzzwAA888IBb7i0i7uHtxOPTp2HMGOOoffpE6t7MYhKjKMkpI1qaOjXXLTp0jF3Ed3l8+8zWVWT16tXceeedtGnThu+++87T0xARH+PNxGOrFb75xkikPnTIMR7NDmbTm8asg8qVYe7/oFmzPD1Lx9hFfJdHg6L9+/cDRl+yX375hZ9//pmVK1d6cgoi4oOy6p9lSzx2Z8LugQNGMPTtt46xopxjLOMYwhsUDrDAc8Nc1qJDx9hFfJfbG8Jm58KFCxTxweJmaggr4hlmi5WmU1ZmmWdjCxLWjGju0q20S5fgrbfgxReNRq42bfiBd+lPJH9DjRrw/vsur0htCwIh82PsOrUlknt5+fz2+pF8XwyIRMRznEk8dtkzN0L9+kaPVltAFE4Cn/Mo39OWyCKHYcIE2LzZLS06dIxdxDfleftsxIgRTJkyxRVzEZECyJOJx8nJxhH7d9818ogATFjoy0wmMppQUqBxY3jvPaOpmRvpGLtreDs5X/xLnoOiV199lRMnTjB37lwCclDWXkQkPU8kHlutRtPWZ5+FhHR1EWuwjTn0oiEb4brrYNJbRouOwMBcP8sZOT3Grg/+zPlDVXDxLXkOiooVK8a8efNITEzk888/z1H/sCVLltCuXbu8PlrEp+iDK3fcnXj899/Qv79RcNqmGGcZx1gG8iaFuQStWsHs2TmuSO1J+uDPnDeT88V/5Xlp5+eff6ZkyZIsWbKEVq1akZKSkuW169at46677uLBBx/M62NFfMqyuASaTlnJ43PXM/CzWB6fu56mU1bmq3YN3mLrnwWORGObvPTPungRXn0VqlfPGBC15TviiWIor1O4ZAjMnw9Ll/psQOQv7UBcKbuq4GBUBTdbvHqOSPKhPAdFDRs2ZO3atURERPDbb79x9913c/To0QzX7N69mwcffJCmTZuyZs0avHzgTcSl9MGVd65OPF6/3siPHj4czp0zxiqYDvMVD7OEdtzIAXj0Udi1C7p0AZPvrejpgz9r3kjOl4LBJXWKqlSpwu+//07r1q3Ztm0bTZo04ccffyQ4OJixY8cyf/58zGYzVquVhg0b8sorr7jisSJe5499rLzFFYnHp07B6NFGs/r0idT9eZdXrM9TgtNQvjzMmGF0ePVh/toOxBVUFVzcxWXFGytUqMDq1atp3749v/32Gw0bNuTcuXOkpqZitVqpUaMG48ePVy6R+BV9cLlWbvtnWa3wxRcwaBAcOeIYr23aymxrL+qz2Rjo0cPYU7v+epfM1530wZ81VQUXd3HpcbGQkBAeeughAJKSkjh//jyRkZEsXLiQ2NhYBUTid/TB5X379sH990PHjo6A6LqAc7zBYDZa6xsB0c03w88/w9y5+SIgAn3wX4stOT+rNUQTRjK6qoKLs1wSFFmtVj7++GOqVKnCkCFDAOyNX8+cOcNtt93miseI+Bx9cHnPxYswebKRSL1smWO8PYuJt1RlMNMpFGA1KjTu2AHNm3tvsrmgD/6suSs5XyTPQdFXX31FdHQ03bp1Y9++fQQHBzNy5EgOHjxI27ZtOXbsGM2bN1ePM/FL+uDyjt9/hzp1YNQoSL28CFexUAKL6MA3dKASB+H2242M69dec0nPMk/TB/+1qSq4uEOee5/ZCjYGBgbSrVs3xo0bR4UKFQAwm810796djz76iCJFijB//nwee+yxvM/aA9T7THJKfaw85+RJGDkS5sxxjAWYLDxrfZOXeZEQzkDhwjBmDIwYAX7QRkh1iq5N9cHkSnn5/HZJUNS+fXsmTpxItSzK4g8bNozXX3+dgIAApk2bxjPPPJOXR3qEgiJxhj643MtqhU8/hcGD4dgxx3jdwtuZc7EbddhqDDRqZLToiIryzkTdRB/8Ijnn1aDo999/p3Hjxtle99prrzFixAgARo4c6fPH8hUUibP0weUee/dC376wYoVjrHih80y8NJx+zCAQi7E9NmmSUbraQy06RMQ3eTUocsZHH31Ejx49MJvNmM1mTz02VxQUiXjXhQvG6fkJExx5QwAPFfmONy/0oSKHjIGWLY0WHTfd5JV5iohvycvnt8vqFOVEly5dKF26NI8++qgnHysi+cxvv0Hv3kbBaZtKRY/xzvnutLvwnTFQsiS88QZ07eqTFalFJP/xaFAEcP/99/PTTz95+rEikg8kJRn50e+95xgLDLAwKPAdXjo/muKcNQYfeQTefhvKlfPORLOhrVSR/MnjQRHAHXfc4Y3HioiPslrhk09gyBA4ftwx3iAkntmnn6CWZZsxkA9adCjpXiT/cqpO0auvvsr58+ddOoHNmzezdOlSl95TRPKPPXugRQt48klHQFQiKI13Cg3k99O3U4vLAVGPHhAf7/MBkZoDi+RfTgVFI0aM4Oabb2batGmcOnUqTw9es2YNDzzwAA0bNmTTpk15upeI5D9pafDyy1CjhtGBw+aR61ewKy2S/pfeMk6W3Xwz/PSTz7foUFd7kfzPqaBo9OjRpKSkMHToUMqXL89///tfvv76a46lLxyShYsXL7Jp0ybGjBlD5cqVufvuu/nhhx+oX78+HXz43/xEJG/MFivr9iayOPYQ6/YmYrZYWbUKataEsWON4AjgxtCTfBfwH7441ZIKJEBAgKNFx733evVnyAlnmgOLiG9y+kj+oUOHGD16NAsXLsRsNtt7nEVERFCzZk3KlClDWFgYQUFBnDx5kqSkJPbt28e2bdu4cOECYPRKq1y5MuPHj6djx46u/6lcQEfyRfLuyvwa87nCpK6N5kRMBfs1gYFWnivxHi+eHMR1nDMGo6Ph/fehQQOPzNMVidGLYw8x8LPYbK97s2Mt2te6IZczFZHseOxIfpUqVbj77ruZP38+kyZNYs6cOXzwwQf8+++/HDhwgAMHDtiDpPRscVehQoVo27YtvXv3plWrVpleKyL+wZZfY8VIpD67oyInV1XDct7ReqNhuf3MOdqeGid3GANeaNHhqsRoNQcWyf+cWikKCAggPDycw4cP28e2bNlC4cKFWbNmDRs2bODw4cMcP36c1NRUSpUqRZkyZYiKiuKuu+6iSZMmhISEuOUHcTWtFInkntlipemUlSQkp3Ix8ToSl99O2sFS9tcLF05lfOAYhqW+ToAt4+aOO4yz+NWr5+j+rjjynj5wSy83fetsP/OR5NRM84pMGM1K14xoruP5Im7ksZWiQoUKYbFYMozVr1+fChUq8O+//9KvXz+nHi4i/mnj/iQOJ14ged1tJK+vDBZH+mKTEiv5MqUT5S8eMQaKFYOJE2HAgBy16HDVyk52idEmjMToFlHhOQpibF3t+y6IwUTmzYELcld7kfzAqUTr0qVLk5iYeNWx/CsDJREp2Fb8ZOXwB3eS/Put9oCoRLFEPi/yEGtS7qU8RkB07I67IC4OBg7McUDkqiPv7kiMbh1dnpmd6xAemnGLLDw02KlVJxHxDqdWiurWrcsPP/xg73ofFBTkrnmJSD507JhxYGzBgtL2MVOAhcdKzOf9U/0phvEvVMlB1zH+3p48/ObzlI0sndXtMnD1ys6x01kHRLm5zqZ1dHlaRIWrorVIPuTUStGAAQOwWq3MnDmTMmXK0LZtWwAuXLjAH3/8gQd7y4qID7FYjMNiVavCggWO8YrX72VdQAM+PfW0PSD64bbG3NdjFmubPkCDm0tlcceruXplx52J0YEBJhpVLkX7WjfQqHIpBUQi+YRTK0WtWrVi3rx5DBkyhKSkJJYuXYrJZOLkyZNERUVRrFgxatSoQe3atalduzZ16tQhOjqawoULu2v+IuJl8fFG89Y1axxj15cwM/b6qTx74Hl7IvWx60ryYos+LK/SBICZTubXuHplp0FkGOVDg7NNjG4QGZbjOYpI/uZ077MuXbrw6KOP8uOPP7J69WreeOMN+2tnz55l3bp1rF+/3vGAQoWIioqyB0m1a9emZs2aFC9e3DU/gYi4VE5Pdp0/D6+8AlOnwsWLjvFOtXfyevz9lDtwwD72+e0teKV5d1KCi+e6D5irV3aUGC0iV3K6eOOVbMf0t2/fTkxMDFu3bmXr1q3ExMSwd+/eDFtqtrpEAQEBXEz//6I+SEfypSDK6cmuFSugb1/Yu9fx3soRacwMGkyLv2Y6BiMjMc+azcbKdfKcX+OuI+9q4CriX/Ly+Z3noKhSpUqYzWYOHTp01WtnzpwhNjbWHiRt3bqV+Ph4zGYzZrM5L491OwVFUtDkpGZP7TLlGTIEFi50vF64sJXh9Vfx/Pp2FLWcNQYDAowTZePHw3XXuXyOkPnKTm5PeLmq7pGIeJ9XgyKAc+fOUaxYsRxde+HCBeLi4qhTp05eH+tWCoqkIElfbDFTVgjYczMnV1Xl1ClHsHBnzWRmJz9Otb+XOq6tXt3Ium7Y0C1z1cqOiFyLx4o3ZiWnARFAkSJFfD4gEilornWy68Lx4iQtv520Q46E47CSVl6t9QndfuniqEhduDA8/zyMGuXWFh3OHHnXCpCIOMMlQZGI5G+ZndiyXAwg+fdbSdl4c4aK1F3u/ZfXdj1AmV+2OS5u2NBYHcpBiw5XsB15vxatKImIs5yqUyQi/unKE1vn95Uh4f27SVl/iz0gCro+ha8bj2P+zxGUOXw5ICpWDKZNg7VrPRYQ5YQrK1+LSMGhlSIRsdfs+feQlaSfozi3u4LjxUAz9Suv5Jt/n6TC70cd4/fdB3PmQGSk5yd8Da6ufC0iBYdWikQEEybqnqvHoffuzhAQhVRI4IMbOrJxT0sqnLscEF1/PXzwAfz4o88FROCenmYiUjBopUgkn8trMvH27UZF6vXrQ+1jAUUv0Kby53zyRx9CL55zXPzww/DOOxAe7sofwaXc1dNMRPyfgiKRfCwvycRnz8K4cfDGG5C+bFi3h5IZs/9xbt6a7ph9eDi8+y489JCrfwSXc2dPMxHxb9o+E8mn8pJM/P33Rl70q686AqKqVa2s6v0pH/4QnjEgevppo8FZPgiIwJEfldVamQkjcFRPMxG5koIikXwou2RiMJKJzZaMVxw+DI88Ag88AP/8Y4wFBcH4/gnEFm3M3bOfgNTLQdZNNxn9PN5/H0qWdNeP4nK2nmbAVYGRepqJyLUoKBLJh5xNJjabjVSgqlXhq68c193bzMyOp6fxwuxKBG293MjZZILBgyEuzjhhlg+1ji7PzM51CA/NuEUWHhqc61YgIuL/lFMk4mGuqLLsTDJxbCz06gWbNjnGy5SBaX338MTn7TH9stvxQlSUsTJ0xx1OzccXOVP5WkQEFBSJeJSrqiznJEnYciGQz94O48v5GROpe3S9wJTCYwgb/ypY07XoGD3aaNERFJTjefi6nFS+FhGxUVAk4iFZdaG3JUY7s61jSyY+kpyaaV7R+b/Kcuqn2/ks2RE8RUXB7KfW0/Ttx+DAgXQ3a2CsDkVHO/9DiYj4EeUUiXhAbhOjs5JVMvGllGCOL6rLsa/rc+FyQBQcDK88f46ttZ6i6bBGjoCoaFHjPP7vvysgEhFBQZGIR7ijynL6ZGKrBVI238Th9+/m3B5HYcWWLa3ETf6O0XNuosjCeY43N29uJFIPHgyBgbn4iURE/I+2z0Q8wF1VlltHlyfsfDhdnzZzIM7xP+dy5WDamCQ6Ln8K06BvHW8IDYXXXzdqD5mUcCwikp6CIhEPcEeV5dOnYcwYePttExaL43/KvXtZmVR1PiVHD4SUFMcbHnzQOJdfoUImd3OeK07RiYj4EgVFIh6QXWK0CaOGTk6rLH/zDQwYAIcOOcaio2H2mH9pPPNJmLPK8UK5ckaLjocfzsNPkJGrTtGJiPgS5RSJeICrqiwfOADt2xuLPraAqGhRmDzRTEznN2jc9VZYtcrxhm7djBYdLg6IctteRETElykoEvGQvFRZvnTJOCgWFQXfpksRat0adn61ixH/u4PCI5/L2KJj+XL48EMIc12PL1efohMR8SXaPhPxoNxUWd60yahIHRvrGAsPhzdfu8gju17G1H6yETWBkTw9cCCMHw/Fi7t8/s6colPRRBHJbxQUiXhYTqssJyfDCy8Y6UC2wtMmE/TtC6+0W8/1g5+C3Ve06HjvPWjUyE0zd98pOhERX6DtMxEfY7UaTVurVTMOi9kCoho1YN3P53g38Fmuv7+xIyAqVAhefBFiYtwaEIF7TtGJiPgKrRSJ+JC//zZOlX3/vWOsWDEYNw4GVl1O4W69MrboqF/faNFx++0emZ+rT9GJiPgSrRSJ+ICLF+HVV6F69YwBUdu2sHPNSYZu70Lhdq0ztuh4/XVYt85jARG47hSdiIgv0kqRiJetXw+9e8P27Y6xChXgrTetPGT+ElOrAXD8uOPF5s1hzhyoXNnzk8Vxiu7KOkXhqlMkIvlcgQiKJk+ezKhRoxg4cCDTp0/39nREADh1CkaPhlmzMiZSDxgAE/odpsSIvhnP3/tQi47cnKITEfF1fh8Ubdq0idmzZ1OjRg1vT0UEMAKgL76AQYPgyBHHeK1aMHuWlQbb34OGQzO26OjQwTiG5qIWHa6Q01N0IiL5hV/nFJ05c4ZOnToxd+5cSpYs6e3piLBvH7RpAx07OgKi664zCjNu+vQvGoy61yhKZAuIypWDL7+E//3PpwIiERF/5NdBUf/+/Wnbti333XdfttempaWRkpKS4UvEVS5ehMmTjUTq5csd4//5D8Rvv8Rg82sUqn07/PKL40Vbi47//tfr22UiIgWB326fffbZZ8TExLBp06YcXT9p0iTGjRvn5llJQbR2rZFIvXOnY+yGG+Dtt+HBytvhse6webPjxZtugtmzoWVLj89VRKQg88uVooMHDzJw4EA++eQTgoNzVkRu1KhRJCcn278OHjzo5lmKvzt50giGmjZ1BEQBAUYu0a7YNB6MGQN16zoCIluLjh07FBCJiHiByWq1+l3nxm+++YYHH3yQwMBA+5jZbMZkMhEQEEBaWlqG1zKTkpJCaGgoycnJlChRwt1TFg8zW6xuOzlltcKnn8LgwXDsmGO8bl3jJH2d1N+hRw/YtcvxYrVqRhFGN1ekFhHxd3n5/PbL7bN7772XHTt2ZBh76qmnqFq1KiNGjMg2IBL/tiwu4aoaO+VdVGNn716jN9mKFY6x4sXhlVegf9czBI4ZnbF3R6FCMGoUPP88BAVluJc7AzcREbmaXwZFISEhREdHZxi77rrrKFWq1FXjUrAsi0ug74KYq1pUHElOpe+CGGZ2rpOrwOjCBaMi9YQJkJquF+pDD8Gbb0LFncuhZm/45x/Hi/XqGatDmZSLcGfgJiIimfPLnCKRzJgtVsYtic+0Z5dtbNySeMwW53aUf/vNqDH0wguOgKhSJaPu4tdzk6j4Qjdo3doREBUtCq+9ZrToyCIg6rsgJkNABI7AbVlcglPzExGRnPHLlaLMrFq1yttTEC/buD/pqkAjPSuQkJzKxv1JOSpKmJQEw4cbiz02gYFGIvVLY60UX/YVVBuQMbGoWTOYOzfLFh3ZBW4mjMCtRVS4ttJERFyswARF4hr5Oc/l2OmsAyJnrrNaYcECeO65jC3JGjQwTtLXKnsYuvSHb75xvBgaauyv9ehxzZpDrg7cREQk5xQUSY7l9zyXsiE5K89wrev27DESqVeudIyVKAETJ0Kf3lYC570PQ4dCcrLjgvbtYcaMHFWkdlXgJiIizlNOkeSIP+S5NIgMo3xoMFmt05gwgrwGkWFXvZaWBi+/bKQApQ+IHnnEOFnfv/VeAlvdBz17OgKismWNJmeLFuW4RYcrAjcREckdBUWSLXclKHtaYICJse2iAK4KjGzfj20XddV24KpVULMmjB1rBEcAN94I338PX3xqpsKnr8Ptt2eMlrp2NVp0PPKIUy068hK4iYhI3igokmw5k+fi61pHl2dm5zqEh2ZcaQkPDb7qOP6JE/DUU0Zu9B9/GGOBgUZy9c6dcH/EDqPY4tChcP68ccGNN8KyZTBvHpRyPucnt4GbiIjknXKKJFv+lufSOro8LaLCs0wYt1ph/nwj1klMdLzvjjuMROoaVdKMaoyTJsGlS8aLJhM884wxXrx4nuc3s3Odq/K3wvNR/paISH6koEiy5Y95LoEBpkxPb+3eDX36wK+/OsZCQ40O9716QcCGdVC7e8YWHVWrGufyGzd22fyyC9xERMT1FBRJtmx5LkeSUzPNKzJhrGLk5zyX1FRj4WfyZKM6tU3HjjBtGoQXPwODnzda2+egRYcrZBW4iYiIeyinSLLl73kuK1cap8peftkREEVGGqlBn34K4dt/hOhoeOstR0BUrx5s2WK8yQ0BkYiIeJ6CIskRZxKU84vjx6FLF7j3XvjzT2PMtvgTFwet6idBt27QqlWOW3SIiEj+pe0zyTF/yXOxWODDD41TZEnpDsw1aQKzZkF0dSt8/TX075+xRcc99xgtOm65xeNzFhER91NQJE7J73ku8fFGIvVvvznGrr8epk6F7t0h4GgCPNzfKLhoU6KEsTqUTYsOERHJ37R9JgXC+fNGF/tatTIGRJ06GSfOevawEjDvA6hWLWNA9J//GJFUz54KiERE/JxWisTvrVhh9Cvbu9cxVrkyzJwJLVoA+/ZBi17w88+OC8qUgXfecboitYiI5F9aKRLAaOWxbm8ii2MPsW5vos+37MiJo0eNlaCWLR0BUeHCxorRjh3QornZOG8fHZ0xIOrSxahD9OijCohERAoQrRQJy+ISrqqeXD4fV0+2WIxaisOHw6lTjvE77zQqUlerhnG8rHt32LjRcUGlSsYFrVt7esoiIuIDtFJUwC2LS6DvgpirepsdSU6l74IYlsUleGlmubNzJ9x1l1F92hYQhYUZQdKqVVDt5jR46SWoU8cREJlMMGCAESgpIBIRKbAUFBVgZouVcUviM61SbRsbtyQ+X2ylnTtn1BeqVQvWrnWMd+liJFI//TQEbFxvBEPjxsHFi8YFVasamddvvw0hIV6Zu4iI+AYFRQXYxv1JV60QpWcFEpJT2bg/KctrfMGyZUZa0OTJjv6st95qpAnNnw9lip2FwYON3mTx8cYFhQoZ7Tm2bjUKFImISIGnnKICLKdd7XN6naclJBixzuefO8aKFDFWjEaOhOBg4KefjOP0f//tuKhuXWM/rWZNT09ZRER8mFaKCrCcdrXP6XWeYrEYx+mrVcsYEN19N2zbZqQMBZ8/aeyZtWjhCIiCg40qjevXKyASEZGraKWoAGsQGUb50GCOJKdmmldkwuht1iAyzNNTy9L27dC7txHX2JQqBa+/buQPmUzA//5ntOg4csRx0d13w3vvqUWHiIhkSStFBVhggImx7aIAR7d7G9v3Y9tF+URvs7NnjSP2depkDIi6dTMSqbt2BdORBHj4YePLFhCVKGEcs1+5UgGRiIhck4KiAq51dHlmdq5DeGjGLbLw0GBmdq7jE3WKvv8eqleHV18Fs9kYq1IFfvnFaOxaupQVPvgAoqKMVSKbdu2MxOpevSBA/6iLiMi1aftMaB1dnhZR4Wzcn8Sx06mUDTG2zLy9QnT4MAwcCF995RgrUsQ4NDZiBAQFYbTo6N3bSKi2KVPGOGKvitQiIuIEBUUCGFtpjSqX8vY0AGM1aOZMGD0aTp92jDdvbozfdtvli6a9ZfTsOHfOcdGTTxqtO0r5xs8iIiL5h4Ii8SlbtxoLP5s2OcZKl4Y33oDOnS8v/MTFQY8esGGD46KICCN3qE0bj89ZRET8gxItxCecOQPPPQf16mUMiLp3NxKpn3wSTBfStehIHxANGGD091BAJCIieaCVIvG6b7814pqDBx1j1aoZCz933nl5YMMGI0LaudNxUZUqxjH7pk09Ol8REfFPWikSr/n3X3joIWjf3hEQBQXBhAkQG3s5IDp7FoYMgUaNHAFRYKCRbR0bq4BIRERcRitF4nFmM7zzjpEjfeaMY7xFC5gxI105oZ9+Mo7T79/vuKhOHaNFR61anpyyiIgUAAqKxKO2bDESqbdscYyVLWscGHv88cuJ1CdPwtChRu0hm+BgePllo9lZIc/9Y2u2WH2uVIGIiLiHgiLxiNOnYcwYo3yQxeIY79XL6G5fsuTlgaxadMydC7fe6tE5L4tLYNySeBKSHQ1xy4cGM7ZdlE8UtRQREddSTpG43TffGMWm33zTERBFR8OaNUYydcmSGEHQf/+bsUVHSAjMmmW06PBCQNR3QUyGgAjgSHIqfRfEsCwuwaPzERER91NQJG5z4ICRRP3gg0ZSNUDRosbKUEwMNGkCWK0wb55x3Ozrrx1vfuABo0VH794eb9FhtlgZtyQ+0ya5trFxS+IxWzK7QkRE8isFReJyly4ZOUJRUcZxe5vWrY0DZCNGQOHCGAnUrVrBU0/BqVPGRaVLw6efGm+sWNEb02fj/qSrVojSswIJyals3J/kuUmJiIjbKadIXGrTJiNPKDbWMRYebmydPfLI5URq2/Gz0aMztujo3NmIpkqX9vS0Mzh2OuuAKDfXiYhI/qCgSFwiJcUoHfTuu8aOGBgBUJ8+MHEiXH/95Qt37jSKMF7ZomPWLLj/fk9PO1NlQ4Jdep2IiOQPCookT6xWIxVo4ECjq71NjRowZw40bHh54MIFI5lowgS4eNFxYf/+MGmSkVTtAq44Qt8gMozyocEcSU7NNK/IBISHGvcWERH/oaBIcu3vv432HN9/7xgrVgzGjTOCpMKFLw9u3GisDsXFOS687TajRYe9j0feueoIfWCAibHtoui7IAYTZAiMbOHV2HZRqlckIuJnlGgtTrt4EV59FapXzxgQtW1rHBgbOvRyQHT2rNHltVEjR0AUGAijRsG2bS4PiFx5hL51dHlmdq5DeGjGLbLw0GBmdq6jOkUiIn5IK0XilPXrjVPy27c7xipUgLfeMvqYmWyLJz//bGRc79vnuLB2baNKtYtbdGR3hN6EcYS+RVS4U6s7raPL0yIqXBWtRUQKCAVFkiOnThmHxWbNyphIPWCAkSZUokS6C4cONfqT2QQHw0svGatGbmjR4cwR+kaVSzl178AAk9PvERGR/ElBUR4UhL5YVit8+aWRI5S+80atWkY16gYN0l28aJGROJ2QbqvqzjuN3KHbbnPbHHWEXkREXEFBUS4VhL5Y+/dDv36wbJlj7LrrYPx4eOaZdIs+R44YA1995bgwJASmTjW20NxckVpH6EVExBWUaJ0L/t4X6+JFmDLFSKROHxD95z9GIrW9Ub2tRUdUVMaAyJZx3aePR1p02I7QZ7VGZ8IIWHWEXkRErkVBkZP8vS/W779DnTowciScP2+M3XCDsTO2eDFUqnT5wr//drToOHnSGCtdGhYuhCVLctyiw2yxsm5vIotjD7Fub2Kufm+2I/TAVYGRjtCLiEhOafvMSe5M6vWmkyeNk/KzZzvGAgLg2Wfh5ZfT1VbMqkVHp04wfbpTLTpcuQVpO0J/5f3C/WxLU0RE3EdBkZP8LanXaoXPPoNBg+DYMcd43bpGgFS3brqL4+ONIozr1zvGKlY0jqS1bevUc21bkFeuC9m2IHNTC0hH6EVEJC8UFDnJn5J69+6Fvn1hxQrHWPHi8MorxiGywMDLg1m16OjXz2jRYT+PnzPuqisEOkIvIiK5p5wiJ/lDUu+FC0aT1ujojAHRgw/Crl3Glpk9INq40VguGjvWERDddhv8+qvR/dXJgAic24IUERHxFAVFTnJnUq8rko6z89tvRmHp55+H1MtxSUSEkUT9v/+ly48+d+7aLTruuivXc8jNFqQnfjciIlKwafssF9yR1OvuukdJSTB8eMZC04GBRlHGceOMbTO7lSuhZ8+rW3S8/77xn3nk7BZkQagJJSIi3meyWq36V+5MpKSkEBoaSnJyMiWy2CJyVUXrrJKObXfKSwNSqxUWLDAWfY4fd4zXr28kUmeIcU6dgmHDjArUNkFBRtQ0ZEi6tvd5Y7ZYaTplJUeSUzPNKzJhBJhrRjRnRfwRt/1uRETE/+Tk8zsr2j7LA1tSb/taN9Cocqlcb5m5q+7Rnj3QogV06eIIiEJC4O23Yd26KwKixYuNIozpA6I77zS2ykaMcFlABDnfggT8uiaUiIj4FgVFXuaOpOO0NKO2UI0aRrN6m//+F3bvNpq42hOpjx6FRx+FDh0cPctCQmDGDFi1CqpUcfZHyhHbFmR4aMattPDQYPvqjxKyRUTEk5RT5GWurnv066/Quzf88Ydj7MYbjYNiGUoJWa3w8cdGgSJbRWqA++836g5FROToeXmRXV0hf6sJJSIivk1BkZe5qu7RiRNGOtC8eY6xwEAjFWjsWKORq93ffxuR048/OsZKlYK33oLHHweT54odXquukD/VhBIREd+n7TMvy2vdI1tP1qpVMwZEDRvCli1Go3p7QGQ2GwlF0dEZA6InnjAKFD3xhEcDouz4Q00oERHJPxQUeVle6h7t3g3Nmhk9WRMTjbHQUCMdaO1aqFkz3cXx8Ubi9LPPwtmzxtgNNxjNWz/5BMqUcenP5Qpq9CoiIp6koMgH5CTpOL3UVGNLrGZNI4fI5rHHjAWfvn2vaNExYYJx1GzdOsfFffsagdIDD7jpp3INZ383IiIiuaU6RVnIS52DK+W0nlFOrlu5Evr0gT//dIxFRhqrQ61bX3HDTZuMBq47djjGbr3VOHafh4rU3uCqmlAiIuLf8vL5rURrN3OmGvO1ko6PHzcKMH78sWOsUCFj7MUXoVixdBefO2csJb3xBlgsl28eCEOHGuNFi7rqx/MYNXoVERF388vts0mTJlG/fn1CQkIoW7YsHTp04I/0Z9Q9xFap+spaO0eSU+m7IIZlcQnZ3sNiMbprVK2aMSBq3BhiYozm9RkCol9+MQoUvfaaIyCqVcto7Dp5cr4MiERERDzBL4OiX3/9lf79+7N+/XpWrFjBxYsXadmyJWdtCcYe4IpK1fHxcM890KOH0bsM4PrrjfYcv/0Gt9+e7uJTp4x+Zc2bw969xlhQEEycaAREderk+WcSERHxZ365fbZs2bIM38+bN4+yZcuyZcsW7vJQLo0z1Ziv3BY6fx5eecU4Tn/xomP8iSeMHbFy5a642eLFRuJ0QrqVp6ZNjdwhN1WkFhER8Td+GRRdKTk5GYCwsKzr2aSlpZGWlmb/PiUlJU/PzG015hUrjPjGttgDULmykUjdsuUVbz561Dhi/8UXjrHixWHKFCMbO8AvFwJFRETcwu8/NS0WC4MGDaJJkyZER0dned2kSZMIDQ21f0Xksc2Fs9WYjx6FTp2MwMcWEBUuDM8/bxweyxAQWa3w0UdQrVrGgKhNG9i5E/r1U0AkIiLiJL//5Ozfvz9xcXF89tln17xu1KhRJCcn278OHjyYp+fmtBpzvRvDmDvXSKReuNDxetOmEBtrlBjKkBv999/G2fuuXR09y0qVggUL4PvvoVKlPM1bRESkoPLroGjAgAF89913/PLLL1SsWPGa1wYFBVGiRIkMXwAb9yVdMxk6Kzmpxty1ag2a3WOiVy8jTxqgZEkjFejXXyEqKt2bLJbMW3R07GhUbOzUyadadJgtVtbtTWRx7CHW7U3M1e9QRETEk/yyeKPVauWZZ55h0aJFrFq1iltvvdXpe9iKP0UM+oIbyoZlWlcoJzKrU1S2aDFu/rc+X88rzqVLjmuffNI4SV+27BU32bXLOIL2+++OsRtugJkzoV07p+fkbs7UZhIREXGlvBRv9MugqF+/fixcuJDFixdTJd3pq9DQUIrmsE5P+qAoMMgoBJTbthLpqzHviwnh7Qkh7N/vWNW59VYjvrn33iveePGikTQ9frzRrsOmTx+j5lBoqFPP9kQlaFttpiv/obI9Ua05RETEnRQUXcGUxTbShx9+SLdu3XJ0j/RBUUBQMUwY/bbWjGieq6DiyBEYPBjSpzYVKQIjR8KoURB8ZV725s1Gi47t2x1jt9xi7K3dfXeOnunpFRuzxUrTKSuzLEWQ19+hiIhIdvISFPllTpHVas30K6cBUab3xFFXyBkWC8yaZSRSpw+I7r4btm2DceOuCIjOnYPhw6FhQ0dAFBgII0YY3zsREOW1mraznKnNJCIi4msKRJ0iV8pp/SEwjtL36gXr1zvGSpWC11+HLl0yyYtetcqoSv3XX46xmjWNPh916+b4udlV0zZhVNNuERXu0hWb3NZmEhER8QV+uVLkTjmpP3T2rLGwU7t2xoCoWzfYvds4TZ8hIEpOht69oVkzR0Bka9GxaZNTARF4b8XG2dpMIiIivkQrRTlky4dpEJl1VWyAH34waif+849jrEoVYwvtnnsyecO33xolrA8fdow1aWLkDlWtmqu5emvFxlab6UhyaqarVDn9HYqIiHiDVopywLaoM7ZdVJbbTYcPw6OPQtu2joAoKMjIGdq2LZOA6Ngxo8ZQ+/aOgKh4cXj3XVi9OtcBEXhvxSYntZmu9TsUERHxJgVFORAeGpzlUXKz2YhjqlWDL790jDdvbuRFv/iiERzZWa3w8cfGGz7/3DHuwhYdOa2m7Y4Vm9bR5ZnZuQ7hoRkDrmv9DkVERHyBXx7JdwXbkb4VW/fTrMaNma5uxMYaqUAbNzrGSpc2Otl37pxJIvWBA8Ybli1zjJUqBdOnu7wite30GZBhK8tT9YI8XR9JREQEVKfILa71Sz1zBl56yYhlzGbHePfuRq3FUqWuuJnFYlRnHDnSeLNNx47w5puZlLB2DVWWFhGRgiYvQZESrZ20ZAn07w/p+8VWqwazZ8Odd2byht27jRYda9c6xipUMIKk//zHrXNtHV2eFlHhWrERERHJAQVFOfTvvzBwIPzvf46xoCAYMwaGDTOqU2dw8SK8+qqRaZ2+RUfv3sZyUg5adLhCYICJRpWvXLoSERGRKykoyobZDG+9Bc8/n3Hnq0ULmDHD6LxxlS1bjL20bdscY7fcAnPnZnEuX0RERLxNQVE27r0Xtm51fF+2rJFL1LFjJnnR584ZyUavv27kEYFxkmzoUGM8h81oRURExPMUFGUjfUDUq5fRnL5kyUwuzKxFR40aRouOevXcPU0RERHJIwVFOVC9upFI3aRJJi8mJxsNXOfMcYwVKWIUKBo+HAoXdvl8dNxdRETE9RQUZWPsWBg9OpNEajBadPTrB4cOOcYaNzZWh/JQkfpadMxeRETEPVTROhtDhmQSEKVv0WELiIoXh7ffht9+c2tA1HdBzFXNXo8kp9J3QQzL4hLc8lwREZGCQEGRM7Jq0dGqFcTFwYABeW7RkRWzxcq4JfGZNlq1jY1bEo/ZolqcIiIiuaGgKKcOHID774cuXSApyRgLC4OPPoKlS+HGG936+I37k65aIUrPCiQkp7Jxf5Jb5yEiIuKvFBRlx2IxOr5Wr56xZ9ljj8GuXfDkky7tWZaVY6ezDohyc52IiIhkpETr7LRuDRs2OL6vUMGo2ti+vUenUTYkOPuLnLhOREREMtJKUXbSB0Q9e8LOnR4PiAAaRIZRPjSYrNakTBin0BpEhnlyWiIiIn5DQVFOVK4MK1catYiuv94rUwgMMDG2XRTAVYGR7fux7aJUr0hERCSXFBRl55lnYPt2aNbM2zOhdXR5ZnauQ3hoxi2y8NBgZnauozpFIiIieWCyWq06w52JlJQUQkNDSU5OpkSJEt6eTgaqaC0iIpK5vHx+K9E6HwoMMNGocilvT0NERMSvaPtMREREBAVFIiIiIoCCIhERERFAQZGIiIgIoKBIREREBFBQJCIiIgIoKBIREREBFBSJiIiIAAqKRERERAAFRSIiIiKAgiIRERERQEGRiIiICKCgSERERASAQt6egK+yWq0ApKSkeHkmIiIiklO2z23b57gzFBRlITExEYCIiAgvz0RERESclZiYSGhoqFPvUVCUhbCwMAAOHDjg9C9VXCslJYWIiAgOHjxIiRIlvD2dAk1/C9+iv4fv0N/CdyQnJ1OpUiX757gzFBRlISDASLcKDQ3VP+A+okSJEvpb+Aj9LXyL/h6+Q38L32H7HHfqPW6Yh4iIiEi+o6BIREREBAVFWQoKCmLs2LEEBQV5eyoFnv4WvkN/C9+iv4fv0N/Cd+Tlb2Gy5ubMmoiIiIif0UqRiIiICAqKRERERAAFRSIiIiKAgiIRERERQEFRpt59911uuukmgoODadiwIRs3bvT2lAqk1atX065dOypUqIDJZOKbb77x9pQKrEmTJlG/fn1CQkIoW7YsHTp04I8//vD2tAqkmTNnUqNGDXuRwEaNGrF06VJvT0uAyZMnYzKZGDRokLenUiC99NJLmEymDF9Vq1Z16h4Kiq7w+eefM2TIEMaOHUtMTAw1a9akVatWHDt2zNtTK3DOnj1LzZo1effdd709lQLv119/pX///qxfv54VK1Zw8eJFWrZsydmzZ709tQKnYsWKTJ48mS1btrB582aaN29O+/bt2blzp7enVqBt2rSJ2bNnU6NGDW9PpUCrXr06CQkJ9q81a9Y49X4dyb9Cw4YNqV+/Pu+88w4AFouFiIgInnnmGUaOHOnl2RVcJpOJRYsW0aFDB29PRYDjx49TtmxZfv31V+666y5vT6fACwsL49VXX6V79+7enkqBdObMGerUqcOMGTOYMGECtWrVYvr06d6eVoHz0ksv8c033xAbG5vre2ilKJ0LFy6wZcsW7rvvPvtYQEAA9913H+vWrfPizER8S3JyMkCuGi6K65jNZj777DPOnj1Lo0aNvD2dAqt///60bds2w2eHeMeff/5JhQoVuPnmm+nUqRMHDhxw6v1qCJvOiRMnMJvNlCtXLsN4uXLl2L17t5dmJeJbLBYLgwYNokmTJkRHR3t7OgXSjh07aNSoEampqRQvXpxFixYRFRXl7WkVSJ999hkxMTFs2rTJ21Mp8Bo2bMi8efOoUqUKCQkJjBs3jjvvvJO4uDhCQkJydA8FRSLilP79+xMXF+f0Xr24TpUqVYiNjSU5OZmvvvqKrl278uuvvyow8rCDBw8ycOBAVqxYQXBwsLenU+C1adPG/t9r1KhBw4YNufHGG/niiy9yvLWsoCid0qVLExgYyNGjRzOMHz16lPDwcC/NSsR3DBgwgO+++47Vq1dTsWJFb0+nwCpSpAi33HILAHXr1mXTpk28+eabzJ4928szK1i2bNnCsWPHqFOnjn3MbDazevVq3nnnHdLS0ggMDPTiDAu266+/nttuu42//vorx+9RTlE6RYoUoW7duvz888/2MYvFws8//6z9einQrFYrAwYMYNGiRaxcuZLIyEhvT0nSsVgspKWleXsaBc69997Ljh07iI2NtX/Vq1ePTp06ERsbq4DIy86cOcPevXspX758jt+jlaIrDBkyhK5du1KvXj0aNGjA9OnTOXv2LE899ZS3p1bgnDlzJkOEv3//fmJjYwkLC6NSpUpenFnB079/fxYuXMjixYsJCQnhyJEjAISGhlK0aFEvz65gGTVqFG3atKFSpUqcPn2ahQsXsmrVKpYvX+7tqRU4ISEhV+XVXXfddZQqVUr5dl4wdOhQ2rVrx4033sjhw4cZO3YsgYGBPP744zm+h4KiKzz22GMcP36cF198kSNHjlCrVi2WLVt2VfK1uN/mzZtp1qyZ/fshQ4YA0LVrV+bNm+elWRVMM2fOBOCee+7JMP7hhx/SrVs3z0+oADt27BhdunQhISGB0NBQatSowfLly2nRooW3pybiVf/++y+PP/44iYmJlClThqZNm7J+/XrKlCmT43uoTpGIiIgIyikSERERARQUiYiIiAAKikREREQABUUiIiIigIIiEREREUBBkYiIiAigoEhEREQEUFAkIiIiAigoEhEREQEUFImIiIgACopEREREAAVFIiIiIoCCIhERERFAQZGI+Lm1a9diMpkwmUx88cUXmV6zYcMGihcvjslkYtiwYR6eoYj4CpPVarV6exIiIu7Uvn17vv32W6pWrUpcXByBgYH21/744w+aNGlCYmIiXbt25cMPP8RkMnlxtiLiLVopEhG/N2nSJAIDA9m9ezcLFiywjx8+fJhWrVqRmJjIAw88wHvvvaeASKQA00qRiBQIPXr04P333ycyMpI//viDs2fPctddd7Fjxw6aNm3Kjz/+SNGiRb09TRHxIgVFIlIgHDp0iFtvvZXz588zbdo0Fi1axOrVq7n99ttZvXo1119/vbenKCJepqBIRAqMkSNHMmXKFPv3N910E7///jvly5f34qxExFcoKBKRAuPw4cNERERgsVgICwtj/fr13Hrrrd6eloj4CCVai0iBcOnSJXr37o3FYgHg3LlzyiESkQwUFImI37NarfTo0YPvvvuOMmXKEBkZSWpqKmPHjvX21ETEh2j7TET83rBhw3jttdcoXrw4K1eu5K+//uKJJ54gMDCQ7du3ExUV5e0piogP0EqRiPi11157jddee43ChQvzv//9j/r169OxY0dq1KiB2Wxm1KhR3p6iiPgIBUUi4rc++ugjhg8fjslkYt68ebRo0QIAk8nE+PHjAfj2229Zu3atN6cpIj5C22ci4pd++OEH2rdvz6VLl5g2bRqDBg266po77riDDRs20KRJE9asWeP5SYqIT9FKkYj4nXXr1vHII49w6dIlRowYkWlABPDKK68ARtPYxYsXe3CGIuKLtFIkIiIiglaKRERERAAFRSIiIiKAgiIRERERQEGRiIiICKCgSERERARQUCQiIiICKCgSERERARQUiYiIiAAKikREREQABUUiIiIigIIiEREREUBBkYiIiAigoEhEREQEgP8DmWU8lb96DbQAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, y, 'r', lw=2)\n",
"ax.plot(xdata, f(xdata, *beta_opt), 'b', lw=2)\n",
"ax.set_xlim(0,5)\n",
"ax.set_xlabel(r'$x$', fontsize=18)\n",
"ax.set_ylabel(r'$f(x, \\beta)$', fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функция №2"
]
},
{
"cell_type": "code",
"execution_count": 410,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.52433999 2.73790669 1.17001858]\n",
"0.0001973378757534478\n",
"0.1645591178934446\n"
]
}
],
"source": [
"beta = (0.51, 2.74, 1.17)\n",
"def f(x, b0, b1, b2):\n",
" return b0 + b1 * x + b2 * x**2\n",
"\n",
"xdata = np.linspace(0,5,50)\n",
"y = f(xdata, *beta)\n",
"ydata = y + 0.05 * np.random.randn(len(xdata))\n",
"\n",
"from scipy.optimize import curve_fit\n",
"beta_opt, beta_cov = curve_fit(f, xdata, ydata)\n",
"print(beta_opt)\n",
"\n",
"lin_dev = sum(beta_cov[0])\n",
"print(lin_dev)\n",
"\n",
"residuals = ydata - f(xdata, *beta_opt)\n",
"fres = sum(residuals**2)\n",
"print(fres)"
]
},
{
"cell_type": "code",
"execution_count": 411,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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HMxmM3v27OGjjz6yHc/IyGDs2LEcP36c6667jv/85z8KRCIuTE+KRMQl/OY3v+Hdd9+lQ4cOpKWlUVRUxPDhw9m+fTtDhw5l2bJl+Pj4OHqaIuJACkUi4hKOHDlC586dKS4u5h//+AcLFy4kISGBK664goSEBFq1auXoKYqIgykUiYjLeOqpp/jrX/9q+7l9+/asX7+e6OhoB85KRJoLhSIRcRkZGRnExMRgtVoJCQlhw4YNdO7c2dHTEpFmQgutRcQlVFRU8MADD2C1WgE4deqU1hCJiB2FIhFp8QzD4De/+Q3ffPMN4eHhdOjQgZKSEp599llHT01EmhG9PhORFu/xxx/nlVdewd/fn5UrV/LTTz9x++23Yzab2bZtGz169HD0FEWkGdCTIhFp0V555RVeeeUVPDw8+N///sfAgQO59dZb6dWrFxaLhVmzZjl6iiLSTCgUiUiL9eGHH/LEE09gMpmYN28eo0ePBsBkMvH8888D8PXXX7Nu3TpHTlNEmgm9PhORFum7775j0qRJVFRU8I9//IMZM2acMWbw4MFs3LiRIUOGsHbt2qafpIg0K3pSJCItTmJiIjfddBMVFRU8+eSTdQYigD//+c9A5aaxX331VRPOUESaIz0pEhEREUFPikREREQAhSIRERERQKFIREREBFAoEhEREQEUikREREQAhSIRERERQKFIREREBFAoEhEREQEUikREREQAhSIRERERQKFIREREBFAoEhEREQEUikREREQA+P/LdIpLwfDOCAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, y, 'r', lw=2)\n",
"ax.plot(xdata, f(xdata, *beta_opt), 'b', lw=2)\n",
"ax.set_xlim(0,5)\n",
"ax.set_xlabel(r'$x$', fontsize=18)\n",
"ax.set_ylabel(r'$f(x, \\beta)$', fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функция №3"
]
},
{
"cell_type": "code",
"execution_count": 412,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1.37468848 0.47099867]\n",
"5.1105391253661135e-05\n",
"0.15167039301730045\n"
]
}
],
"source": [
"beta = (1.37, 0.48)\n",
"\n",
"def f(x, b0, b1):\n",
" return b0 + b1 * np.log(x)\n",
"\n",
"xdata = np.linspace(0.01,5,50)\n",
"y = f(xdata, *beta)\n",
"ydata = y + 0.05 * np.random.randn(len(xdata))\n",
"\n",
"from scipy.optimize import curve_fit\n",
"beta_opt, beta_cov = curve_fit(f, xdata, ydata)\n",
"print(beta_opt)\n",
"\n",
"lin_dev = sum(beta_cov[0])\n",
"print(lin_dev)\n",
"\n",
"residuals = ydata - f(xdata, *beta_opt)\n",
"fres = sum(residuals**2)\n",
"print(fres)"
]
},
{
"cell_type": "code",
"execution_count": 413,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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t4iISIfV7keqvC03+7Q1Vd105Z+IiEh7pVDVwnJO1LzFkQlN3+pGREREWjeFqhaWm2+f8gumkIDYLl6uRkRERFqKQlULyykKALTvn4iISHunUNXCTpQHAtr3T0REpL1TqGpx9rdYI1UiIiLtm0KVh0SSA120pkpERKS9UqjykKiAQvBRnyoREZH2SqHKQyKDyxs/SURERNoshSoPieqszZRFRETaM4UqD4kMNxo/SURERNoshSoPiepq8nYJIiIi0oIUqjwkMtbX2yWIiIhIC1Ko8pCo7tpMWUREpD1TqPIAC1WEdQ/xdhkiIiLSghSqPCCSHMxd1U1dRESkPVOo8gDt+yciItL+KVR5QBTZEBXl7TJERESkBSlUeYBGqkRERNo/hSoPiDLlQmiot8sQERGRFqRQ5QGRQSVgUvNPERGR9kyhygPCgkqx2rRNjYiISHumUOUBRbYCxj+2hlU7071dioiIiLQQhSoP8AksJyO/jFuXbFWwEhERaacUqjwhqIrqyb+FK3ZpKlBERKQdUqjygKoQGwAGkJ5fxsaUPO8WJCIiIm6nUNXCVjCNqtDaI1NZhWVeqkZERERaikJVC5vAOvKDg2vd1zUkwEvViIiISEvx8XYBHcGJQHvjTxMQExbAyMRw7xYkIiIibqeRKg/ICwyluvXnghnJWMxqBCoiItLeaKTKA04EhRITFsCCGclMHRjr7XJERESkBShUtbDt8xfx1LVTGNE/ViNUIiIi7ZhCVQsb8sBthGozZRERkXZPa6pERERE3EChSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3MDH2wW0V4ZhAFBQUODlSkRERMRZ1d/b1d/jrlCoaiG5ubkAxMfHe7kSERERcVVubi5hYWEuPUahqoWEh4cDkJqa6vKHIu5VUFBAfHw8aWlphIaGerucDk2fReuhz6J10efReuTn55OQkOD4HneFQlULMZvty9XCwsL0P5BWIjQ0VJ9FK6HPovXQZ9G66PNoPaq/x116TAvUISIiItLhKFSJiIiIuIFCVQvx9/dnwYIF+Pv7e7uUDk+fReuhz6L10GfRuujzaD2a81mYjKZcMygiIiIitWikSkRERMQNFKpERERE3EChSkRERMQNFKpERERE3EChqgU8//zz9OzZk4CAAEaNGsXGjRu9XVKHtHbtWmbMmEFcXBwmk4nly5d7u6QOa9GiRYwYMYKQkBC6du3KrFmz2Lt3r7fL6pBeeOEFBg0a5GgyOWbMGD755BNvlyXA3/72N0wmE3fddZe3S+lw/vznP2MymWrd+vfv7/LzKFS52dtvv828efNYsGABW7duZfDgwUyZMoWsrCxvl9bhFBcXM3jwYJ5//nlvl9Lhff3119x+++18//33fP7551RWVnLRRRdRXFzs7dI6nO7du/O3v/2NLVu2sHnzZi644AJmzpzJTz/95O3SOrRNmzbx0ksvMWjQIG+X0mGdddZZpKenO27r1q1z+TnUUsHNRo0axYgRI3juuecAsNlsxMfH87vf/Y4HHnjAy9V1XCaTiWXLljFr1ixvlyJAdnY2Xbt25euvv2bChAneLqfDCw8P5/HHH+fGG2/0dikdUlFREUOHDuX//b//x1/+8heGDBnCM8884+2yOpQ///nPLF++nO3btzfreTRS5UYVFRVs2bKFyZMnO+4zm81MnjyZ9evXe7EykdYlPz8foEkblor7WK1W3nrrLYqLixkzZoy3y+mwbr/9dqZNm1bru0M8b//+/cTFxdGrVy9mz55Namqqy8+hDZXdKCcnB6vVSnR0dK37o6Oj2bNnj5eqEmldbDYbd911F+PGjWPgwIHeLqdD2rFjB2PGjKGsrIzg4GCWLVtGcnKyt8vqkN566y22bt3Kpk2bvF1KhzZq1CgWL15MUlIS6enpLFy4kHPPPZedO3cSEhLi9PMoVImIR91+++3s3LmzSesVxD2SkpLYvn07+fn5vPvuu8ydO5evv/5awcrD0tLSuPPOO/n8888JCAjwdjkd2sUXX+w4HjRoEKNGjaJHjx688847Lk2LK1S5UWRkJBaLhczMzFr3Z2ZmEhMT46WqRFqPO+64g5UrV7J27Vq6d+/u7XI6LD8/P/r06QPAsGHD2LRpE//4xz946aWXvFxZx7JlyxaysrIYOnSo4z6r1cratWt57rnnKC8vx2KxeLHCjqtz587069ePAwcOuPQ4ralyIz8/P4YNG8bq1asd99lsNlavXq31CtKhGYbBHXfcwbJly1izZg2JiYneLklOY7PZKC8v93YZHc6kSZPYsWMH27dvd9yGDx/O7Nmz2b59uwKVFxUVFXHw4EFiY2NdepxGqtxs3rx5zJ07l+HDhzNy5EieeeYZiouLuf76671dWodTVFRU678yUlJS2L59O+Hh4SQkJHixso7n9ttvZ+nSpXzwwQeEhISQkZEBQFhYGIGBgV6urmOZP38+F198MQkJCRQWFrJ06VK++uorPv30U2+X1uGEhIScsa6wU6dOREREaL2hh91zzz3MmDGDHj16cPz4cRYsWIDFYuHqq6926XkUqtzsyiuvJDs7m4cffpiMjAyGDBnCqlWrzli8Li1v8+bNnH/++Y6f582bB8DcuXNZvHixl6rqmF544QUAzjvvvFr3//vf/+a6667zfEEdWFZWFnPmzCE9PZ2wsDAGDRrEp59+yoUXXujt0kS85ujRo1x99dXk5uYSFRXF+PHj+f7774mKinLpedSnSkRERMQNtKZKRERExA0UqkRERETcQKFKRERExA0UqkRERETcQKFKRERExA0UqkRERETcQKFKRERExA0UqkRERETcQKFKRERExA0UqkRERETcQKFKRERExA0UqkRERETcQKFKRERExA0UqkREGvDtt99iMpkwmUy88847dZ6zYcMGgoODMZlM3HvvvR6uUERaC5NhGIa3ixARac1mzpzJhx9+SP/+/dm5cycWi8Xxu7179zJu3Dhyc3OZO3cu//73vzGZTF6sVkS8RSNVIiKNWLRoERaLhT179rBkyRLH/cePH2fKlCnk5uYyffp0Xn31VQUqkQ5MI1UiIk646aab+Ne//kViYiJ79+6luLiYCRMmsGPHDsaPH89nn31GYGCgt8sUES9SqBIRccKxY8fo27cvpaWlPP300yxbtoy1a9dy9tlns3btWjp37uztEkXEyxSqRESc9MADD/DYY485fu7ZsyffffcdsbGxXqxKRFoLhSoREScdP36c+Ph4bDYb4eHhfP/99/Tt29fbZYlIK6GF6iIiTqiqquK3v/0tNpsNgJKSEq2hEpFaFKpERBphGAY33XQTK1euJCoqisTERMrKyliwYIG3SxORVkTTfyIijbj33nt54oknCA4OZs2aNRw4cIBrrrkGi8XCjz/+SHJysrdLFJFWQCNVIiINeOKJJ3jiiSfw9fXl/fffZ8SIEVx11VUMGjQIq9XK/PnzvV2iiLQSClUiIvV4/fXXue+++zCZTCxevJgLL7wQAJPJxKOPPgrAhx9+yLfffuvNMkWkldD0n4hIHT7++GNmzpxJVVUVTz/9NHfdddcZ54wePZoNGzYwbtw41q1b5/kiRaRV0UiViMjPrF+/niuuuIKqqiruv//+OgMVwF//+lfAvunyBx984MEKRaQ10kiViIiIiBtopEpERETEDRSqRERERNxAoUpERETEDRSqRERERNxAoUpERETEDRSqRERERNxAoUpERETEDRSqRERERNxAoUpERETEDRSqRERERNxAoUpERETEDRSqRERERNxAoUpERETEDf4/CQ/BmzGQQZ0AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, y, 'r', lw=2)\n",
"ax.plot(xdata, f(xdata, *beta_opt), 'b', lw=2)\n",
"ax.set_xlim(0,5)\n",
"ax.set_xlabel(r'$x$', fontsize=18)\n",
"ax.set_ylabel(r'$f(x, \\beta)$', fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функция №4"
]
},
{
"cell_type": "code",
"execution_count": 414,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.88850056 1.91981925]\n",
"9.931739265191307e-05\n",
"0.1375688913692001\n"
]
}
],
"source": [
"beta = (0.89, 1.92)\n",
"def f(x, b0, b1):\n",
" return b0 + np.float_power(x, b1)\n",
"\n",
"xdata = np.linspace(0,5,50)\n",
"y = f(xdata, *beta)\n",
"ydata = y + 0.05 * np.random.randn(len(xdata))\n",
"\n",
"from scipy.optimize import curve_fit\n",
"beta_opt, beta_cov = curve_fit(f, xdata, ydata)\n",
"print(beta_opt)\n",
"\n",
"lin_dev = sum(beta_cov[0])\n",
"print(lin_dev)\n",
"\n",
"residuals = ydata - f(xdata, *beta_opt)\n",
"fres = sum(residuals**2)\n",
"print(fres)"
]
},
{
"cell_type": "code",
"execution_count": 415,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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7Nix3s/RSlEtCxYsYN68eQwfPpyRI0fy6quvUlhYyH333efoqbU5BQUFNRJ+cnIyiYmJBAQE0LVrVwfOrO15+OGH+eSTT/jyyy/x9fUlPT0dAH9/fzw9PR08u7bl2WefZfr06XTt2pX8/Hw++eQTtmzZwvr16x09tTbH19f3on113t7eBAYGar+dAzzxxBPMnDmTbt26kZqaysKFCzGZTMyZM6fer6FQVMudd95JVlYWzz33HOnp6QwePJh169ZdtPlamt6ePXuYNGmS/fsFCxYAMG/ePJYuXeqgWbVNS5YsAWDixIk1rr/33nvMnz+/+SfUhmVmZnLvvfeSlpaGv78/UVFRrF+/nilTpjh6aiIOdebMGebMmUN2djZBQUGMHTuWnTt3EhQUVO/X0DlFIiIiImhPkYiIiAigUCQiIiICKBSJiIiIAApFIiIiIoBCkYiIiAigUCQiIiICKBSJiIiIAApFIiIiIoBCkYiIiAigUCQiIiICKBSJiIiIAApFIiIiIoBCkYiIiAigUCQirdz27dsxGAwYDAY+//zzOsfs2rULHx8fDAYDTz75ZDPPUESchcFms9kcPQkRkaY0a9YsVq5cSd++fTl48CAmk8n+2JEjRxgzZgzZ2dnMmzeP9957D4PB4MDZioijaKVIRFq9xYsXYzKZOHz4MB999JH9empqKjExMWRnZzNjxgz+/e9/KxCJtGFaKRKRNuGBBx7gnXfeITw8nCNHjlBYWMj48eP57rvvGDt2LF9//TWenp6OnqaIOJBCkYi0CWfPnqV3794UFxfzyiuvsHz5cmJjYxk4cCCxsbG0a9fO0VMUEQdTKBKRNuOZZ57hpZdesn/fvXt3duzYQceOHR04KxFxFgpFItJmpKamEhYWhtVqJSAggJ07d9K7d29HT0tEnIQ2WotIm1BRUcEvfvELrFYrAEVFRdpDJCI1KBSJSKtns9l44IEHWL16NUFBQYSHh1NSUsLChQsdPTURcSK6fSYird6TTz7JX/7yF3x8fNi8eTPHjx/npz/9KSaTiQMHDhAZGenoKYqIE9BKkYi0an/5y1/4y1/+gqurK//3f//HiBEjuOuuu4iKisJisfDss886eooi4iQUikSk1frggw946qmnMBgMLF26lClTpgBgMBh44YUXAFi5ciXbt2935DRFxEno9pmItEpr1qxh1qxZVFRU8Morr/D4449fNGb06NHs2rWLMWPGsG3btuafpIg4Fa0UiUirExcXx+23305FRQVPP/10nYEI4I9//CNQ2TT2yy+/bMYZiogz0kqRiIiICFopEhEREQEUikREREQAhSIRERERQKFIREREBFAoEhEREQEUikREREQAhSIRERERQKFIREREBFAoEhEREQEUikREREQAhSIRERERQKFIREREBFAoEhEREQHg/wPEcFm9j1JxOwAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, y, 'r', lw=2)\n",
"ax.plot(xdata, f(xdata, *beta_opt), 'b', lw=2)\n",
"ax.set_xlim(0,5)\n",
"ax.set_xlabel(r'$x$', fontsize=18)\n",
"ax.set_ylabel(r'$f(x, \\beta)$', fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.2.1 Задание\n",
"\n",
"Постройте модель линейной регрессии для произвольных данных из двух \n",
"столбцов. Для примера можно взять точечную зависимость заработной платы от \n",
"опыта работы: \n",
"(https://raw.githubusercontent.com/AnnaShestova/salary-years-simple-linear-regression/master/Salary_Data.csv). \n",
"Найдите коэффициенты линии регрессии. Постройте прогноз. "
]
},
{
"cell_type": "code",
"execution_count": 416,
"metadata": {},
"outputs": [
{
"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>YearsExperience</th>\n",
" <th>Salary</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>30.000000</td>\n",
" <td>30.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>5.313333</td>\n",
" <td>76003.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.837888</td>\n",
" <td>27414.429785</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.100000</td>\n",
" <td>37731.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>3.200000</td>\n",
" <td>56720.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>4.700000</td>\n",
" <td>65237.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>7.700000</td>\n",
" <td>100544.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>10.500000</td>\n",
" <td>122391.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" YearsExperience Salary\n",
"count 30.000000 30.000000\n",
"mean 5.313333 76003.000000\n",
"std 2.837888 27414.429785\n",
"min 1.100000 37731.000000\n",
"25% 3.200000 56720.750000\n",
"50% 4.700000 65237.000000\n",
"75% 7.700000 100544.750000\n",
"max 10.500000 122391.000000"
]
},
"execution_count": 416,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url = 'https://raw.githubusercontent.com/AnnaShestova/salary-years-simple-linear-regression/master/Salary_Data.csv'\n",
"\n",
"ds = pd.read_csv(url)\n",
"\n",
"ds.describe()"
]
},
{
"cell_type": "code",
"execution_count": 417,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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6s477/R3aZ3SkSNH9PHHH7ufV1ZWqry8XDExMerdu7dycnL08MMPq1+/fkpKStLs2bOVkJDgvkOwQzMAH5DU7OOvf/2rv0sLWtdee60xffp0f5cRNPLz842UlBQjPDzcGDBggLF8+XJ/lxQ0nE6nMX36dKN3795GRESE8Z3vfMd46KGHjLq6On+X1im9/fbbzf55P3HiRMMwDMPlchmzZ8824uLijPDwcOOGG24wdu3a5d+iTUKfKgAAABMwpwoAAMAEhCoAAAATEKoAAABMQKgCAAAwAaEKAADABIQqAAAAExCqAAAATECoAgAAMAGhCgAAwASEKgAw0R133KFHHnnE32W0qKCgQEOGDGExYaAdEKoABLS9e/fqzjvvVEJCgsLCwtSnTx9Nnz5dBw8e9HdpTbz//vt68803dc899/i7lBaNGTNGXbt21apVq/xdCtDpEKoABKxPP/1Uw4cP1+7du/XCCy/o448/1rJly7Ru3TqlpaWpurra3yV6eOqpp/STn/xE3bt393cpZ/Tzn/9cS5Ys8XcZQKdDqAIQsKZOnaqwsDD97//+r6699lr17t1b3//+9/Xvf/9b+/bt00MPPeQee/HFF8tisTR5ZGVlucd873vfU05OTrPvlZOTo+9973uSGkJHc8eyWCz6+c9/3uzr6+vr9corrygzM9Nje3N13X///e79eXl56tu3r8LCwtS/f3/94x//aHLsuXPnnvFzrVixQj169Gi2rvLyclksFn322WfubZmZmdqyZYs++eSTZl8DwDuEKgABqbq6Wv/617/0q1/9SpGRkR77bDabsrOz9dJLL8kwDPf23//+96qqqnI/brvtNq/ee/HixR7HuO2229zPFy9e3Oxrtm3bJofDoeHDhzfZd3pdubm5kqRXX31V06dP13333aeKigr98pe/1KRJk/T22283OcagQYPO+XM16t27t+Li4vTf//73nI4DwFMXfxcAAM3ZvXu3DMPQwIEDm90/cOBAHTp0SF999ZViY2MlSVFRUbLZbO4xkZGRqqura/N7W61WWa1W9zEkeRy3OZ9//rlCQ0PdtZzq9LoaPf744/r5z3+uX/3qV5KkGTNm6L333tPjjz+u6667zj2urq5OkZGR7mN4+7lOlZCQoM8///ycjgHAE2eqAAS0U89EmWHp0qXq3r27evXqpdTUVOXn55ty3OPHjys8PFwWi6XVr9m5c6dGjhzpsW3kyJHauXOnx7aDBw8qOjr6jMdyOBzq3r27oqOj1a9fP91///06efJki+MjIyN17NixVtcK4OwIVQAC0iWXXCKLxdIkYDTauXOnevbsqQsuuKBNx83OzlZ5ebk2bNigq6++Wj/+8Y+1b9++c673/PPP17Fjx3TixIlzPtbpPv30UyUlJZ1xTFRUlMrLy1VaWqrHH39cf/7zn1u8VCk1XF5t63cH4MwIVQACUq9evTR69GgtXbpUx48f99hnt9u1atUq3X777W06MyQ1XNq75JJLNGjQIM2bN08nTpxoMbi1xZAhQyRJO3bsaPVrBg4cqE2bNnls27Rpk5KTk93Pa2trVVJSoquvvvqMxwoJCdEll1yifv366ZZbbtHo0aNVXl7e7Nja2lp98sknGjp0aKtrBXB2hCoAAevpp59WXV2dMjIytGHDBu3du1cFBQUaPXq0LrzwQs2fP7/Nx6yvr1dtba0cDoeeffZZde3aVf379z/nWi+44AINGzZMGzdubPVrHnjgAa1YsUJ5eXnavXu3/vjHP+qf//yn++7AI0eOaM6cOZKkUaNGyW63y2636/jx46qrq5PD4fA4Xm1trY4fP67S0lJt3LhRKSkpzb7ve++9p/DwcKWlpXn5aQE0h1AFIGD169dPW7Zs0Xe+8x3ddttt6tu3r+6++25dd911KioqUkxMTJuP+fTTTysyMlKxsbH6n//5H61atUqJiYmm1PuLX/yiTU01s7KytHjxYj3++OMaNGiQnn32Wf31r391t3Z4/PHH9dhjj6mmpkaXXHKJ4uPjFR8fr9WrV6ugoEDTp093H8vhcCgyMlLdunXTzTffrB/+8IeaMWNGs+/7wgsvKDs7W+edd945fV4AniyG2bNAASBIHT9+XP3799dLL71kylmguXPnevzvqdasWaM1a9ZoxYoVbTrm119/rf79+2vLli1nnacFoG1oqQAAJomMjNTf//53ff3116Yc70yd2SMiItxtH9ris88+09KlSwlUQDvgTBUAAIAJmFMFAABgAkIVAACACQhVAAAAJiBUAQAAmIBQBQAAYAJCFQAAgAkIVQAAACYgVAEAAJjg/wME22ZhLfk8rQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(ds['YearsExperience'], ds['Salary'])\n",
"plt.xlabel('Опыт (годы)')\n",
"plt.ylabel('Зарплата')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 418,
"metadata": {},
"outputs": [],
"source": [
"X = ds.iloc[:, :-1].values\n",
"y = ds.iloc[:, 1].values\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)"
]
},
{
"cell_type": "code",
"execution_count": 419,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"26780.09915062818\n",
"[9312.57512673]\n"
]
}
],
"source": [
"regressor = LinearRegression()\n",
"regressor.fit(X_train, y_train)\n",
"\n",
"print(regressor.intercept_)\n",
"print(regressor.coef_)"
]
},
{
"cell_type": "code",
"execution_count": 420,
"metadata": {},
"outputs": [],
"source": [
"y_pred = regressor.predict(X_test)\n",
"df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})"
]
},
{
"cell_type": "code",
"execution_count": 421,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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gv57UdWSJUuUnp6uu+++W1arVUOGDNHs2f891xgWFqb8/HylpaWpR48eat26tSZOnOj1WUO33367li5dqgkTJuj555/X9ddfrxUrVqhz586emvOZCwAAMK8GB6G+ffvK7T7zFegWi0WTJ0/W5MmTz1gTERGhpUuXnnU7N998sz7++OOz1gwdOlRDhw69qLkAAADz4rvGAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRkehGpra/XCCy8oLi5OwcHBuvbaazVlyhS53W5Pjdvt1sSJExUdHa3g4GAlJiZqz549XuMcOnRIw4cPV2hoqMLDw5WamqqKigqvmi+++EJ33HGHgoKCFBsbq5ycnHrzef/999WhQwcFBQWpS5cuWrNmjdG7DAAAfJThQWjatGmaP3++5s6dq507d2ratGnKycnRnDlzPDU5OTmaPXu2cnNzVVxcrGbNmik5OVlVVVWemuHDh2vHjh2y2+1atWqVCgsLNWrUKM/68vJyJSUlqV27diopKdFrr72m7OxsLViwwFOzceNGPfTQQ0pNTdW2bds0aNAgDRo0SF9++aXRuw0AAHyQ4UFo48aNGjhwoAYMGKD27dvrgQceUFJSkjZt2iTpxLtBM2fO1IQJEzRw4EDdfPPNeuedd/T9999rxYoVkqSdO3cqLy9Pb775pnr16qXevXtrzpw5eu+99/T9999LkpYsWaKamhotWrRIN910k4YNG6ann35aM2bM8Mxl1qxZ6t+/v8aOHauOHTtqypQp6t69u+bOnWv0bgMAAB/kb/SAt99+uxYsWKCvv/5aN9xwgz7//HN98sknnoCyd+9eORwOJSYmep4TFhamXr16qaioSMOGDVNRUZHCw8MVHx/vqUlMTJTValVxcbEGDx6soqIi9enTR4GBgZ6a5ORkTZs2TYcPH1bLli1VVFSkzMxMr/klJyd7AtepqqurVV1d7XlcXl4uSXI6nXI6nRfdm8ZSN7fLeY6NxebnPnfR+Y5lPTGW0xpk2JgnBjTf78XMx6TRzNxLXt/GMLKPkm/0siGvF8OD0Pjx41VeXq4OHTrIz89PtbW1evnllzV8+HBJksPhkCRFRkZ6PS8yMtKzzuFwqE2bNt4T9fdXRESEV01cXFy9MerWtWzZUg6H46zbOdXUqVP14osv1luen5+vkJCQ89r/pmS325t6CpdcTk/jx7R3mW3sgCa+Ls2Mx2RjMWMveX0bozH6KF3evaysrDzvWsOD0PLly7VkyRItXbpUN910k0pLS5WRkaGYmBilpKQYvTlDZWVleb2DVF5ertjYWCUlJSk0NLQJZ3Z2TqdTdrtd/fr1U0BAQFNP55LqnL3WsLFsVremxLvUb/vTCnBVnfsJ5yvrH8aN5SPMfEwazcy95PVtDCP7KPlGL+vO6JwPw4PQ2LFjNX78eA0bNkyS1KVLF3333XeaOnWqUlJSFBUVJUkqKytTdHS053llZWXq1q2bJCkqKkoHDhzwGvf48eM6dOiQ5/lRUVEqKyvzqql7fK6auvWnstlsstls9ZYHBAT4xD9AvjJPI1XXWgwfM8BVZeyL22S/k5OZ8ZhsLGbsJa9vYzRGH6XLu5cNea0YfrF0ZWWlrFbvYf38/ORyuSRJcXFxioqKUkFBgWd9eXm5iouLlZCQIElKSEjQkSNHVFJS4qlZt26dXC6XevXq5akpLCz0Og9ot9t14403qmXLlp6ak7dTV1O3HQAAYG6GB6H77rtPL7/8slavXq2///3v+vDDDzVjxgwNHjxYkmSxWJSRkaGXXnpJK1eu1Pbt2zVixAjFxMRo0KBBkqSOHTuqf//+GjlypDZt2qRPP/1U6enpGjZsmGJiYiRJDz/8sAIDA5WamqodO3Zo2bJlmjVrlteprWeeeUZ5eXmaPn26du3apezsbG3ZskXp6elG7zYAAPBBhp8amzNnjl544QU9+eSTOnDggGJiYvSb3/xGEydO9NSMGzdOx44d06hRo3TkyBH17t1beXl5Cgr67xXoS5YsUXp6uu6++25ZrVYNGTJEs2f/98KssLAw5efnKy0tTT169FDr1q01ceJEr88auv3227V06VJNmDBBzz//vK6//nqtWLFCnTt3Nnq3AQCADzI8CLVo0UIzZ87UzJkzz1hjsVg0efJkTZ48+Yw1ERERWrp06Vm3dfPNN+vjjz8+a83QoUM1dOjQs9YAAABz4rvGAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAafk39QQAXMGmXiO5qowbL/uocWMBgHhHCAAAmBhBCAAAmBZBCAAAmBZBCAAAmBYXSwOAgdqPX23oeDY/t3J6ytgLz7noHPDgHSEAAGBaBCEAAGBaBCEAAGBaBCEAAGBajRKE/vnPf+qRRx5Rq1atFBwcrC5dumjLli2e9W63WxMnTlR0dLSCg4OVmJioPXv2eI1x6NAhDR8+XKGhoQoPD1dqaqoqKiq8ar744gvdcccdCgoKUmxsrHJycurN5f3331eHDh0UFBSkLl26aM2aNY2xywAAwAcZHoQOHz6sn/70pwoICNCf//xnffXVV5o+fbpatmzpqcnJydHs2bOVm5ur4uJiNWvWTMnJyaqq+u8dEcOHD9eOHTtkt9u1atUqFRYWatSoUZ715eXlSkpKUrt27VRSUqLXXntN2dnZWrBggadm48aNeuihh5Samqpt27Zp0KBBGjRokL788kujdxsAAPggw2+fnzZtmmJjY/XWW295lsXFxXn+2+12a+bMmZowYYIGDhwoSXrnnXcUGRmpFStWaNiwYdq5c6fy8vK0efNmxcfHS5LmzJmje++9V7/73e8UExOjJUuWqKamRosWLVJgYKBuuukmlZaWasaMGZ7ANGvWLPXv319jx46VJE2ZMkV2u11z585Vbm6u0bsOAAB8jOFBaOXKlUpOTtbQoUO1YcMGXX311XryySc1cuRISdLevXvlcDiUmJjoeU5YWJh69eqloqIiDRs2TEVFRQoPD/eEIElKTEyU1WpVcXGxBg8erKKiIvXp00eBgYGemuTkZE2bNk2HDx9Wy5YtVVRUpMzMTK/5JScna8WKFaede3V1taqrqz2Py8vLJUlOp1NOp/Oie9NY6uZ2Oc+xsdj83MaNZT0xltMaZNiYJwY03+/Fc0yasJdGHpNSIx2XPtBHide3UXzimJQM7WVD/h4aHoT+9re/af78+crMzNTzzz+vzZs36+mnn1ZgYKBSUlLkcDgkSZGRkV7Pi4yM9KxzOBxq06aN90T9/RUREeFVc/I7TSeP6XA41LJlSzkcjrNu51RTp07Viy++WG95fn6+QkJCzrcFTcZutzf1FC65nJ7Gj2nvMtvYAU18XZoZe9kYx6RkcC99oI8Sr2+j+MQxKRnay8rKyvOuNTwIuVwuxcfH65VXXpEk3XLLLfryyy+Vm5urlJQUozdnqKysLK93kMrLyxUbG6ukpCSFhoY24czOzul0ym63q1+/fgoICGjq6VxSnbPXGjaWzerWlHiX+m1/WgFGfYKvJGX9w7ixfITnmDRhL408JqVGOi59oI8Sr2+j+MQxKRnay7ozOufD8CAUHR2tTp06eS3r2LGj/vjHP0qSoqKiJEllZWWKjo721JSVlalbt26emgMHDniNcfz4cR06dMjz/KioKJWVlXnV1D0+V03d+lPZbDbZbLZ6ywMCAnwiYPjKPI1UXWsxfMwAV5WxL26T/U5OZsZeNsYxKRncSx/oo8Tr2yg+cUxKhvayIX8LDb9r7Kc//al2797ttezrr79Wu3btJJ24cDoqKkoFBQWe9eXl5SouLlZCQoIkKSEhQUeOHFFJSYmnZt26dXK5XOrVq5enprCw0Os8oN1u14033ui5Qy0hIcFrO3U1ddsBAADmZngQGjNmjD777DO98sor+uabb7R06VItWLBAaWlpkiSLxaKMjAy99NJLWrlypbZv364RI0YoJiZGgwYNknTiHaT+/ftr5MiR2rRpkz799FOlp6dr2LBhiomJkSQ9/PDDCgwMVGpqqnbs2KFly5Zp1qxZXqe2nnnmGeXl5Wn69OnatWuXsrOztWXLFqWnpxu92wAAwAcZfmrs1ltv1YcffqisrCxNnjxZcXFxmjlzpoYPH+6pGTdunI4dO6ZRo0bpyJEj6t27t/Ly8hQU9N8r0JcsWaL09HTdfffdslqtGjJkiGbP/u+FWWFhYcrPz1daWpp69Oih1q1ba+LEiV6fNXT77bdr6dKlmjBhgp5//nldf/31WrFihTp37mz0bgMAAB9keBCSpJ///Of6+c9/fsb1FotFkydP1uTJk89YExERoaVLl551OzfffLM+/vjjs9YMHTpUQ4cOPfuEAQCAKfFdYwAAwLQIQgAAwLQa5dQYAN/SfvxqQ8ez+bkb7UPcAMBIvCMEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMq9GD0KuvviqLxaKMjAzPsqqqKqWlpalVq1Zq3ry5hgwZorKyMq/n7du3TwMGDFBISIjatGmjsWPH6vjx414169evV/fu3WWz2XTddddp8eLF9bY/b948tW/fXkFBQerVq5c2bdrUGLsJAAB8UKMGoc2bN+v3v/+9br75Zq/lY8aM0UcffaT3339fGzZs0Pfff6/777/fs762tlYDBgxQTU2NNm7cqLfffluLFy/WxIkTPTV79+7VgAEDdOedd6q0tFQZGRn69a9/rbVr13pqli1bpszMTE2aNElbt25V165dlZycrAMHDjTmbgMAAB/RaEGooqJCw4cP1//+7/+qZcuWnuVHjx7VwoULNWPGDN11113q0aOH3nrrLW3cuFGfffaZJCk/P19fffWV/vCHP6hbt2665557NGXKFM2bN081NTWSpNzcXMXFxWn69Onq2LGj0tPT9cADD+j111/3bGvGjBkaOXKkHn/8cXXq1Em5ubkKCQnRokWLGmu3AQCAD/FvrIHT0tI0YMAAJSYm6qWXXvIsLykpkdPpVGJiomdZhw4d1LZtWxUVFem2225TUVGRunTposjISE9NcnKyRo8erR07duiWW25RUVGR1xh1NXWn4GpqalRSUqKsrCzPeqvVqsTERBUVFTXSXjexqddIripj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qqq0fPlyjRgxoolm51t27typzz77TAkJCerQoYN27dqlWbNmqbq6Wo888ojuuuuupp7iZe/k74w82axZs/TII4+oVatWkqQZM2ZcymldEY4dO6bly5frm2++UXR0tB566CFPP30VQcjH3Hbbberatatyc3PrfRGs2+3WE088oS+++EJFRUVNNMMrx+eff67u3burtra2qadyWfv666+VlJSkffv2yWKxqHfv3nrvvfcUHR0t6URIj4mJoY/nIS8vTwMHDlTz5s1VWVmpDz/8UCNGjFDXrl3lcrm0YcMG5efnE4bOwWq1qmvXrvW+K3LDhg2Kj49Xs2bNZLFYtG7duqaZoA/p1KmTPvnkE0VERGj//v3q06ePDh8+rBtuuEHffvut/P399dlnnykuLq6pp3rBCEI+Jjg4WNu2bVOHDh1Ou37Xrl265ZZb9OOPP17imfmelStXnnX93/72N/32t7/lD/g5DB48WE6nU4sXL9aRI0eUkZGhr776SuvXr1fbtm0JQg1w++2366677tJLL72k9957T08++aRGjx6tl19+WZKUlZWlkpIS5efnN/FML2+vvvqqFixYoDfffNMrNAYEBOjzzz+v964lzsxqtcrhcKhNmzZ65JFHtHfvXq1Zs0ZhYWGqqKjQ4MGDddVVV2np0qVNPdUL54ZPad++vfvtt98+4/q3337b3a5du0s3IR9msVjcVqvVbbFYzvhjtVqbepqXvTZt2ri/+OILz2OXy+V+4okn3G3btnV/++23bofDQR/PU2hoqHvPnj1ut9vtrq2tdfv7+7u3bt3qWb99+3Z3ZGRkU03Pp2zatMl9ww03uH/729+6a2pq3G632+3v7+/esWNHE8/Mt1gsFndZWZnb7Xa7f/KTn7jz8/O91n/66afu2NjYppiaYbhrzMc8++yzGjVqlJ555hmtXLlSxcXFKi4u1sqVK/XMM8/oiSee0Lhx45p6mj4hOjpaH3zwgVwu12l/tm7d2tRT9Ak//vij/P3/e9+FxWLR/Pnzdd999+lnP/uZvv766yacne+pO+VttVoVFBSksLAwz7oWLVro6NGjTTU1n3LrrbeqpKREBw8eVHx8vL788st6lxPg/NT1raqqynPKu87VV1+tgwcPNsW0DMNdYz4mLS1NrVu31uuvv6433njDc7rBz89PPXr00OLFi/XLX/6yiWfpG3r06KGSkhINHDjwtOstFgu3256HDh06aMuWLfXuxJk7d64k6Re/+EVTTMsntW/fXnv27NG1114rSSoqKlLbtm096/ft21fvDxHOrHnz5nr77bf13nvvKTExkdOzF+juu++Wv7+/ysvLtXv3bnXu3Nmz7rvvvvP5i6UJQj7owQcf1IMPPiin06l///vfkqTWrVsrICCgiWfmW8aOHatjx46dcf11112nv/71r5dwRr5p8ODBevfdd/Xoo4/WWzd37ly5XC7l5uY2wcx8z+jRo73+WJ/8B0eS/vznP3Oh9AUYNmyYevfurZKSErVr166pp+NTJk2a5PW4efPmXo8/+ugj3XHHHZdySobjYmkAAGBaXCMEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABMiyAEAABM6/8DLia4sQaFFfkAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot(kind='bar')\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 422,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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/Hh17tyZ3w2aBEtjAezuu+/WsmXLtHr1anXp0sXpcoJebm6uSkpKNGDAAIWHhys8PFyfffaZZs6cqfDwcNXU1DhdYtBKSkpS7969bWM/+tGPtGfPHocqQq37779fDz74oG666Sb169dPt9xyi+69915NnTrV6dLwvcTERElScXGxbby4uNh7zp8RhAKQMUZ333233n//fa1atUrJyclOlwRJgwYN0rZt27R582bva+DAgcrIyNDmzZsVFhbmdIlB67LLLvO5xcTOnTvVvXt3hypCre+++06hofavqrCwMHk8HocqwomSk5OVmJiolStXesfKy8uVk5Oj1NRUBytrGJbGAtDYsWP11ltvacmSJYqKivKu0cbExCgyMtLh6oJXVFSUzz6t9u3bq1OnTuzfcti9996rSy+9VE8++aRuvPFGbdiwQXPnztXcuXOdLi3oDR06VE888YS6deumPn36KC8vT88884xuu+02p0sLKocOHdK//vUv73FhYaE2b96suLg4devWTePHj9ef//xn9ejRQ8nJyZo4caI6d+7svbLMrxkEHEn1vl577TWnS8MJrrrqKjNu3Diny4AxZunSpaZv377G5XKZXr16mblz5zpdEowx5eXlZty4caZbt24mIiLC/PCHPzQPP/ywqaqqcrq0oLJ69ep6v1dGjhxpjDHG4/GYiRMnmoSEBONyucygQYNMQUGBs0U3EPcRAgAAQYs9QgAAIGgRhAAAQNAiCAEAgKBFEAIAAEGLIAQAAIIWQQgAAAQtghAAAAhaBCEAABC0CEIAACBoEYQAAEDQIggBAICgRRACAABB6/8H0ohUE2jnuN4AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_test, y_test)\n",
"plt.plot(X_test, y_pred, c='r')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.3.2 Задание\n",
"\n",
"Постройте модель множественной линейной регрессии для произвольных \n",
"данных из нескольких столбцов. Для примера можно взять потребления \n",
"газа (в миллионах галлонов) в 48 штатах США или набор данных о \n",
"качестве красного вина (1) и (2) соответственно. Найдите коэффициенты \n",
"множественной регрессии. Постройте прогноз. "
]
},
{
"cell_type": "code",
"execution_count": 423,
"metadata": {},
"outputs": [
{
"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>fixed acidity</th>\n",
" <th>volatile acidity</th>\n",
" <th>citric acid</th>\n",
" <th>residual sugar</th>\n",
" <th>chlorides</th>\n",
" <th>free sulfur dioxide</th>\n",
" <th>total sulfur dioxide</th>\n",
" <th>density</th>\n",
" <th>pH</th>\n",
" <th>sulphates</th>\n",
" <th>alcohol</th>\n",
" <th>quality</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" <td>1599.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>8.319637</td>\n",
" <td>0.527821</td>\n",
" <td>0.270976</td>\n",
" <td>2.538806</td>\n",
" <td>0.087467</td>\n",
" <td>15.874922</td>\n",
" <td>46.467792</td>\n",
" <td>0.996747</td>\n",
" <td>3.311113</td>\n",
" <td>0.658149</td>\n",
" <td>10.422983</td>\n",
" <td>5.636023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>1.741096</td>\n",
" <td>0.179060</td>\n",
" <td>0.194801</td>\n",
" <td>1.409928</td>\n",
" <td>0.047065</td>\n",
" <td>10.460157</td>\n",
" <td>32.895324</td>\n",
" <td>0.001887</td>\n",
" <td>0.154386</td>\n",
" <td>0.169507</td>\n",
" <td>1.065668</td>\n",
" <td>0.807569</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>4.600000</td>\n",
" <td>0.120000</td>\n",
" <td>0.000000</td>\n",
" <td>0.900000</td>\n",
" <td>0.012000</td>\n",
" <td>1.000000</td>\n",
" <td>6.000000</td>\n",
" <td>0.990070</td>\n",
" <td>2.740000</td>\n",
" <td>0.330000</td>\n",
" <td>8.400000</td>\n",
" <td>3.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>7.100000</td>\n",
" <td>0.390000</td>\n",
" <td>0.090000</td>\n",
" <td>1.900000</td>\n",
" <td>0.070000</td>\n",
" <td>7.000000</td>\n",
" <td>22.000000</td>\n",
" <td>0.995600</td>\n",
" <td>3.210000</td>\n",
" <td>0.550000</td>\n",
" <td>9.500000</td>\n",
" <td>5.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>7.900000</td>\n",
" <td>0.520000</td>\n",
" <td>0.260000</td>\n",
" <td>2.200000</td>\n",
" <td>0.079000</td>\n",
" <td>14.000000</td>\n",
" <td>38.000000</td>\n",
" <td>0.996750</td>\n",
" <td>3.310000</td>\n",
" <td>0.620000</td>\n",
" <td>10.200000</td>\n",
" <td>6.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>9.200000</td>\n",
" <td>0.640000</td>\n",
" <td>0.420000</td>\n",
" <td>2.600000</td>\n",
" <td>0.090000</td>\n",
" <td>21.000000</td>\n",
" <td>62.000000</td>\n",
" <td>0.997835</td>\n",
" <td>3.400000</td>\n",
" <td>0.730000</td>\n",
" <td>11.100000</td>\n",
" <td>6.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>15.900000</td>\n",
" <td>1.580000</td>\n",
" <td>1.000000</td>\n",
" <td>15.500000</td>\n",
" <td>0.611000</td>\n",
" <td>72.000000</td>\n",
" <td>289.000000</td>\n",
" <td>1.003690</td>\n",
" <td>4.010000</td>\n",
" <td>2.000000</td>\n",
" <td>14.900000</td>\n",
" <td>8.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" fixed acidity volatile acidity citric acid residual sugar \\\n",
"count 1599.000000 1599.000000 1599.000000 1599.000000 \n",
"mean 8.319637 0.527821 0.270976 2.538806 \n",
"std 1.741096 0.179060 0.194801 1.409928 \n",
"min 4.600000 0.120000 0.000000 0.900000 \n",
"25% 7.100000 0.390000 0.090000 1.900000 \n",
"50% 7.900000 0.520000 0.260000 2.200000 \n",
"75% 9.200000 0.640000 0.420000 2.600000 \n",
"max 15.900000 1.580000 1.000000 15.500000 \n",
"\n",
" chlorides free sulfur dioxide total sulfur dioxide density \\\n",
"count 1599.000000 1599.000000 1599.000000 1599.000000 \n",
"mean 0.087467 15.874922 46.467792 0.996747 \n",
"std 0.047065 10.460157 32.895324 0.001887 \n",
"min 0.012000 1.000000 6.000000 0.990070 \n",
"25% 0.070000 7.000000 22.000000 0.995600 \n",
"50% 0.079000 14.000000 38.000000 0.996750 \n",
"75% 0.090000 21.000000 62.000000 0.997835 \n",
"max 0.611000 72.000000 289.000000 1.003690 \n",
"\n",
" pH sulphates alcohol quality \n",
"count 1599.000000 1599.000000 1599.000000 1599.000000 \n",
"mean 3.311113 0.658149 10.422983 5.636023 \n",
"std 0.154386 0.169507 1.065668 0.807569 \n",
"min 2.740000 0.330000 8.400000 3.000000 \n",
"25% 3.210000 0.550000 9.500000 5.000000 \n",
"50% 3.310000 0.620000 10.200000 6.000000 \n",
"75% 3.400000 0.730000 11.100000 6.000000 \n",
"max 4.010000 2.000000 14.900000 8.000000 "
]
},
"execution_count": 423,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url = 'https://raw.githubusercontent.com/aniruddhachoudhury/Red-Wine-Quality/master/winequality-red.csv'\n",
"\n",
"ds = pd.read_csv(url)\n",
"\n",
"ds.describe()"
]
},
{
"cell_type": "code",
"execution_count": 424,
"metadata": {},
"outputs": [],
"source": [
"X = ds[['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density', 'pH', 'sulphates', 'alcohol']]\n",
"y = ds['quality']\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)"
]
},
{
"cell_type": "code",
"execution_count": 425,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"34.99871062872143\n",
"[ 4.12835075e-02 -1.14952802e+00 -1.77927063e-01 2.78700036e-02\n",
" -1.87340739e+00 2.68362616e-03 -2.77748370e-03 -3.15166657e+01\n",
" -2.54486051e-01 9.24040106e-01 2.67797417e-01]\n"
]
}
],
"source": [
"regressor = LinearRegression()\n",
"regressor.fit(X_train, y_train)\n",
"\n",
"print(regressor.intercept_)\n",
"print(regressor.coef_)"
]
},
{
"cell_type": "code",
"execution_count": 426,
"metadata": {},
"outputs": [
{
"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>Coefficient</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>fixed acidity</th>\n",
" <td>0.041284</td>\n",
" </tr>\n",
" <tr>\n",
" <th>volatile acidity</th>\n",
" <td>-1.149528</td>\n",
" </tr>\n",
" <tr>\n",
" <th>citric acid</th>\n",
" <td>-0.177927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>residual sugar</th>\n",
" <td>0.027870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>chlorides</th>\n",
" <td>-1.873407</td>\n",
" </tr>\n",
" <tr>\n",
" <th>free sulfur dioxide</th>\n",
" <td>0.002684</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total sulfur dioxide</th>\n",
" <td>-0.002777</td>\n",
" </tr>\n",
" <tr>\n",
" <th>density</th>\n",
" <td>-31.516666</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pH</th>\n",
" <td>-0.254486</td>\n",
" </tr>\n",
" <tr>\n",
" <th>sulphates</th>\n",
" <td>0.924040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>alcohol</th>\n",
" <td>0.267797</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Coefficient\n",
"fixed acidity 0.041284\n",
"volatile acidity -1.149528\n",
"citric acid -0.177927\n",
"residual sugar 0.027870\n",
"chlorides -1.873407\n",
"free sulfur dioxide 0.002684\n",
"total sulfur dioxide -0.002777\n",
"density -31.516666\n",
"pH -0.254486\n",
"sulphates 0.924040\n",
"alcohol 0.267797"
]
},
"execution_count": 426,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(regressor.coef_, X.columns, columns=['Coefficient'])"
]
},
{
"cell_type": "code",
"execution_count": 427,
"metadata": {},
"outputs": [
{
"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>Actual</th>\n",
" <th>Predicted</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1109</th>\n",
" <td>6</td>\n",
" <td>5.782930</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1032</th>\n",
" <td>5</td>\n",
" <td>5.036193</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1002</th>\n",
" <td>7</td>\n",
" <td>6.596989</td>\n",
" </tr>\n",
" <tr>\n",
" <th>487</th>\n",
" <td>6</td>\n",
" <td>5.339126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>979</th>\n",
" <td>5</td>\n",
" <td>5.939529</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>794</th>\n",
" <td>6</td>\n",
" <td>6.559757</td>\n",
" </tr>\n",
" <tr>\n",
" <th>813</th>\n",
" <td>4</td>\n",
" <td>6.017576</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1322</th>\n",
" <td>5</td>\n",
" <td>6.251291</td>\n",
" </tr>\n",
" <tr>\n",
" <th>704</th>\n",
" <td>4</td>\n",
" <td>5.163926</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1023</th>\n",
" <td>6</td>\n",
" <td>6.367205</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>320 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" Actual Predicted\n",
"1109 6 5.782930\n",
"1032 5 5.036193\n",
"1002 7 6.596989\n",
"487 6 5.339126\n",
"979 5 5.939529\n",
"... ... ...\n",
"794 6 6.559757\n",
"813 4 6.017576\n",
"1322 5 6.251291\n",
"704 4 5.163926\n",
"1023 6 6.367205\n",
"\n",
"[320 rows x 2 columns]"
]
},
"execution_count": 427,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_pred = regressor.predict(X_test)\n",
"df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})\n",
"\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Средняя квадратичная ошибка"
]
},
{
"cell_type": "code",
"execution_count": 428,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(0.38447119782012357)"
]
},
"execution_count": 428,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics.mean_squared_error(y_test,y_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.3.2 Задание*\n",
"\n",
"Экспериментально получены N значений величины Y при \n",
"различных значениях величины X. Построить полиномы первой и второй \n",
"степени, аппроксимирующие результаты эксперимента, с применением \n",
"метода наименьших квадратов. Результаты выводятся в виде таблиц \n",
"значений и графиков, полученных полиномов. \n",
"\n",
"*Вариант:* 2"
]
},
{
"cell_type": "code",
"execution_count": 429,
"metadata": {},
"outputs": [],
"source": [
"# Линейная функция\n",
"def linear_func(x, b0, b1):\n",
" return b0 + b1 * x\n",
"\n",
"# Квадратичная функция\n",
"def quadratic_func(x, b0, b1, b2):\n",
" return b0 + b1 * x + b2 * x**2"
]
},
{
"cell_type": "code",
"execution_count": 430,
"metadata": {},
"outputs": [],
"source": [
"xdata = np.linspace(0, 1, 6)\n",
"ydata = np.asarray([5.0, 5.0, 4.0, 4.0, 6.0, 6.0])"
]
},
{
"cell_type": "code",
"execution_count": 431,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[4.42857143 1.14285715]\n",
" x y\n",
"0 0.0 4.428571\n",
"1 0.2 4.657143\n",
"2 0.4 4.885714\n",
"3 0.6 5.114286\n",
"4 0.8 5.342857\n",
"5 1.0 5.571429\n"
]
}
],
"source": [
"beta_opt, beta_cov = curve_fit(linear_func, xdata, ydata, method='lm')\n",
"print(beta_opt)\n",
"df = pd.DataFrame({\"x\": xdata, \"y\": linear_func(xdata, *beta_opt)});\n",
"#df.columns=['xdata', 'ydata']\n",
"print(df)"
]
},
{
"cell_type": "code",
"execution_count": 432,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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rX59sz3FyJHSxRc7Uh4AAJWSYwFow4YNOnLkiDqftmtmfn6+vvnmG02bNk25ubnyP8+NZ2rUqKErrrhCu3fvliTf2qCMjAxFRET4+mVkZKhTp05nfZ/AwEAFBgZewKepWJYlpaSY0Z6//93cy+d0HTqYRc2DB0u1aztTIwAAlZljAahPnz7aunWr7dj999+vdu3a6emnnz5v+JFMYNq6datuvPFGSVJ0dLTCw8O1YsUKX+Dxer1as2aNRowYUeafoaIdPy4lJprgs3Gjvc3fXxowwASfP/yBaS4AAM7FsQAUHBys9u3b247VqVNHDRs29B2Pj49X06ZNNWHCBEnSSy+9pCuvvFKtWrVSVlaW/vKXv+inn37Sgw8+KEm++wi98sorat26te8y+MjISA0YMKBCP19Z2r9fmjFDmjNH+vlne1ujRtJDD0kjRphFzwAA4Pwcvwz+XNLS0uR32o1pfv31Vz300ENKT09X/fr11aVLF61atUqXXnqpr8+YMWN07NgxDRs2TFlZWerVq5eSkpKq3D2ALEv65hsz2rNkiZSfb2/v3NmM9gwcKFWxjwYAgOM8lmVZThdR2Xi9XoWGhio7O1shISEV+rN/+01auNDciXnLFntbQIB0++3So49KV17JNBcAAKcryfd3pR4BcpPUVLMv19y50q+/2tvCwqThw80jMtKZ+gAAqE4IQA6yLGnFCjPN9c9/mueni4kx01x33CHVrOlMjQAAVEcEIAfk5EgLFphpru+/t7fVrCnddZcJPv/zP87UBwBAdUcAqkC7dpltKN59Vzpzt43ISHMl17BhUpMmztQHAIBbEIAqSEaG2YfrzKu5evUyoz233CLVqOFMbQAAuI3jm6G6RViY9H/3a1RQkPTAA9KmTdK330p33kn4AQCgIjECVIHGjJF69jT7czVs6HQ1AAC4FwGoAvXqZR4AAMBZTIEBAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXIQABAADXqTQBaOLEifJ4PHr88cfP2mfOnDnq3bu36tevr/r16ys2NlZr16619RkyZIg8Ho/t0bdv33KuHgAAVCWVIgCtW7dOs2bNUseOHc/ZLzk5WYMGDdJXX32llJQURUVF6frrr9fBgwdt/fr27avDhw/7Hn/729/Ks3wAAFDFOB6AcnJyNHjwYM2ZM0f169c/Z9+FCxdq5MiR6tSpk9q1a6e3335bBQUFWrFiha1fYGCgwsPDfY/zvS8AAHAXxwNQQkKC+vXrp9jY2BK/9rffftOJEyfUoEED2/Hk5GQ1adJEbdu21YgRI5SZmXnO98nNzZXX67U9AABA9RXg5A9PTEzUxo0btW7dulK9/umnn1ZkZKQtPPXt21e33nqroqOjtWfPHj333HO64YYblJKSIn9//yLfZ8KECRo/fnypagAAAFWPx7Isy4kfvH//fnXt2lXLli3zrf25+uqr1alTJ02ePPm8r584caImTZqk5OTkc64d2rt3r1q2bKnly5erT58+RfbJzc1Vbm6u77nX61VUVJSys7MVEhJSsg8GAAAc4fV6FRoaWqzvb8emwDZs2KAjR46oc+fOCggIUEBAgL7++mtNmTJFAQEBys/PP+tr33jjDU2cOFFffPHFeRdOt2jRQo0aNdLu3bvP2icwMFAhISG2BwAAqL4cmwLr06ePtm7dajt2//33q127dnr66afPOl01adIkvfrqq/r888/VtWvX8/6cAwcOKDMzUxEREWVSNwAAqPocC0DBwcFq37697VidOnXUsGFD3/H4+Hg1bdpUEyZMkCS9/vrrevHFF7Vo0SJdfPHFSk9PlyTVrVtXdevWVU5OjsaPH6/bbrtN4eHh2rNnj8aMGaNWrVopLi6uYj8gAACotBy/Cuxc0tLSdPjwYd/zGTNmKC8vT7fffrsiIiJ8jzfeeEOS5O/vry1btuimm25SmzZtNHToUHXp0kXffvutAgMDnfoYAACgknFsEXRlVpJFVAAAoHKoEougAQAAnEIAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArhPgdAEAqqb8AktrU3/RkaPH1SQ4SN2iG8jfz+N0WdUO5xkoH5VmBGjixInyeDx6/PHHz9lv8eLFateunYKCgtShQwctXbrU1m5Zll588UVFRESoVq1aio2N1a5du8qxcsB9krYdVq/Xv9SgOav1WOJmDZqzWr1e/1JJ2w47XVq1wnkGyk+lCEDr1q3TrFmz1LFjx3P2W7VqlQYNGqShQ4dq06ZNGjBggAYMGKBt27b5+kyaNElTpkzRzJkztWbNGtWpU0dxcXE6fvx4eX8MwBWSth3WiPc36nC2/e9UevZxjXh/I1/OZYTzDJQvxwNQTk6OBg8erDlz5qh+/frn7Pu///u/6tu3r5566ildcsklevnll9W5c2dNmzZNkhn9mTx5sp5//nndfPPN6tixoxYsWKBDhw5pyZIlFfBpgOotv8DS+H/ukFVE26lj4/+5Q/kFRfVAcXGegfLneABKSEhQv379FBsbe96+KSkphfrFxcUpJSVFkpSamqr09HRbn9DQUMXExPj6FCU3N1der9f2AFDY2tRfCo1InM6SdDj7uNam/lJxRVVDnGeg/Dm6CDoxMVEbN27UunXritU/PT1dYWFhtmNhYWFKT0/3tZ86drY+RZkwYYLGjx9fktIBVzpytHhTycXth6JxnoHy59gI0P79+/XYY49p4cKFCgoKcqoMSdKzzz6r7Oxs32P//v2O1gNUVk2Ci/d3tbj9UDTOM1D+HAtAGzZs0JEjR9S5c2cFBAQoICBAX3/9taZMmaKAgADl5+cXek14eLgyMjJsxzIyMhQeHu5rP3XsbH2KEhgYqJCQENsDQGHdohsoIjRIZ7sI2yMpItRcqo3S4zwD5c+xANSnTx9t3bpVmzdv9j26du2qwYMHa/PmzfL39y/0mu7du2vFihW2Y8uWLVP37t0lSdHR0QoPD7f18Xq9WrNmja8PgNLz9/NobP9LJanQl/Op52P7X8p9ai4Q5xkof44FoODgYLVv3972qFOnjho2bKj27dtLkuLj4/Xss8/6XvPYY48pKSlJf/3rX/XDDz9o3LhxWr9+vUaNGiVJvvsIvfLKK/rkk0+0detWxcfHKzIyUgMGDHDiYwLVTt/2EZpxT2eFh9qnX8JDgzTjns7q2z7CocqqF84zUL4q9Z2g09LS5Of334zWo0cPLVq0SM8//7yee+45tW7dWkuWLPEFJkkaM2aMjh07pmHDhikrK0u9evVSUlKS4+uMgOqkb/sIXXdpOHcoLmecZ6D8eCzL4kYSZ/B6vQoNDVV2djbrgQAAqCJK8v3t+H2AAAAAKhoBCAAAuA4BCAAAuA4BCAAAuA4BCAAAuA4BCAAAuA4BCAAAuA4BCAAAuA4BCAAAuE6l3grDKaduju31eh2uBAAAFNep7+3ibHJBACrC0aNHJUlRUVEOVwIAAErq6NGjCg0NPWcf9gIrQkFBgQ4dOqTg4GB5PGW76aDX61VUVJT279/PPmPliPNcMTjPFYPzXDE4zxWjPM+zZVk6evSoIiMjbZupF4URoCL4+fmpWbNm5fozQkJC+AtWATjPFYPzXDE4zxWD81wxyus8n2/k5xQWQQMAANchAAEAANchAFWwwMBAjR07VoGBgU6XUq1xnisG57licJ4rBue5YlSW88wiaAAA4DqMAAEAANchAAEAANchAAEAANchAAEAANchAJWD6dOn6+KLL1ZQUJBiYmK0du3ac/ZfvHix2rVrp6CgIHXo0EFLly6toEqrtpKc5zlz5qh3796qX7++6tevr9jY2PP+/wKjpP89n5KYmCiPx6MBAwaUb4HVREnPc1ZWlhISEhQREaHAwEC1adOGfzuKoaTnefLkyWrbtq1q1aqlqKgoPfHEEzp+/HgFVVs1ffPNN+rfv78iIyPl8Xi0ZMmS874mOTlZnTt3VmBgoFq1aqV58+aVe52yUKYSExOtmjVrWu+88461fft266GHHrLq1atnZWRkFNn/u+++s/z9/a1JkyZZO3bssJ5//nmrRo0a1tatWyu48qqlpOf57rvvtqZPn25t2rTJ+v77760hQ4ZYoaGh1oEDByq48qqlpOf5lNTUVKtp06ZW7969rZtvvrliiq3CSnqec3Nzra5du1o33nijtXLlSis1NdVKTk62Nm/eXMGVVy0lPc8LFy60AgMDrYULF1qpqanW559/bkVERFhPPPFEBVdetSxdutT685//bH388ceWJOsf//jHOfvv3bvXql27tjV69Ghrx44d1tSpUy1/f38rKSmpXOskAJWxbt26WQkJCb7n+fn5VmRkpDVhwoQi+995551Wv379bMdiYmKs4cOHl2udVV1Jz/OZTp48aQUHB1vz588vrxKrhdKc55MnT1o9evSw3n77beu+++4jABVDSc/zjBkzrBYtWlh5eXkVVWK1UNLznJCQYF177bW2Y6NHj7Z69uxZrnVWJ8UJQGPGjLEuu+wy27G77rrLiouLK8fKLIspsDKUl5enDRs2KDY21nfMz89PsbGxSklJKfI1KSkptv6SFBcXd9b+KN15PtNvv/2mEydOqEGDBuVVZpVX2vP80ksvqUmTJho6dGhFlFnlleY8f/LJJ+revbsSEhIUFham9u3b67XXXlN+fn5FlV3llOY89+jRQxs2bPBNk+3du1dLly7VjTfeWCE1u4VT34NshlqGfv75Z+Xn5yssLMx2PCwsTD/88EORr0lPTy+yf3p6ernVWdWV5jyf6emnn1ZkZGShv3T4r9Kc55UrV2ru3LnavHlzBVRYPZTmPO/du1dffvmlBg8erKVLl2r37t0aOXKkTpw4obFjx1ZE2VVOac7z3XffrZ9//lm9evWSZVk6efKkHn74YT333HMVUbJrnO170Ov16vfff1etWrXK5ecyAgTXmThxohITE/WPf/xDQUFBTpdTbRw9elT33nuv5syZo0aNGjldTrVWUFCgJk2aaPbs2erSpYvuuusu/fnPf9bMmTOdLq1aSU5O1muvvaa33npLGzdu1Mcff6x//etfevnll50uDWWAEaAy1KhRI/n7+ysjI8N2PCMjQ+Hh4UW+Jjw8vET9UbrzfMobb7yhiRMnavny5erYsWN5llnllfQ879mzR/v27VP//v19xwoKCiRJAQEB2rlzp1q2bFm+RVdBpfnvOSIiQjVq1JC/v7/v2CWXXKL09HTl5eWpZs2a5VpzVVSa8/zCCy/o3nvv1YMPPihJ6tChg44dO6Zhw4bpz3/+s/z8GEMoC2f7HgwJCSm30R+JEaAyVbNmTXXp0kUrVqzwHSsoKNCKFSvUvXv3Il/TvXt3W39JWrZs2Vn7o3TnWZImTZqkl19+WUlJSeratWtFlFqllfQ8t2vXTlu3btXmzZt9j5tuuknXXHONNm/erKioqIosv8oozX/PPXv21O7du30BU5J+/PFHRUREEH7OojTn+bfffisUck6FTottNMuMY9+D5brE2oUSExOtwMBAa968edaOHTusYcOGWfXq1bPS09Mty7Kse++913rmmWd8/b/77jsrICDAeuONN6zvv//eGjt2LJfBF0NJz/PEiROtmjVrWn//+9+tw4cP+x5Hjx516iNUCSU9z2fiKrDiKel5TktLs4KDg61Ro0ZZO3futD799FOrSZMm1iuvvOLUR6gSSnqex44dawUHB1t/+9vfrL1791pffPGF1bJlS+vOO+906iNUCUePHrU2bdpkbdq0yZJkvfnmm9amTZusn376ybIsy3rmmWese++919f/1GXwTz31lPX9999b06dP5zL4qmrq1KnWRRddZNWsWdPq1q2btXr1al/bVVddZd133322/h9++KHVpk0bq2bNmtZll11m/etf/6rgiqumkpzn5s2bW5IKPcaOHVvxhVcxJf3v+XQEoOIr6XletWqVFRMTYwUGBlotWrSwXn31VevkyZMVXHXVU5LzfOLECWvcuHFWy5YtraCgICsqKsoaOXKk9euvv1Z84VXIV199VeS/t6fO7X333WddddVVhV7TqVMnq2bNmlaLFi2sd999t9zr9FgW43gAAMBdWAMEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEAABchwAEoNr7z3/+o/DwcL322mu+Y6tWrVLNmjW1YsUKBysD4BQ2QwXgCkuXLtWAAQO0atUqtW3bVp06ddLNN9+sN9980+nSADiAAATANRISErR8+XJ17dpVW7du1bp16xQYGOh0WQAcQAAC4Bq///672rdvr/3792vDhg3q0KGD0yUBcAhrgAC4xp49e3To0CEVFBRo3759TpcDwEGMAAFwhby8PHXr1k2dOnVS27ZtNXnyZG3dulVNmjRxujQADiAAAXCFp556Sn//+9/173//W3Xr1tVVV12l0NBQffrpp06XBsABTIEBqPaSk5M1efJkvffeewoJCZGfn5/ee+89ffvtt5oxY4bT5QFwACNAAADAdRgBAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArkMAAgAArvP/AYzkcrbYbCdHAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, linear_func(xdata, *beta_opt), 'b', lw=2)\n",
"plt.xlabel('x')\n",
"plt.ylabel('linear')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 433,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 5.14285713 -4.21428562 5.35714277]\n",
" x y\n",
"0 0.0 5.142857\n",
"1 0.2 4.514286\n",
"2 0.4 4.314286\n",
"3 0.6 4.542857\n",
"4 0.8 5.200000\n",
"5 1.0 6.285714\n"
]
}
],
"source": [
"beta_opt, beta_cov = curve_fit(quadratic_func, xdata, ydata, method='lm')\n",
"print(beta_opt)\n",
"df = pd.DataFrame({\"x\": xdata, \"y\": quadratic_func(xdata, *beta_opt)});\n",
"print(df)"
]
},
{
"cell_type": "code",
"execution_count": 434,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBxElEQVR4nO3de5yN5f7/8feaGTODPTPkLJNNOcsWNgnpoIiEKMmxLUr6VpRQbKdCQu2d0jk6qii7EJVCRdu57VDKKcJQYcZxxszcvz+u38xqmJlmxlrrWuter+fjsR5d15p7Zj5zh/s9133d1+VxHMcRAACAS0TYLgAAAMCXCDcAAMBVCDcAAMBVCDcAAMBVCDcAAMBVCDcAAMBVCDcAAMBVomwXEGiZmZnav3+/4uLi5PF4bJcDAAAKwHEcHTt2TJUrV1ZERP5jM2EXbvbv36/ExETbZQAAgCLYu3evqlSpku8xYRdu4uLiJJmTEx8fb7kaAABQECkpKUpMTMy+jucn7MJN1q2o+Ph4wg0AACGmIFNKmFAMAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAABchXADAAB8Yt8+6corpRUr7NZBuAEAAD7x6KPSV19JrVtLr7xirw7CDQAAOG/r1kmzZ5t26dJSly72aiHcAACA8+I40pAh3v6YMdIFF9irh3ADAADOy4cfmttRklSjhjRokN16CDcAAKDIUlOlYcO8/alTpehoe/VIhBsAAHAennlG2rnTtK+5RurY0W49EuEGAAAU0a+/ShMmmLbHI02bZv5rG+EGAAAUydixUkqKaf/jH1LDhjar8SLcAACAQtu6VXrhBdMuWVJ67DG79fwR4QYAABTaQw9JGRmmPXKkVLGi3Xr+iHADAAAKZckS6ZNPTPuii6ShQ+3WczbCDQAAKLD09JxhZvJkqXhxe/XkhnADAAAK7OWXzXwbSWrWTLrtNrv15IZwAwAACiQ5WfrnP739p54Kjke/z0a4AQAABTJxolnbRjIjNs2b260nL4QbAADwp3bulJ5+2rRjYsxcm2BFuAEAAH9q+HApLc20hw6Vqla1W09+CDcAACBfX38tzZ1r2uXLm3VtghnhBgAA5CkzUxoyxNt/7DEpLs5ePQVBuAEAAHl66y1p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N3jsmOnfcIP0+utSZKTduuBeRdoV3Fd++eUX9ejRQ7///rvKlSunli1b6ttvv1W5cuUkSXv27MmxSecVV1yht99+W6NGjdIjjzyiGjVqaP78+apfv76tH0GSufBeV7eiX1fObdbM7Cbetq2Zd7NokfnN5/33pbM2ZXetQJxnAL71889mh++sNbtatZLmzpWio+3WBXcr0q7goSxYdgUvquXLzW89p06Zfrdu5smDKKsxFQDOdfCg1LKllDWN8rLLzK31cF3WAufH77uCw57WraWPPzZLlEvmN6A+fczeLAAQLI4eNSPNWcGmZk2zdxTBBoFAuAlB114rffihd1j3nXek/v2lzEy7dQGAZG6dd+ggffed6Scmmgcj2CsPgUK4CVHt2plRm6zbUbNnm8cqCTgAbEpLMw88rFxp+uXKmSUt8lh4HvALwk0I69hRevdd7xMHL78s/d//eRfHAoBAysiQevUyT3dKUny8adesabcuhB/CTYi7+WbprbekrIfKnntOGjKEgAMgsBzHjB6//77pFy9uViO+7DK7dSE8EW5coHt3c1sqazGsf/3LLGdOwAEQCI4jPfyw9Morph8VJc2bZ56UAmwg3LhEr17ef1gk6cknpX/+0149AMLHpEnS1Kmm7fFIb75plqwAbCHcuMgdd0gvvODtP/aYNGGCvXoAuN/MmdKjj3r7L7xgRpMBmwg3LjNwoPTMM97+P/8pPfGEvXoAuNfbb0uDB3v7TzwhDRhgrx4gC+HGhe69V5o2zdsfMUJ66il79QBwnwULzAKiWXP7Roww826AYEC4camhQ8198D/2n33WXj0A3GP5cumWW7wro999tzRxot2agD8i3LjYiBHSuHHe/r33Si++aK8eAKFv7Vqzxtbp06Z/223SjBnepzWBYEC4cbnRo3NO9rvrLum11+zVAyB0ff+9WR392DHTb99eev1170KiQLAg3Licx2OemBo2zPte//7mUU0AKKjdu6XrrpN+/930W7UyC/YVK2a1LCBXhJsw4PGYpxjuv9/0HUfq21d67z27dQEIDUlJJtjs22f6jRpJH38slShhty4gL4SbMOHxmCemBg0y/cxM6fbbze7iAJCXI0ektm2l7dtNv1YtafFiKSHBbl1Afgg3YcTjMRP/+vc3/YwMs9jWggV26wIQnE6ckDp0kP73P9O/6CLps8/MTt9A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erpzxRVXOC+//LLTt29fwk0BFPY8z5w506levbqTlpYWqBJdobDnefDgwc4111yT472hQ4c6LVq08GudblKQcPPwww879erVy/Fe9+7dnbZt2/qxMsfhtlQBpaWlad26dWrTpk32exEREWrTpo1WrVqV6+esWrUqx/GS1LZt2zyPR9HO89lOnjypM2fO6IILLvBXmSGvqOd5/PjxKl++vPr37x+IMkNeUc7zRx99pObNm2vw4MGqUKGC6tevr4kTJyojIyNQZYecopznK664QuvWrcu+dbVz504tWrRI7du3D0jN4cLWdTDsNs4sqt9++00ZGRmqUKFCjvcrVKigH374IdfPSUpKyvX4pKQkv9UZ6opyns82fPhwVa5c+Zy/UPAqynn++uuv9corr2jjxo0BqNAdinKed+7cqS+++EI9e/bUokWLtH37dt1zzz06c+aMxowZE4iyQ05RzvPtt9+u3377TS1btpTjOEpPT9fdd9+tRx55JBAlh428roMpKSk6deqUihcv7pfvy8gNXGXy5MmaM2eOPvzwQ8XGxtouxzWOHTum3r1766WXXlLZsmVtl+NqmZmZKl++vF588UU1btxY3bt316OPPqrnn3/edmmusmzZMk2cOFHPPfec1q9frw8++EALFy7UhAkTbJcGH2DkpoDKli2ryMhIHTx4MMf7Bw8eVMWKFXP9nIoVKxbqeBTtPGeZOnWqJk+erM8//1wNGjTwZ5khr7DneceOHdq9e7c6duyY/V5mZqYkKSoqStu2bdPFF1/s36JDUFH+PFeqVEnFihVTZGRk9nt16tRRUlKS0tLSFB0d7deaQ1FRzvPo0aPVu3dv3XnnnZKkSy+9VCdOnNDAgQP16KOPKiKC3/19Ia/rYHx8vN9GbSRGbgosOjpajRs31tKlS7Pfy8zM1NKlS9W8efNcP6d58+Y5jpekzz77LM/jUbTzLElTpkzRhAkTtHjxYjVp0iQQpYa0wp7n2rVra9OmTdq4cWP266abbtLVV1+tjRs3KjExMZDlh4yi/Hlu0aKFtm/fnh0eJenHH39UpUqVCDZ5KMp5Pnny5DkBJitQOmy56DPWroN+na7sMnPmzHFiYmKcWbNmOVu3bnUGDhzolCpVyklKSnIcx3F69+7tjBgxIvv4b775xomKinKmTp3qfP/9986YMWN4FLwACnueJ0+e7ERHRztz5851Dhw4kP06duyYrR8hJBT2PJ+Np6UKprDnec+ePU5cXJxz7733Otu2bXMWLFjglC9f3nnsscds/QghobDnecyYMU5cXJzzzjvvODt37nQ+/fRT5+KLL3ZuvfVWWz9CSDh27JizYcMGZ8OGDY4kZ/r06c6GDRucn3/+2XEcxxkxYoTTu3fv7OOzHgUfNmyY8/333zvPPvssj4IHo2eeeca56KKLnOjoaKdp06bOt99+m/2x1q1bO3379s1x/HvvvefUrFnTiY6OdurVq+csXLgwwBWHpsKc56pVqzqSznmNGTMm8IWHmML+ef4jwk3BFfY8r1y50mnWrJkTExPjVK9e3Xn88ced9PT0AFcdegpzns+cOeOMHTvWufjii53Y2FgnMTHRueeee5wjR44EvvAQ8uWXX+b6723Wue3bt6/TunXrcz6nYcOGTnR0tFO9enXntdde83udHsdh/A0AALgHc24AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AAICrEG4AhLxff/1VFStW1MSJE7PfW7lypaKjo7V06VKLlQGwgY0zAbjCokWL1LlzZ61cuVK1atVSw4YN1alTJ02fPt12aQACjHADwDUGDx6szz//XE2aNNGmTZu0Zs0axcTE2C4LQIARbgC4xqlTp1S/fn3t3btX69at06WXXmq7JAAWMOcGgGvs2LFD+/fvV2Zmpnbv3m27HACWMHIDwBXS0tLUtGlTNWzYULVq1dLTTz+tTZs2qXz58rZLAxBghBsArjBs2DDNnTtX3333nf7yl7+odevWSkhI0IIFC2yXBiDAuC0FIOQtW7ZMTz/9tN544w3Fx8crIiJCb7zxhr766ivNnDnTdnkAAoyRGwAA4CqM3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFch3AAAAFf5fyQNRWDkv8UDAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.scatter(xdata, ydata)\n",
"ax.plot(xdata, quadratic_func(xdata, *beta_opt), 'b', lw=2)\n",
"plt.xlabel('x')\n",
"plt.ylabel('linear')\n",
"plt.show()"
]
}
],
"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.12.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}