Skip to content

Instantly share code, notes, and snippets.

@spolakh
Created April 11, 2015 09:00
Show Gist options
  • Save spolakh/1564da0d4100143e508b to your computer and use it in GitHub Desktop.
Save spolakh/1564da0d4100143e508b to your computer and use it in GitHub Desktop.
{"nbformat_minor": 0, "cells": [{"execution_count": 62, "cell_type": "code", "source": "%pylab inline\nimport numpy as np\nimport pandas\nimport neurolab as nl", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Populating the interactive namespace from numpy and matplotlib\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 55, "cell_type": "code", "source": "from pandas.io.excel import read_excel\ndf = read_excel(\"Concrete_Data.xls\")\n\ndf.columns = ['cement', 'slag', 'fly ash', 'water', 'superpl', 'coarse', 'fine', 'age', 'result']\ndf.head()", "outputs": [{"execution_count": 55, "output_type": "execute_result", "data": {"text/plain": " cement slag fly ash water superpl coarse fine age result\n0 540.0 0.0 0 162 2.5 1040.0 676.0 28 79.986111\n1 540.0 0.0 0 162 2.5 1055.0 676.0 28 61.887366\n2 332.5 142.5 0 228 0.0 932.0 594.0 270 40.269535\n3 332.5 142.5 0 228 0.0 932.0 594.0 365 41.052780\n4 198.6 132.4 0 192 0.0 978.4 825.5 360 44.296075", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>cement</th>\n <th>slag</th>\n <th>fly ash</th>\n <th>water</th>\n <th>superpl</th>\n <th>coarse</th>\n <th>fine</th>\n <th>age</th>\n <th>result</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 540.0</td>\n <td> 0.0</td>\n <td> 0</td>\n <td> 162</td>\n <td> 2.5</td>\n <td> 1040.0</td>\n <td> 676.0</td>\n <td> 28</td>\n <td> 79.986111</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 540.0</td>\n <td> 0.0</td>\n <td> 0</td>\n <td> 162</td>\n <td> 2.5</td>\n <td> 1055.0</td>\n <td> 676.0</td>\n <td> 28</td>\n <td> 61.887366</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 332.5</td>\n <td> 142.5</td>\n <td> 0</td>\n <td> 228</td>\n <td> 0.0</td>\n <td> 932.0</td>\n <td> 594.0</td>\n <td> 270</td>\n <td> 40.269535</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 332.5</td>\n <td> 142.5</td>\n <td> 0</td>\n <td> 228</td>\n <td> 0.0</td>\n <td> 932.0</td>\n <td> 594.0</td>\n <td> 365</td>\n <td> 41.052780</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 198.6</td>\n <td> 132.4</td>\n <td> 0</td>\n <td> 192</td>\n <td> 0.0</td>\n <td> 978.4</td>\n <td> 825.5</td>\n <td> 360</td>\n <td> 44.296075</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0412\u044b\u0431\u043e\u0440\u043a\u0443 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u043b\u0438, \u0440\u0430\u0437\u043e\u0431\u044c\u0451\u043c \u0435\u0451 \u043d\u0430 train \u0438 test \u0438 \u043f\u043e\u0434\u0433\u043e\u043d\u0438\u043c \u043f\u043e\u0434 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u043d\u0435\u0439\u0440\u043e\u043b\u0430\u0431\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442 (\u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043a\u0441\u0442\u0430\u0442\u0438, \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u044d\u043a\u0437\u043e\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439, \u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c -- \u043a\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b, \u0447\u0442\u043e \u0441\u0435\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u043d\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043d\u0435\u0439\u0440\u043e\u043d\u0430\u0445??).", "cell_type": "markdown", "metadata": {}}, {"execution_count": 56, "cell_type": "code", "source": "from sklearn.cross_validation import train_test_split\nx_train, x_test, y_train, y_test = train_test_split(df.drop('result', axis=1), df['result'], train_size=0.75)\ny = y_train.reshape(len(y_train), 1)", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041e\u0431\u0443\u0447\u0438\u043c \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0439 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430\u043c\u0438 \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0441\u043b\u043e\u0435.", "cell_type": "markdown", "metadata": {}}, {"execution_count": 61, "cell_type": "code", "source": "from sklearn.metrics import mean_absolute_error\n\nresults = []\n\nfor p in range(1, 21):\n net = nl.net.newff(minmax=[[df[column].min(), df[column].max()] for column in df.drop(\"result\", axis=1)], \n size=[p, 1], transf=[nl.trans.LogSig(), nl.trans.PureLin()])\n net.trainf = nl.train.train_rprop\n net.train(x_train, y, show=0)\n results.append(mean_absolute_error(y_test, net.sim(x_test)))", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u0430\u043a \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c", "cell_type": "markdown", "metadata": {}}, {"execution_count": 65, "cell_type": "code", "source": "plot(range(1, 21), results)", "outputs": [{"execution_count": 65, "output_type": "execute_result", "data": {"text/plain": "[<matplotlib.lines.Line2D at 0x7fa8fdf3fdd0>]"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": "<matplotlib.figure.Figure at 0x7fa8fe035890>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0412\u044b\u0431\u0435\u0440\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 p*", "cell_type": "markdown", "metadata": {}}, {"execution_count": 66, "cell_type": "code", "source": "p_ = np.argmin(results)", "outputs": [], "metadata": {"collapsed": true, "trusted": true}}, {"source": "\u041e\u0431\u0443\u0447\u0438\u043c \u0435\u0449\u0451 \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0439 \u0441 p* \u043d\u0435\u0439\u0440\u043e\u043d\u0430\u043c\u0438 \u043d\u0430 \u0441\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u043b\u043e\u0435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 67, "cell_type": "code", "source": "nets = []\nerrors = []\nfor i in range(1, 21):\n net = nl.net.newff(minmax=[[df[column].min(), df[column].max()] for column in df.drop(\"result\", axis=1)], \n size=[p_, 1], transf=[nl.trans.LogSig(), nl.trans.PureLin()])\n net.trainf = nl.train.train_rprop\n net.train(x_train, y, show=0)\n nets.append(net)\n errors.append(mean_absolute_error(y_test, net.sim(x_test)))", "outputs": [], "metadata": {"collapsed": true, "trusted": true}}, {"source": "\u0418 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0435\u0449\u0451 \u0434\u0432\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0443\u0441\u0440\u0435\u0434\u043d\u0451\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a", "cell_type": "markdown", "metadata": {}}, {"execution_count": 72, "cell_type": "code", "source": "def average_error(nets):\n av_ans = reduce(lambda x, y: x + y, [net.sim(x_test) for net in nets]) / len(nets)\n return mean_absolute_error(y_test, av_ans)\n \nmean_results = [average_error(nets[:i]) for i in range(1, 21)]", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 73, "cell_type": "code", "source": "import operator\nselected_nets = [net for (net, error) in sorted(zip(nets, errors), key=operator.itemgetter(1))]\nmean_selected_results = [average_error(selected_nets[:i]) for i in range(1, 21)]", "outputs": [], "metadata": {"collapsed": true, "trusted": true}}, {"source": "\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u0442\u0435\u0439 \u0432 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0442\u043e\u0440 \u0432 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 74, "cell_type": "code", "source": "plot(range(1, 21), mean_results)", "outputs": [{"execution_count": 74, "output_type": "execute_result", "data": {"text/plain": "[<matplotlib.lines.Line2D at 0x7fa8fde8c290>]"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\nhbOAAAAAAElFTkSuQmCC\n", "text/plain": "<matplotlib.figure.Figure at 0x7fa8fe25d050>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0418 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430 \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u043e\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 75, "cell_type": "code", "source": "plot(range(1, 21), mean_selected_results)", "outputs": [{"execution_count": 75, "output_type": "execute_result", "data": {"text/plain": "[<matplotlib.lines.Line2D at 0x7fa8fddb69d0>]"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": "<matplotlib.figure.Figure at 0x7fa8fdeb5250>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": null, "cell_type": "code", "source": "", "outputs": [], "metadata": {"collapsed": true, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.6", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment