Created
September 28, 2016 13:28
-
-
Save karlnapf/3c12de56ebb981e3fd33cb0ad0b0f5f2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f045f134390>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import time\n", | |
"import numpy as np\n", | |
"from kernel_exp_family.examples.tools import visualise_fit_2d\n", | |
"import matplotlib.pyplot as plt\n", | |
"import modshogun as sg\n", | |
"sg.get_global_parallel().set_num_threads(4);\n", | |
"%matplotlib inline\n", | |
"\n", | |
"class dummy_density_for_plotting_data:\n", | |
" pass\n", | |
"dummy=dummy_density_for_plotting_data()\n", | |
"dummy.log_pdf = lambda x: 0\n", | |
"dummy.grad = lambda x: np.zeros(D)\n", | |
"\n", | |
"sigma = 3.\n", | |
"lmbda = 1.\n", | |
"D = 2\n", | |
"N = 1000\n", | |
"\n", | |
"X_row_major = np.random.randn(N, D)\n", | |
"X_col_major = X_row_major.T\n", | |
"x=X_col_major[0]\n", | |
"\n", | |
"visualise_fit_2d(dummy, X_row_major)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"2000\n", | |
"50\n" | |
] | |
} | |
], | |
"source": [ | |
"m = int(N*D/5)\n", | |
"m=50\n", | |
"print N*D\n", | |
"print m" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"('time', 0.04237699508666992)\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\nX1yru+iii8aWrfrPeweeKt26mZ8+fbpWXllZGR5b9Z8uW1WhLXtqRSvbXrilXNkaUrbgtHFR5wqK\nEEJIkXCCIoQQUiSdJygROSginxCRz4vIwyLyxhwdI2TeoCwRUieHDeocgDeFEB4SkUUAfysi94UQ\n/qFtg21dyVPcLmPunF7YIc/F1tOx27J1cdV1KW69XWxQKeemhEdJsRXlOteSK1PpFGksS23czO1Y\n9NJSpLiZp2zn8GxZns0JqNudrA3q0ksvHR5fcskltTpb1tfae2jXdvsOPDmzNqfl5eVa+Zlnnhke\nP/3002Pr7HW2XV32XNktKZ+R9x3bxc28DZ1XUCGEYyGEh6rjZQCHAVzetV1C5g3KEiF1stqgROQq\nAC8F8Omc7RIyb1CWCMk4QVUqiQ8DuK369UcIaQFliZABWfZBicgFGAjUvSGEPx933vHjx4fHCwsL\nWFhYAJCm18wV8idmg9LE7Bcp4WS0jtuGcvHSCaTsQ7FlvR/CS1tty3YfhX6fKWkUJpUyOiXlR47z\nVlZW1un9c9NUlvT43bRp03B8pKTQ8GxSts57R166DVvn7XWy9iBrO9q1a9fwWNucbNnW6etsu3r/\nFFAPg2RtdF76Db3PCQCeeuqpWvnUqVMjjwHgySefHB5bO5z3OcRCFGl5te14oY8s3p6pFNbaOX/+\nfOMUQbk26t4D4JEQwm96J+3bt2943Geee0LasLCwUNvkeeLEiUncppEs6S8cL34cIaWxefPm2g9s\nb7LK4WZ+LYBXA7heRP5ORB4UkZu6tkvIvEFZIqRO5xVUCOH/AOj0Ey4WasNT43kRe3Op+FKyXHoq\nPQBDtSawXqWh1QuxrKDer2b7Pj21nXVN1eFTbCgVfa2n/rN9iKkD22Yv7qJuKCUquSZFlsa5lqe4\nmXvlmIrPy4Tr/SK241ir2Kxqbvfu3bWy1sDYc/fs2TM8tio9W9ahkKyKT4c+sn21aLmy7uFWjafb\nsu/W20ZjZVDLa5eI8ymkhDrS5NjaUZ6UEkIIIeAERQghpFA4QRFCCCmSqabbaOp6nBJqo6l9CkjL\nXOnpTz3db8wG1TRlQCwrqHaBtbpmzwZlbU5e6H8bZiUlLYC2UaVk8U3JKGqfe9r68T4ZF+ooxc3c\ns1fFwnt5n5lnG7TyoGVA25gA4LLLLhtb1jYnoG6TiqXbaCpndquHfSd6jNtzLZ4MavuVbce6ujfN\n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\nQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f045f1e7d50>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"est_nystrom = sg.KernelExpFamilyNystrom(X_col_major, sigma, lmbda, m)\n", | |
"start = time.time()\n", | |
"est_nystrom.fit()\n", | |
"stop = time.time()\n", | |
"print(\"time\", stop-start)\n", | |
"visualise_fit_2d(est_nystrom, np.zeros((0,D)))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"('time', 3.0327260494232178)\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\nKZL/BwH/ZrV9UxwDAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f045f125510>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"est_full = sg.KernelExpFamily(X_col_major, sigma, lmbda)\n", | |
"start = time.time()\n", | |
"est_full.fit()\n", | |
"stop = time.time()\n", | |
"print(\"time\", stop-start)\n", | |
"visualise_fit_2d(est_full, np.zeros((0,D)))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment