2022-06-12 17:45:18 +02:00
|
|
|
|
{
|
|
|
|
|
"cells": [
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"slideshow": {
|
|
|
|
|
"slide_type": "slide"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"# Regresja wielomianowa"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 88,
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"metadata": {
|
|
|
|
|
"slideshow": {
|
|
|
|
|
"slide_type": "notes"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"import ipywidgets as widgets\n",
|
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
|
"import numpy as np\n",
|
|
|
|
|
"import pandas\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"%matplotlib inline"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 89,
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"metadata": {
|
|
|
|
|
"slideshow": {
|
|
|
|
|
"slide_type": "notes"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"# Przydatne funkcje\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def cost(theta, X, y):\n",
|
|
|
|
|
" \"\"\"Wersja macierzowa funkcji kosztu\"\"\"\n",
|
|
|
|
|
" m = len(y)\n",
|
|
|
|
|
" J = 1.0 / (2.0 * m) * ((X * theta - y).T * (X * theta - y))\n",
|
|
|
|
|
" return J.item()\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def gradient(theta, X, y):\n",
|
|
|
|
|
" \"\"\"Wersja macierzowa gradientu funkcji kosztu\"\"\"\n",
|
|
|
|
|
" return 1.0 / len(y) * (X.T * (X * theta - y)) \n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def gradient_descent(fJ, fdJ, theta, X, y, alpha=0.1, eps=10**-7):\n",
|
|
|
|
|
" \"\"\"Algorytm gradientu prostego (wersja macierzowa)\"\"\"\n",
|
|
|
|
|
" current_cost = fJ(theta, X, y)\n",
|
|
|
|
|
" logs = [[current_cost, theta]]\n",
|
|
|
|
|
" while True:\n",
|
|
|
|
|
" theta = theta - alpha * fdJ(theta, X, y)\n",
|
|
|
|
|
" current_cost, prev_cost = fJ(theta, X, y), current_cost\n",
|
|
|
|
|
" if abs(prev_cost - current_cost) > 10**15:\n",
|
|
|
|
|
" print('Algorithm does not converge!')\n",
|
|
|
|
|
" break\n",
|
|
|
|
|
" if abs(prev_cost - current_cost) <= eps:\n",
|
|
|
|
|
" break\n",
|
|
|
|
|
" logs.append([current_cost, theta]) \n",
|
|
|
|
|
" return theta, logs\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def plot_data(X, y, xlabel, ylabel):\n",
|
|
|
|
|
" \"\"\"Wykres danych (wersja macierzowa)\"\"\"\n",
|
|
|
|
|
" fig = plt.figure(figsize=(16*.6, 9*.6))\n",
|
|
|
|
|
" ax = fig.add_subplot(111)\n",
|
|
|
|
|
" fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n",
|
|
|
|
|
" ax.scatter([X[:, 1]], [y], c='r', s=50, label='Dane')\n",
|
|
|
|
|
" \n",
|
|
|
|
|
" ax.set_xlabel(xlabel)\n",
|
|
|
|
|
" ax.set_ylabel(ylabel)\n",
|
|
|
|
|
" ax.margins(.05, .05)\n",
|
|
|
|
|
" plt.ylim(y.min() - 1, y.max() + 1)\n",
|
|
|
|
|
" plt.xlim(np.min(X[:, 1]) - 1, np.max(X[:, 1]) + 1)\n",
|
|
|
|
|
" return fig\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def plot_fun(fig, fun, X):\n",
|
|
|
|
|
" \"\"\"Wykres funkcji `fun`\"\"\"\n",
|
|
|
|
|
" ax = fig.axes[0]\n",
|
|
|
|
|
" x0 = np.min(X[:, 1]) - 1.0\n",
|
|
|
|
|
" x1 = np.max(X[:, 1]) + 1.0\n",
|
|
|
|
|
" Arg = np.arange(x0, x1, 0.1)\n",
|
|
|
|
|
" Val = fun(Arg)\n",
|
|
|
|
|
" return ax.plot(Arg, Val, linewidth='2')"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 90,
|
|
|
|
|
"metadata": {},
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"def MSE(Y_true, Y_pred):\n",
|
|
|
|
|
" return np.square(np.subtract(Y_true,Y_pred)).mean()"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 91,
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"metadata": {
|
|
|
|
|
"slideshow": {
|
|
|
|
|
"slide_type": "fragment"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"# Funkcja regresji wielomianowej\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def h_poly(Theta, x):\n",
|
|
|
|
|
" \"\"\"Funkcja wielomianowa\"\"\"\n",
|
|
|
|
|
" return sum(theta * np.power(x, i) for i, theta in enumerate(Theta.tolist()))\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def get_poly_data(data, deg):\n",
|
|
|
|
|
" m, n_plus_1 = data.shape\n",
|
|
|
|
|
" n = n_plus_1 - 1\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" X1 = data[:, 0:n]\n",
|
|
|
|
|
" X1 /= np.amax(X1, axis=0)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" Xs = [np.ones((m, 1)), X1]\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" for i in range(2, deg+1):\n",
|
|
|
|
|
" Xn = np.power(X1, i)\n",
|
|
|
|
|
" Xn /= np.amax(Xn, axis=0)\n",
|
|
|
|
|
" Xs.append(Xn)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" X = np.matrix(np.concatenate(Xs, axis=1)).reshape(m, deg * n + 1)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" y = np.matrix(data[:, -1]).reshape(m, 1)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" return X, y\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"\n",
|
2022-06-15 20:06:32 +02:00
|
|
|
|
"def polynomial_regression(X, y, n):\n",
|
2022-06-12 17:45:18 +02:00
|
|
|
|
" \"\"\"Funkcja regresji wielomianowej\"\"\"\n",
|
|
|
|
|
" theta_start = np.matrix([0] * (n+1)).reshape(n+1, 1)\n",
|
|
|
|
|
" theta, logs = gradient_descent(cost, gradient, theta_start, X, y)\n",
|
|
|
|
|
" return lambda x: h_poly(theta, x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 92,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"def predict_values(model, data, n):\n",
|
|
|
|
|
" x, y = get_poly_data(np.array(data), n)\n",
|
|
|
|
|
" preprocessed_x = []\n",
|
|
|
|
|
" for i in x:\n",
|
|
|
|
|
" preprocessed_x.append(i.item(1))\n",
|
|
|
|
|
" return y, model(preprocessed_x), MSE(y, model(preprocessed_x))\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"def plot_and_mse(data, data_test, n):\n",
|
|
|
|
|
" x, y = get_poly_data(np.array(data), n)\n",
|
|
|
|
|
" model = polynomial_regression(x, y, n)\n",
|
|
|
|
|
" \n",
|
|
|
|
|
" fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
" plot_fun(fig, polynomial_regression(x, y, n), x)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" y_true, Y_pred, mse = predict_values(model, data_test, n)\n",
|
|
|
|
|
" print(f'Wielomian {n} stopnia, MSE = {mse}')"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 101,
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"metadata": {
|
|
|
|
|
"slideshow": {
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"slide_type": "notes"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"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>sqrMetres</th>\n",
|
|
|
|
|
" <th>price</th>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </thead>\n",
|
|
|
|
|
" <tbody>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>0</th>\n",
|
|
|
|
|
" <td>78</td>\n",
|
|
|
|
|
" <td>476118.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1</th>\n",
|
|
|
|
|
" <td>62</td>\n",
|
|
|
|
|
" <td>459531.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>2</th>\n",
|
|
|
|
|
" <td>15</td>\n",
|
|
|
|
|
" <td>411557.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>3</th>\n",
|
|
|
|
|
" <td>14</td>\n",
|
|
|
|
|
" <td>496416.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>4</th>\n",
|
|
|
|
|
" <td>15</td>\n",
|
|
|
|
|
" <td>406032.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>...</th>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1669</th>\n",
|
|
|
|
|
" <td>51</td>\n",
|
|
|
|
|
" <td>299000.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1670</th>\n",
|
|
|
|
|
" <td>53</td>\n",
|
|
|
|
|
" <td>339000.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1671</th>\n",
|
|
|
|
|
" <td>65</td>\n",
|
|
|
|
|
" <td>320000.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1672</th>\n",
|
|
|
|
|
" <td>67</td>\n",
|
|
|
|
|
" <td>364000.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1673</th>\n",
|
|
|
|
|
" <td>50</td>\n",
|
|
|
|
|
" <td>209000.0</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </tbody>\n",
|
|
|
|
|
"</table>\n",
|
|
|
|
|
"<p>1674 rows × 2 columns</p>\n",
|
|
|
|
|
"</div>"
|
|
|
|
|
],
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"text/plain": [
|
2022-06-18 11:52:01 +02:00
|
|
|
|
" sqrMetres price\n",
|
|
|
|
|
"0 78 476118.0\n",
|
|
|
|
|
"1 62 459531.0\n",
|
|
|
|
|
"2 15 411557.0\n",
|
|
|
|
|
"3 14 496416.0\n",
|
|
|
|
|
"4 15 406032.0\n",
|
|
|
|
|
"... ... ...\n",
|
|
|
|
|
"1669 51 299000.0\n",
|
|
|
|
|
"1670 53 339000.0\n",
|
|
|
|
|
"1671 65 320000.0\n",
|
|
|
|
|
"1672 67 364000.0\n",
|
|
|
|
|
"1673 50 209000.0\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[1674 rows x 2 columns]"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
]
|
|
|
|
|
},
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"execution_count": 101,
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"metadata": {},
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"# Wczytanie danych (mieszkania) przy pomocy biblioteki pandas\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"alldata = pandas.read_csv('data_flats.tsv', header=0, sep='\\t',\n",
|
|
|
|
|
" usecols=['price', 'rooms', 'sqrMetres'])\n",
|
|
|
|
|
"alldata = alldata[['sqrMetres', 'price']]\n",
|
|
|
|
|
"alldata"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 102,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"# alldata = np.matrix(alldata[['sqrMetres', 'price']])\n",
|
|
|
|
|
"data_train = alldata[0:1600]\n",
|
|
|
|
|
"data_test = alldata[1600:]\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 105,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Wielomian 1 stopnia, MSE = 31777996749.774563\n",
|
|
|
|
|
"Wielomian 2 stopnia, MSE = 80047128653.54173\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
2022-06-12 17:45:18 +02:00
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
2022-06-18 11:52:01 +02:00
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"for n in range(1, 3):\n",
|
|
|
|
|
" plot_and_mse(data_train, data_test, n) "
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 7,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"[[3.97959184e-01 4.76118000e+05]\n",
|
|
|
|
|
" [3.16326531e-01 4.59531000e+05]\n",
|
|
|
|
|
" [7.65306122e-02 4.11557000e+05]\n",
|
|
|
|
|
" ...\n",
|
|
|
|
|
" [3.31632653e-01 3.20000000e+05]\n",
|
|
|
|
|
" [3.41836735e-01 3.64000000e+05]\n",
|
|
|
|
|
" [2.55102041e-01 2.09000000e+05]]\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"[<matplotlib.lines.Line2D at 0x7f8c76378f10>]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 7,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 2\n",
|
|
|
|
|
"x, y = get_poly_data(data, n)\n",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"print(data)\n",
|
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 8,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"# Ilość nauki do oceny"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 67,
|
|
|
|
|
"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>number_courses</th>\n",
|
|
|
|
|
" <th>time_study</th>\n",
|
|
|
|
|
" <th>Marks</th>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </thead>\n",
|
|
|
|
|
" <tbody>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>0</th>\n",
|
|
|
|
|
" <td>3</td>\n",
|
|
|
|
|
" <td>4.508</td>\n",
|
|
|
|
|
" <td>19.202</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1</th>\n",
|
|
|
|
|
" <td>4</td>\n",
|
|
|
|
|
" <td>0.096</td>\n",
|
|
|
|
|
" <td>7.734</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>2</th>\n",
|
|
|
|
|
" <td>4</td>\n",
|
|
|
|
|
" <td>3.133</td>\n",
|
|
|
|
|
" <td>13.811</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>3</th>\n",
|
|
|
|
|
" <td>6</td>\n",
|
|
|
|
|
" <td>7.909</td>\n",
|
|
|
|
|
" <td>53.018</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>4</th>\n",
|
|
|
|
|
" <td>8</td>\n",
|
|
|
|
|
" <td>7.811</td>\n",
|
|
|
|
|
" <td>55.299</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>...</th>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>95</th>\n",
|
|
|
|
|
" <td>6</td>\n",
|
|
|
|
|
" <td>3.561</td>\n",
|
|
|
|
|
" <td>19.128</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>96</th>\n",
|
|
|
|
|
" <td>3</td>\n",
|
|
|
|
|
" <td>0.301</td>\n",
|
|
|
|
|
" <td>5.609</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>97</th>\n",
|
|
|
|
|
" <td>4</td>\n",
|
|
|
|
|
" <td>7.163</td>\n",
|
|
|
|
|
" <td>41.444</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>98</th>\n",
|
|
|
|
|
" <td>7</td>\n",
|
|
|
|
|
" <td>0.309</td>\n",
|
|
|
|
|
" <td>12.027</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>99</th>\n",
|
|
|
|
|
" <td>3</td>\n",
|
|
|
|
|
" <td>6.335</td>\n",
|
|
|
|
|
" <td>32.357</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </tbody>\n",
|
|
|
|
|
"</table>\n",
|
|
|
|
|
"<p>100 rows × 3 columns</p>\n",
|
|
|
|
|
"</div>"
|
|
|
|
|
],
|
|
|
|
|
"text/plain": [
|
|
|
|
|
" number_courses time_study Marks\n",
|
|
|
|
|
"0 3 4.508 19.202\n",
|
|
|
|
|
"1 4 0.096 7.734\n",
|
|
|
|
|
"2 4 3.133 13.811\n",
|
|
|
|
|
"3 6 7.909 53.018\n",
|
|
|
|
|
"4 8 7.811 55.299\n",
|
|
|
|
|
".. ... ... ...\n",
|
|
|
|
|
"95 6 3.561 19.128\n",
|
|
|
|
|
"96 3 0.301 5.609\n",
|
|
|
|
|
"97 4 7.163 41.444\n",
|
|
|
|
|
"98 7 0.309 12.027\n",
|
|
|
|
|
"99 3 6.335 32.357\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[100 rows x 3 columns]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 67,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"data_marks_all = pandas.read_csv('archive(1)/Student_Marks.csv')\n",
|
|
|
|
|
"data_marks_all"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 77,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"[<matplotlib.lines.Line2D at 0x7f8c754ac580>]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 77,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"data_marks_all = data_marks_all[['time_study', 'Marks']]\n",
|
|
|
|
|
"data_marks_all = data_marks_all.sample(frac=1)\n",
|
|
|
|
|
"data_marks = data_marks_all[0:70]\n",
|
|
|
|
|
"data_marks_test = data_marks_all[70:]\n",
|
|
|
|
|
"data_marks = np.matrix(data_marks).astype(float)\n",
|
|
|
|
|
"n = 1 # Wielomian pierwszego stopnia\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_marks), n)\n",
|
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 73,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"[<matplotlib.lines.Line2D at 0x7f8c755c13d0>]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 73,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 2 # Wielomian drugiego stopnia\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_marks), n)\n",
|
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 74,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"40.024\n",
|
|
|
|
|
"[[1. 0.80130703 0.64209295]]\n",
|
|
|
|
|
"[0.8013070252607767]\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"array([37.16059534])"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 74,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"n = 2 # Wielomaian pierwszego stopnia\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_marks), n)\n",
|
|
|
|
|
"model = polynomial_regression(x, y, n)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"index = 2\n",
|
|
|
|
|
"print(data_marks[index].item(1))\n",
|
|
|
|
|
"print(x[index])\n",
|
|
|
|
|
"print([x[index].item(1)])\n",
|
|
|
|
|
"model([x[index].item(1)])\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 87,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Wielomian 1 stopnia, MSE = 465.8122515203192\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# data_marks_test\n",
|
|
|
|
|
"plot_and_mse(data_marks, data_marks_test, 1) "
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 13,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Archive: archive.zip\n",
|
|
|
|
|
"replace insurance.csv? [y]es, [n]o, [A]ll, [N]one, [r]ename: ^C\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"!unzip archive.zip"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 14,
|
|
|
|
|
"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>age</th>\n",
|
|
|
|
|
" <th>sex</th>\n",
|
|
|
|
|
" <th>bmi</th>\n",
|
|
|
|
|
" <th>children</th>\n",
|
|
|
|
|
" <th>smoker</th>\n",
|
|
|
|
|
" <th>region</th>\n",
|
|
|
|
|
" <th>charges</th>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </thead>\n",
|
|
|
|
|
" <tbody>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>309</th>\n",
|
|
|
|
|
" <td>41</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>33.060</td>\n",
|
|
|
|
|
" <td>2</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>northwest</td>\n",
|
|
|
|
|
" <td>7749.15640</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>696</th>\n",
|
|
|
|
|
" <td>53</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>32.300</td>\n",
|
|
|
|
|
" <td>2</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>northeast</td>\n",
|
|
|
|
|
" <td>29186.48236</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>261</th>\n",
|
|
|
|
|
" <td>20</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>26.840</td>\n",
|
|
|
|
|
" <td>1</td>\n",
|
|
|
|
|
" <td>yes</td>\n",
|
|
|
|
|
" <td>southeast</td>\n",
|
|
|
|
|
" <td>17085.26760</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>937</th>\n",
|
|
|
|
|
" <td>39</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>24.225</td>\n",
|
|
|
|
|
" <td>5</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>northwest</td>\n",
|
|
|
|
|
" <td>8965.79575</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>891</th>\n",
|
|
|
|
|
" <td>36</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>29.040</td>\n",
|
|
|
|
|
" <td>4</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>southeast</td>\n",
|
|
|
|
|
" <td>7243.81360</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>...</th>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" <td>...</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>584</th>\n",
|
|
|
|
|
" <td>19</td>\n",
|
|
|
|
|
" <td>male</td>\n",
|
|
|
|
|
" <td>20.700</td>\n",
|
|
|
|
|
" <td>0</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>southwest</td>\n",
|
|
|
|
|
" <td>1242.81600</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1066</th>\n",
|
|
|
|
|
" <td>48</td>\n",
|
|
|
|
|
" <td>male</td>\n",
|
|
|
|
|
" <td>37.290</td>\n",
|
|
|
|
|
" <td>2</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>southeast</td>\n",
|
|
|
|
|
" <td>8978.18510</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>1025</th>\n",
|
|
|
|
|
" <td>21</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>34.600</td>\n",
|
|
|
|
|
" <td>0</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>southwest</td>\n",
|
|
|
|
|
" <td>2020.17700</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>831</th>\n",
|
|
|
|
|
" <td>36</td>\n",
|
|
|
|
|
" <td>female</td>\n",
|
|
|
|
|
" <td>25.840</td>\n",
|
|
|
|
|
" <td>0</td>\n",
|
|
|
|
|
" <td>no</td>\n",
|
|
|
|
|
" <td>northwest</td>\n",
|
|
|
|
|
" <td>5266.36560</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>49</th>\n",
|
|
|
|
|
" <td>36</td>\n",
|
|
|
|
|
" <td>male</td>\n",
|
|
|
|
|
" <td>35.200</td>\n",
|
|
|
|
|
" <td>1</td>\n",
|
|
|
|
|
" <td>yes</td>\n",
|
|
|
|
|
" <td>southeast</td>\n",
|
|
|
|
|
" <td>38709.17600</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </tbody>\n",
|
|
|
|
|
"</table>\n",
|
|
|
|
|
"<p>1338 rows × 7 columns</p>\n",
|
|
|
|
|
"</div>"
|
|
|
|
|
],
|
|
|
|
|
"text/plain": [
|
|
|
|
|
" age sex bmi children smoker region charges\n",
|
|
|
|
|
"309 41 female 33.060 2 no northwest 7749.15640\n",
|
|
|
|
|
"696 53 female 32.300 2 no northeast 29186.48236\n",
|
|
|
|
|
"261 20 female 26.840 1 yes southeast 17085.26760\n",
|
|
|
|
|
"937 39 female 24.225 5 no northwest 8965.79575\n",
|
|
|
|
|
"891 36 female 29.040 4 no southeast 7243.81360\n",
|
|
|
|
|
"... ... ... ... ... ... ... ...\n",
|
|
|
|
|
"584 19 male 20.700 0 no southwest 1242.81600\n",
|
|
|
|
|
"1066 48 male 37.290 2 no southeast 8978.18510\n",
|
|
|
|
|
"1025 21 female 34.600 0 no southwest 2020.17700\n",
|
|
|
|
|
"831 36 female 25.840 0 no northwest 5266.36560\n",
|
|
|
|
|
"49 36 male 35.200 1 yes southeast 38709.17600\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[1338 rows x 7 columns]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 14,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"data_ins = pandas.read_csv('insurance.csv')\n",
|
|
|
|
|
"data_ins = data_ins.sample(frac=1)\n",
|
|
|
|
|
"data_ins"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 15,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"[[33.06 41. ]\n",
|
|
|
|
|
" [32.3 53. ]\n",
|
|
|
|
|
" [26.84 20. ]\n",
|
|
|
|
|
" ...\n",
|
|
|
|
|
" [34.6 21. ]\n",
|
|
|
|
|
" [25.84 36. ]\n",
|
|
|
|
|
" [35.2 36. ]]\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"data_ins = data_ins[['bmi', 'age']]\n",
|
|
|
|
|
"data_ins = np.matrix(data_ins).astype(float)\n",
|
|
|
|
|
"print(data_ins)\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 16,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"[<matplotlib.lines.Line2D at 0x7f8c75c617c0>]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 16,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 691.2x388.8 with 1 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 1 # Wielomaian pierwszego stopnia\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_ins), n)\n",
|
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 17,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"29.735 1.0\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"ename": "NameError",
|
|
|
|
|
"evalue": "name 'a' is not defined",
|
|
|
|
|
"output_type": "error",
|
|
|
|
|
"traceback": [
|
|
|
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
|
|
|
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
|
|
|
|
"\u001b[0;32m/tmp/ipykernel_6535/4031094360.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_ins\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0ma\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
|
|
|
"\u001b[0;31mNameError\u001b[0m: name 'a' is not defined"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 1 # Wielomaian pierwszego stopnia\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_ins), n)\n",
|
|
|
|
|
"model = polynomial_regression(x, y, n)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"index = 10\n",
|
|
|
|
|
"print(data_ins.item(index), x.item(index))\n",
|
|
|
|
|
"a([x.item(index)])"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 2 # Wielomian 2 stopnia\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_ins), n)\n",
|
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"n = 3 # Wielomian 3 stopnia\n",
|
|
|
|
|
"x, y = get_poly_data(np.array(data_ins), n)\n",
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"fig = plot_data(x, y, xlabel='x', ylabel='y')\n",
|
2022-06-15 20:06:32 +02:00
|
|
|
|
"plot_fun(fig, polynomial_regression(x, y, n), x)"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"metadata": {
|
|
|
|
|
"author": "Paweł Skórzewski",
|
|
|
|
|
"celltoolbar": "Slideshow",
|
|
|
|
|
"email": "pawel.skorzewski@amu.edu.pl",
|
|
|
|
|
"kernelspec": {
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"display_name": "Python 3 (ipykernel)",
|
2022-06-12 17:45:18 +02:00
|
|
|
|
"language": "python",
|
|
|
|
|
"name": "python3"
|
|
|
|
|
},
|
|
|
|
|
"lang": "pl",
|
|
|
|
|
"language_info": {
|
|
|
|
|
"codemirror_mode": {
|
|
|
|
|
"name": "ipython",
|
|
|
|
|
"version": 3
|
|
|
|
|
},
|
|
|
|
|
"file_extension": ".py",
|
|
|
|
|
"mimetype": "text/x-python",
|
|
|
|
|
"name": "python",
|
|
|
|
|
"nbconvert_exporter": "python",
|
|
|
|
|
"pygments_lexer": "ipython3",
|
2022-06-18 11:52:01 +02:00
|
|
|
|
"version": "3.8.12"
|
2022-06-12 17:45:18 +02:00
|
|
|
|
},
|
|
|
|
|
"livereveal": {
|
|
|
|
|
"start_slideshow_at": "selected",
|
|
|
|
|
"theme": "white"
|
|
|
|
|
},
|
|
|
|
|
"subtitle": "5.Regresja wielomianowa. Problem nadmiernego dopasowania[wykład]",
|
|
|
|
|
"title": "Uczenie maszynowe",
|
|
|
|
|
"year": "2021"
|
|
|
|
|
},
|
|
|
|
|
"nbformat": 4,
|
|
|
|
|
"nbformat_minor": 4
|
2022-06-18 11:52:01 +02:00
|
|
|
|
}
|