{ "cells": [ { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.io import loadmat\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.decomposition import PCA\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.metrics import mean_squared_error,explained_variance_score\n", "from lightgbm import LGBMRegressor\n", "from sklearn.ensemble import RandomForestRegressor\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.neural_network import MLPRegressor\n", "from sklearn.datasets import load_boston\n", "from keras.wrappers.scikit_learn import KerasRegressor\n", "from keras.models import Sequential\n", "from keras.layers import Dense,Dropout\n", "import keras\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler()\n", "forest = RandomForestRegressor(n_estimators=100,n_jobs=-1)\n", "linreg = LinearRegression(normalize=True)\n", "boosting = LGBMRegressor()\n", "pca = PCA(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Цель вычислительного эксперимента:\n", "Необходимо решить задачу регрессии с использованием моделей: линейная регрессия, линейная регрессия + метод главных компонент, простая нейросеть и критериями качества: квадратичная ошибка, число обусловленности.\n", "## Описание выборок:\n", "Используется датасет ECoG (electrocorticographic data), уже разбитый на выборки обучение/контроль.\n", "## Блок загрузки и предобработки выборок:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "X_train = loadmat('ECoG_X_train.mat')['X_train']\n", "y_train = loadmat('ECoG_Y_train.mat')['Y_train']\n", "X_test = loadmat('ECoG_X_test.mat')['X_hold_out']\n", "y_test = loadmat('ECoG_Y_test.mat')['Y_hold_out']" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(12801, 32, 27)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_train.shape" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(12801, 3)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_train.shape" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(6087, 32, 27)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_test.shape" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(6087, 3)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_test.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Объектами X_train, X_test являются матрицы 32x27. Преобразуем их в одномерные векторы:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "X_train = np.array([i.flatten() for i in X_train])\n", "X_test = np.array([i.flatten() for i in X_test])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Анализ пропусков" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.isnan(X_train).any()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.isnan(y_train).any()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Данная выборка не имеет пропусков." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Список моделей\n", "Для решения поставленной задачи используются следующие модели:\n", "* линейная регрессия\n", "* PCA + линейная регрессия\n", "* простая нейросеть \n", "\n", "## Список критериев качетсва:\n", "* mean squared error\n", "* variance score\n", "\n", "## Структурные параметры нейронной сети:\n", "* число и состав признаков\n", "* размерность скрытого пространства\n", "* структура сети\n", "\n", "## Способ разбиения выборки на обучение-контроль:\n", "Данные уже разбиты на 2 выборки." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Линейная регрессия:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "model = linreg\n", "pipe = Pipeline(steps=[('model', model)])" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1786.7787691924393 0.0703714702511374\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Линейная регрессия c PCA до 80 компонент" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "model = linreg\n", "pca = PCA(n_components=80)\n", "pipe = Pipeline(steps=[('pca',pca),('model', model)])" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('pca', PCA(copy=True, iterated_power='auto', n_components=80, random_state=None,\n", " svd_solver='auto', tol=0.0, whiten=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1634.9602130184223 0.1467494360544288\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Нейронная сеть" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def big_model():\n", " model = Sequential()\n", " model.add(Dense(512, input_dim=864, kernel_initializer='normal', \n", " activation='relu',kernel_regularizer=keras.regularizers.l2(0.01)))\n", " model.add(Dense(256, kernel_initializer='normal', activation='relu',\n", " kernel_regularizer=keras.regularizers.l2(0.01)))\n", " model.add(Dense(3, kernel_initializer='normal'))\n", " # Compile model\n", " model.compile(loss='mean_squared_error', optimizer='rmsprop')\n", " return model" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "neural_net = KerasRegressor(big_model,epochs=100, batch_size=200,verbose=1)\n", "model = neural_net\n", "pipe = Pipeline(steps=[('scaler',scaler),('model', model)])" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/100\n", "12801/12801 [==============================] - 2s 178us/step - loss: 13826.9416\n", "Epoch 2/100\n", "12801/12801 [==============================] - 2s 145us/step - loss: 4106.8769\n", "Epoch 3/100\n", "12801/12801 [==============================] - 2s 143us/step - loss: 3307.4679\n", "Epoch 4/100\n", "12801/12801 [==============================] - 2s 145us/step - loss: 3014.8762\n", "Epoch 5/100\n", "12801/12801 [==============================] - 2s 142us/step - loss: 2704.6778\n", "Epoch 6/100\n", "12801/12801 [==============================] - 2s 147us/step - loss: 2511.1328\n", "Epoch 7/100\n", "12801/12801 [==============================] - 2s 146us/step - loss: 2389.2103\n", "Epoch 8/100\n", "12801/12801 [==============================] - 2s 146us/step - loss: 2233.0734\n", "Epoch 9/100\n", "12801/12801 [==============================] - 2s 149us/step - loss: 2113.7736\n", "Epoch 10/100\n", "12801/12801 [==============================] - 2s 158us/step - loss: 2028.6532\n", "Epoch 11/100\n", "12801/12801 [==============================] - 2s 147us/step - loss: 1898.8530\n", "Epoch 12/100\n", "12801/12801 [==============================] - 2s 148us/step - loss: 1864.5661\n", "Epoch 13/100\n", "12801/12801 [==============================] - 2s 162us/step - loss: 1776.9549\n", "Epoch 14/100\n", "12801/12801 [==============================] - 2s 156us/step - loss: 1701.9742\n", "Epoch 15/100\n", "12801/12801 [==============================] - 2s 170us/step - loss: 1652.2706\n", "Epoch 16/100\n", "12801/12801 [==============================] - 2s 140us/step - loss: 1591.3517\n", "Epoch 17/100\n", "12801/12801 [==============================] - 2s 139us/step - loss: 1516.2855\n", "Epoch 18/100\n", "12801/12801 [==============================] - 2s 169us/step - loss: 1479.7010\n", "Epoch 19/100\n", "12801/12801 [==============================] - 2s 133us/step - loss: 1395.4281\n", "Epoch 20/100\n", "12801/12801 [==============================] - 2s 180us/step - loss: 1366.5875\n", "Epoch 21/100\n", "12801/12801 [==============================] - 1s 112us/step - loss: 1285.3563\n", "Epoch 22/100\n", "12801/12801 [==============================] - 1s 110us/step - loss: 1267.7612\n", "Epoch 23/100\n", "12801/12801 [==============================] - 2s 160us/step - loss: 1239.2720\n", "Epoch 24/100\n", "12801/12801 [==============================] - 2s 156us/step - loss: 1162.5306\n", "Epoch 25/100\n", "12801/12801 [==============================] - 2s 193us/step - loss: 1151.1756\n", "Epoch 26/100\n", "12801/12801 [==============================] - 3s 224us/step - loss: 1139.7617\n", "Epoch 27/100\n", "12801/12801 [==============================] - 3s 211us/step - loss: 1074.3790\n", "Epoch 28/100\n", "12801/12801 [==============================] - 3s 213us/step - loss: 1066.1592\n", "Epoch 29/100\n", "12801/12801 [==============================] - 3s 213us/step - loss: 1013.9194\n", "Epoch 30/100\n", "12801/12801 [==============================] - 3s 214us/step - loss: 997.5742\n", "Epoch 31/100\n", "12801/12801 [==============================] - 2s 178us/step - loss: 990.0401\n", "Epoch 32/100\n", "12801/12801 [==============================] - 2s 180us/step - loss: 955.1419\n", "Epoch 33/100\n", "12801/12801 [==============================] - 2s 158us/step - loss: 930.7601\n", "Epoch 34/100\n", "12801/12801 [==============================] - 2s 169us/step - loss: 917.5061\n", "Epoch 35/100\n", "12801/12801 [==============================] - 2s 173us/step - loss: 876.6819\n", "Epoch 36/100\n", "12801/12801 [==============================] - 3s 272us/step - loss: 858.1280\n", "Epoch 37/100\n", "12801/12801 [==============================] - 3s 232us/step - loss: 825.9380\n", "Epoch 38/100\n", "12801/12801 [==============================] - 2s 183us/step - loss: 802.3470\n", "Epoch 39/100\n", "12801/12801 [==============================] - 3s 212us/step - loss: 800.9426\n", "Epoch 40/100\n", "12801/12801 [==============================] - 4s 278us/step - loss: 797.6517\n", "Epoch 41/100\n", "12801/12801 [==============================] - 2s 193us/step - loss: 775.5609\n", "Epoch 42/100\n", "12801/12801 [==============================] - 2s 189us/step - loss: 784.9142\n", "Epoch 43/100\n", "12801/12801 [==============================] - 3s 198us/step - loss: 730.1974\n", "Epoch 44/100\n", "12801/12801 [==============================] - 3s 214us/step - loss: 731.5533\n", "Epoch 45/100\n", "12801/12801 [==============================] - 3s 242us/step - loss: 724.2402\n", "Epoch 46/100\n", "12801/12801 [==============================] - 3s 243us/step - loss: 668.4577\n", "Epoch 47/100\n", "12801/12801 [==============================] - 3s 226us/step - loss: 682.9458\n", "Epoch 48/100\n", "12801/12801 [==============================] - 3s 199us/step - loss: 686.0351\n", "Epoch 49/100\n", "12801/12801 [==============================] - 2s 175us/step - loss: 669.5158\n", "Epoch 50/100\n", "12801/12801 [==============================] - 3s 213us/step - loss: 678.2515\n", "Epoch 51/100\n", "12801/12801 [==============================] - 3s 200us/step - loss: 648.4325\n", "Epoch 52/100\n", "12801/12801 [==============================] - 2s 190us/step - loss: 642.8736\n", "Epoch 53/100\n", "12801/12801 [==============================] - 2s 162us/step - loss: 637.3700\n", "Epoch 54/100\n", "12801/12801 [==============================] - 2s 159us/step - loss: 602.8367\n", "Epoch 55/100\n", "12801/12801 [==============================] - 2s 157us/step - loss: 619.3521\n", "Epoch 56/100\n", "12801/12801 [==============================] - 2s 161us/step - loss: 620.9534\n", "Epoch 57/100\n", "12801/12801 [==============================] - 3s 197us/step - loss: 586.6562\n", "Epoch 58/100\n", "12801/12801 [==============================] - 3s 219us/step - loss: 592.0330\n", "Epoch 59/100\n", "12801/12801 [==============================] - 3s 245us/step - loss: 591.1542\n", "Epoch 60/100\n", "12801/12801 [==============================] - 3s 234us/step - loss: 550.9516\n", "Epoch 61/100\n", "12801/12801 [==============================] - 3s 202us/step - loss: 579.5324\n", "Epoch 62/100\n", "12801/12801 [==============================] - 3s 202us/step - loss: 554.7284\n", "Epoch 63/100\n", "12801/12801 [==============================] - 2s 194us/step - loss: 535.0105\n", "Epoch 64/100\n", "12801/12801 [==============================] - 2s 195us/step - loss: 550.6192\n", "Epoch 65/100\n", "12801/12801 [==============================] - 3s 204us/step - loss: 555.5725\n", "Epoch 66/100\n", "12801/12801 [==============================] - 2s 182us/step - loss: 534.6731\n", "Epoch 67/100\n", "12801/12801 [==============================] - 2s 174us/step - loss: 533.0545\n", "Epoch 68/100\n", "12801/12801 [==============================] - 3s 203us/step - loss: 499.6661\n", "Epoch 69/100\n", "12801/12801 [==============================] - 3s 203us/step - loss: 528.4265\n", "Epoch 70/100\n", "12801/12801 [==============================] - 2s 172us/step - loss: 490.1835\n", "Epoch 71/100\n", "12801/12801 [==============================] - 2s 192us/step - loss: 515.8431\n", "Epoch 72/100\n", "12801/12801 [==============================] - 2s 157us/step - loss: 499.0169\n", "Epoch 73/100\n", "12801/12801 [==============================] - 2s 172us/step - loss: 487.5167\n", "Epoch 74/100\n", "12801/12801 [==============================] - 2s 165us/step - loss: 491.7562\n", "Epoch 75/100\n", "12801/12801 [==============================] - 2s 161us/step - loss: 478.5188\n", "Epoch 76/100\n", "12801/12801 [==============================] - 2s 174us/step - loss: 482.2381\n", "Epoch 77/100\n", "12801/12801 [==============================] - 2s 155us/step - loss: 487.5325\n", "Epoch 78/100\n", "12801/12801 [==============================] - 2s 173us/step - loss: 460.3936\n", "Epoch 79/100\n", "12801/12801 [==============================] - 2s 153us/step - loss: 442.9127\n", "Epoch 80/100\n", "12801/12801 [==============================] - 2s 184us/step - loss: 462.0990\n", "Epoch 81/100\n", "12801/12801 [==============================] - 2s 185us/step - loss: 457.4444\n", "Epoch 82/100\n", "12801/12801 [==============================] - 2s 155us/step - loss: 453.2949\n", "Epoch 83/100\n", "12801/12801 [==============================] - 3s 197us/step - loss: 440.8044\n", "Epoch 84/100\n", "12801/12801 [==============================] - 2s 171us/step - loss: 422.6709\n", "Epoch 85/100\n", "12801/12801 [==============================] - 2s 171us/step - loss: 445.0583\n", "Epoch 86/100\n", "12801/12801 [==============================] - 2s 166us/step - loss: 441.1010\n", "Epoch 87/100\n", "12801/12801 [==============================] - 2s 170us/step - loss: 416.9275\n", "Epoch 88/100\n", "12801/12801 [==============================] - 2s 177us/step - loss: 424.7273\n", "Epoch 89/100\n", "12801/12801 [==============================] - 2s 173us/step - loss: 442.3417\n", "Epoch 90/100\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "12801/12801 [==============================] - 2s 152us/step - loss: 407.8288\n", "Epoch 91/100\n", "12801/12801 [==============================] - 2s 154us/step - loss: 411.6233\n", "Epoch 92/100\n", "12801/12801 [==============================] - 2s 179us/step - loss: 398.3094\n", "Epoch 93/100\n", "12801/12801 [==============================] - 2s 168us/step - loss: 415.3668\n", "Epoch 94/100\n", "12801/12801 [==============================] - 2s 172us/step - loss: 392.7755\n", "Epoch 95/100\n", "12801/12801 [==============================] - 2s 142us/step - loss: 385.8142\n", "Epoch 96/100\n", "12801/12801 [==============================] - 2s 144us/step - loss: 402.8084\n", "Epoch 97/100\n", "12801/12801 [==============================] - 2s 153us/step - loss: 390.5092\n", "Epoch 98/100\n", "12801/12801 [==============================] - 2s 159us/step - loss: 389.1342\n", "Epoch 99/100\n", "12801/12801 [==============================] - 2s 189us/step - loss: 397.8578\n", "Epoch 100/100\n", "12801/12801 [==============================] - 2s 188us/step - loss: 394.2945\n" ] }, { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('scaler', StandardScaler(copy=True, with_mean=True, with_std=True)), ('model', )])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6087/6087 [==============================] - 1s 91us/step\n", "2332.629741946544 -0.17965804136300276\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Графики" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от количества эпох" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "results = np.zeros((5, 5))\n", "N = 1218\n", "for i, n_epoch in enumerate([1,5,10,20,50]):\n", " model = KerasRegressor(big_model,epochs=n_epoch, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train,y_train)\n", " res = pipe.predict(X_test)\n", " for j in range(5):\n", " results[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)],\n", " res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[4569.91055308, 5012.51786228, 4277.85763436, 4546.70370505,\n", " 4328.95583161],\n", " [2505.65580119, 2789.00047169, 2285.42403887, 3047.51039107,\n", " 2784.95535496],\n", " [3187.45148495, 3263.25880654, 3078.71302404, 3242.64821162,\n", " 2757.90914865],\n", " [2396.02436322, 3292.38280118, 2041.26333932, 2713.75580987,\n", " 2890.06975869],\n", " [2601.56828163, 3753.07692081, 2202.77204714, 2998.7842833 ,\n", " 3507.00173318]])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x_ticks = [1,5,10,20,50]\n", "results_mean = np.mean(results, axis=1)\n", "results_std = np.std(results, axis=1)\n", "plt.plot(x_ticks, results_mean, 'k-')\n", "plt.plot(x_ticks, results_mean - results_std, 'b-')\n", "plt.plot(x_ticks, results_mean + results_std, 'b-')\n", "plt.fill_between(x_ticks, results_mean - results_std, results_mean + results_std)\n", "plt.grid()\n", "plt.title('Зависимость функции ошибки от количества эпох')\n", "plt.xlabel(\"Количество эпох обучения\")\n", "plt.ylabel(\"Среднеквадратичное отклонение\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от размера скрытого слоя" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "def variable_model():\n", " model = Sequential()\n", " model.add(Dense(64, input_dim=864, kernel_initializer='normal', activation='relu'))\n", " for i in range(n_l-1):\n", " model.add(Dense(64, kernel_initializer='normal', activation='relu'))\n", " model.add(Dense(3, kernel_initializer='normal'))\n", " # Compile model\n", " model.compile(loss='mean_squared_error', optimizer='rmsprop')\n", " return model\n", "results1 = np.zeros((3,5))\n", "n_layers = [1,2,3]\n", "for i, n_l in enumerate(n_layers):\n", " model = KerasRegressor(variable_model,epochs=10, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train,y_train)\n", " res = pipe.predict(X_test)\n", " for j in range(5):\n", " results1[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)], res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[4459.67106945, 4890.31655815, 3941.06789619, 4523.3945766 ,\n", " 4297.1579745 ],\n", " [2392.58870991, 2882.90961967, 2121.09892981, 2700.03479441,\n", " 2798.22901469],\n", " [2541.41769657, 2911.49202871, 2271.01093711, 2984.73926444,\n", " 2667.73825071]])" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results1" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results1_mean = np.mean(results1, axis=1)\n", "results1_std = np.std(results1, axis=1)\n", "fig, ax = plt.subplots()\n", "ax.set_xlabel(\"Количество скрытых слоев\")\n", "ax.set_ylabel(\"Среднеквадратичное отклонение\")\n", "ax.set_title('Зависимость функции ошибки от размера скрытого слоя')\n", "ax.set_xticks(n_layers)\n", "plt.plot(n_layers, results1_mean, 'k-')\n", "plt.plot(n_layers, results1_mean - results1_std, 'b-')\n", "plt.plot(n_layers, results1_mean + results1_std, 'b-')\n", "plt.fill_between(n_layers, results1_mean - results1_std, results1_mean + results1_std)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от размера обучающей выборки" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "percents_of_data = [0.1,0.2,0.3,0.5,0.8,1.0]\n", "results3 = np.zeros((6, 5))\n", "for i, pod in enumerate(percents_of_data):\n", " model = KerasRegressor(big_model,epochs=10, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train[:int(len(X_train)*pod)],y_train[:int(len(X_train)*pod)])\n", " res = pipe.predict(X_test)\n", " for j in range(5):\n", " results3[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)], res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[5446.2258489 , 4709.43085895, 5602.62709673, 5386.65219092,\n", " 4655.4724349 ],\n", " [3791.06176671, 3598.5409162 , 3744.0984689 , 4104.49428603,\n", " 3550.56700095],\n", " [3920.09423252, 3558.16307074, 3891.96906894, 3781.08513912,\n", " 3504.17818583],\n", " [3670.57506937, 3750.95994031, 3456.65627776, 3560.79451291,\n", " 3628.13201099],\n", " [2103.65891252, 2666.37717049, 1830.25414167, 2544.09178049,\n", " 2648.33948823],\n", " [2667.3451799 , 2918.71788949, 2444.8128165 , 2768.48396353,\n", " 2550.68465311]])" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results3" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results3_mean = np.mean(results3, axis=1)\n", "results3_std = np.std(results3, axis=1)\n", "fig, ax = plt.subplots()\n", "#ax.set_ylim(0,60)\n", "ax.set_xlabel(\"Процент от полной train выборки\")\n", "ax.set_ylabel(\"Среднеквадратичное отклонение\")\n", "ax.set_title('Зависимость функции ошибки от размера скрытого слоя')\n", "ax.set_xticks(percents_of_data)\n", "plt.plot(percents_of_data, results3_mean, 'k-')\n", "plt.plot(percents_of_data, results3_mean - results3_std, 'b-')\n", "plt.plot(percents_of_data, results3_mean + results3_std, 'b-')\n", "plt.fill_between(percents_of_data, results3_mean - results3_std, results3_mean + results3_std)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Анализ результатов\n", "\n", "| | linreg | linreg + PCA | neural_net |\n", "|--------------------|---------|--------------|------------|\n", "| mean squared error | 1786.77 | 1634.90 | 2201.43 | \n", "| variance score | 0.070 | 0.147 | -0.240 |\n", "\n", "## Вывод\n", "Можно сделать вывод, что наилучшие результаты показывает linear regression + 80-component PCA." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Синтетическая выборка\n", "В качестве синтетической выборки для задачи регрессии возьмём Boston dataset." ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "dataset = load_boston()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(506, 13)" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset.data.shape" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "y = dataset.target\n", "X = dataset.data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=228)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Линейная регрессия" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "model = linreg\n", "pipe = Pipeline(steps=[('model', model)])" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "31.84400099655244 0.7013949934877279\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Линейная регрессия c PCA до 8 компонент" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "model = linreg\n", "pca = PCA(n_components=8)\n", "pipe = Pipeline(steps=[('pca',pca),('model', model)])" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('pca', PCA(copy=True, iterated_power='auto', n_components=8, random_state=None,\n", " svd_solver='auto', tol=0.0, whiten=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "49.06022977053876 0.5449917208136847\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Нейронная сеть" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [], "source": [ "def small_model():\n", " model = Sequential()\n", " model.add(Dense(128, input_dim=13, kernel_initializer='normal', activation='relu'))\n", " model.add(Dense(64, kernel_initializer='normal', activation='relu'))\n", " model.add(Dense(1, kernel_initializer='normal'))\n", " # Compile model\n", " model.compile(loss='mean_squared_error', optimizer='rmsprop')\n", " return model" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "neural_net = KerasRegressor(small_model,epochs=200, batch_size=100,verbose=0)\n", "model = neural_net\n", "pipe = Pipeline(steps=[('scaler',scaler),('model', model)])" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(memory=None,\n", " steps=[('scaler', StandardScaler(copy=True, with_mean=True, with_std=True)), ('model', )])" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pipe.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11.015076732376858 0.8960202502977511\n" ] } ], "source": [ "res = pipe.predict(X_test)\n", "mse = mean_squared_error(res,y_test) \n", "varience = explained_variance_score(y_test,res)\n", "print(mse,varience)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Графики" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от количества эпох" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "results = np.zeros((8, 5))\n", "N = 26\n", "for i, n_epoch in enumerate([1,5,10,20,50,100,200,500]):\n", " model = KerasRegressor(small_model,epochs=n_epoch, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train,y_train)\n", " res = pipe.predict(X_test)\n", " for j in range(5):\n", " results[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)],\n", " res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[588.55591617, 800.37676391, 541.50012345, 749.66211925,\n", " 570.88272409],\n", " [508.42827134, 707.10844634, 472.86396325, 656.67109527,\n", " 501.77996136],\n", " [296.32989856, 470.48872587, 307.76984998, 403.79549346,\n", " 319.74831032],\n", " [ 74.0696805 , 155.49292005, 83.49085238, 109.01707561,\n", " 75.9354363 ],\n", " [ 18.35862169, 64.41567193, 17.09276508, 11.94226864,\n", " 7.48491999],\n", " [ 10.64446066, 31.28309395, 10.34166804, 6.75535306,\n", " 5.13119643],\n", " [ 9.05678462, 20.23943936, 9.93137782, 6.50863175,\n", " 5.56096751],\n", " [ 10.67959145, 10.31300342, 9.33933722, 6.88691065,\n", " 7.28555315]])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results_mean = np.mean(results, axis=1)\n", "results_std = np.std(results, axis=1)\n", "x_ticks = [1,5,10,20,50,100,200,500]\n", "fig, ax = plt.subplots()\n", "plt.plot(x_ticks, results_mean, 'k-')\n", "plt.plot(x_ticks, results_mean - results_std, 'b-')\n", "plt.plot(x_ticks, results_mean + results_std, 'b-')\n", "plt.fill_between(x_ticks, results_mean - results_std, results_mean + results_std)\n", "plt.grid()\n", "ax.set_yscale('log')\n", "ax.set_xscale('log')\n", "ax.set_xticks(x_ticks)\n", "ax.set_xticklabels(x_ticks)\n", "ax.set_title('Зависимость функции ошибки от количества эпох')\n", "ax.set_xlabel(\"Количество эпох обучения\")\n", "ax.set_ylabel(\"Среднеквадратичное отклонение\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от размера скрытого слоя" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "def variable_model():\n", " model = Sequential()\n", " model.add(Dense(64, input_dim=13, kernel_initializer='normal', activation='relu'))\n", " for i in range(n_l-1):\n", " model.add(Dense(64, kernel_initializer='normal', activation='relu'))\n", " model.add(Dense(1, kernel_initializer='normal'))\n", " # Compile model\n", " model.compile(loss='mean_squared_error', optimizer='rmsprop')\n", " return model\n", "results1 = np.zeros((5, 5))\n", "n_layers = [1,2,3,5,10]\n", "for i, n_l in enumerate(n_layers):\n", " model = KerasRegressor(variable_model,epochs=200, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train,y_train)\n", " res = pipe.predict(X_test)\n", " for j in range(5):\n", " results1[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)], res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[17.59480924, 54.01601583, 12.71965805, 11.19683585, 6.58949272],\n", " [11.86632501, 22.77298046, 10.72590175, 7.41086292, 5.56763962],\n", " [10.70956175, 24.50284219, 9.90847772, 7.76224494, 5.09098941],\n", " [ 9.26822945, 17.22824635, 12.05889931, 9.02318618, 9.70527924],\n", " [ 8.88800241, 22.4141463 , 13.29210806, 12.69009511, 14.59686595]])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results1" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results1_mean = np.mean(results1, axis=1)\n", "results1_std = np.std(results1, axis=1)\n", "fig, ax = plt.subplots()\n", "ax.set_ylim(0,30)\n", "ax.set_xlabel(\"Количество скрытых слоев\")\n", "ax.set_ylabel(\"Среднеквадратичное отклонение\")\n", "ax.set_title('Зависимость функции ошибки от размера скрытого слоя')\n", "ax.set_xticks(n_layers)\n", "plt.plot(n_layers, results1_mean, 'k-')\n", "plt.plot(n_layers, results1_mean - results1_std, 'b-')\n", "plt.plot(n_layers, results1_mean + results1_std, 'b-')\n", "plt.fill_between(n_layers, results1_mean - results1_std, results1_mean + results1_std)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Зависимость функции ошибки от размера обучающей выборки" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "percents_of_data = [0.1,0.2,0.3,0.5,0.8,1.0]\n", "results3 = np.zeros((6, 5))\n", "for i, pod in enumerate(percents_of_data):\n", " model = KerasRegressor(small_model,epochs=100, batch_size=100,verbose=0)\n", " pipe = Pipeline(steps=[('scaler',scaler),('model', model)])\n", " pipe.fit(X_train[:int(len(X_train)*pod)],y_train[:int(len(X_train)*pod)])\n", " res = pipe.predict(X_test)\n", " error = mean_squared_error(res,y_test) \n", " for j in range(5):\n", " results3[i][j] = mean_squared_error(y_test[N * j: N * (j + 1)], res[N * j: N * (j + 1)])" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 39.26496364, 125.25234136, 28.80575555, 32.3160941 ,\n", " 31.61399156],\n", " [ 45.71867795, 82.57181656, 29.47177725, 27.00505718,\n", " 30.71210084],\n", " [ 23.73976423, 51.12091818, 16.76351469, 10.64888061,\n", " 12.67334685],\n", " [ 15.25653084, 51.57973858, 12.16857357, 10.7065328 ,\n", " 6.5929573 ],\n", " [ 9.90118696, 53.84111241, 11.18194535, 9.95077099,\n", " 4.9313148 ],\n", " [ 10.90012465, 32.23885325, 9.8241123 , 7.94993799,\n", " 4.87686346]])" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results3" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results3_mean = np.mean(results3, axis=1)\n", "results3_std = np.std(results3, axis=1)\n", "fig, ax = plt.subplots()\n", "ax.set_ylim(0,60)\n", "ax.set_xlabel(\"Процент от полной train выборки\")\n", "ax.set_ylabel(\"Среднеквадратичное отклонение\")\n", "ax.set_title('Зависимость функции ошибки от размера скрытого слоя')\n", "ax.set_xticks(percents_of_data)\n", "plt.plot(percents_of_data, results3_mean, 'k-')\n", "plt.plot(percents_of_data, results3_mean - results3_std, 'b-')\n", "plt.plot(percents_of_data, results3_mean + results3_std, 'b-')\n", "plt.fill_between(percents_of_data, results3_mean - results3_std, results3_mean + results3_std)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }