{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# How to use your Model with Emukit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this tutorial we will show how to use Emukit with the models obtained from third-party, external packages. You will see that as long as your model is written in Python, it does not matter which modelling framework you are using - Emukit can still work with it. All you need is to \"apply some glue\"!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "from emukit.experimental_design import ExperimentalDesignLoop\n", "from emukit.core import ParameterSpace, ContinuousParameter\n", "from emukit.core.loop import UserFunctionWrapper" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use exact same example as in the [introduction tutorial](Emukit-intro.ipynb), but this time instead of GPy we will use Gaussian Process implementation from [scikit-learn](http://scikit-learn.org/stable/modules/gaussian_process.html). Note that you will need to have scikit-learn installed in order to run this notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from sklearn.gaussian_process import GaussianProcessRegressor" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "x_min = -30.0\n", "x_max = 30.0\n", "\n", "X = np.random.uniform(x_min, x_max, (10, 1))\n", "Y = np.sin(X) + np.random.randn(10, 1) * 0.05\n", "sklearn_gp = GaussianProcessRegressor();\n", "sklearn_gp.fit(X, Y);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Emukit does not provide a ready-made wrapper for scikit-learn models, as well as for many other modelling libraries. Instead it declares interfaces that each method requires in order to be able to work with the model. If the model can implement these interfaces, Emukit will be able to carry out its task. So let's see how to make our scikit-learn model work with Emukit. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Emukit components use interfaces to declare their dependencies and what is required from them, including models. As a rule of thumb, normally all models should implement the `IModel` interface, in addition to specific interfaces the designated task requires. In our simple example we use `ExperimentalDesignLoop`, which requires a model to implement `IModel` only, and the default acquisition `ModelVariance`, which supports models that implement solely `IModel` as well. So `IModel` is the only interface we need to implement for the time being." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from emukit.core.interfaces import IModel\n", "\n", "class SklearnGPModel(IModel):\n", " def __init__(self, sklearn_model):\n", " self.model = sklearn_model\n", "\n", " def predict(self, X):\n", " mean, std = self.model.predict(X, return_std=True)\n", " return mean[:, None], np.square(std)[:, None]\n", "\n", " def set_data(self, X: np.ndarray, Y: np.ndarray) -> None:\n", " self.model.fit(X, Y)\n", "\n", " def optimize(self, verbose: bool = False) -> None:\n", " # There is no separate optimization routine for sklearn models\n", " pass\n", " \n", " @property\n", " def X(self) -> np.ndarray:\n", " return self.model.X_train_\n", " \n", " @property\n", " def Y(self) -> np.ndarray:\n", " return self.model.y_train_\n", "\n", "emukit_model = SklearnGPModel(sklearn_gp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More details about interfaces that Emukit components require can be found in their documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can proceed with the rest of Emukit setup." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "p = ContinuousParameter('c', x_min, x_max)\n", "space = ParameterSpace([p])\n", "\n", "loop = ExperimentalDesignLoop(space, emukit_model)\n", "loop.run_loop(np.sin, 50)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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vvfee3nwwQdnvl9zzTX86Ec/ondkgo7eUSYpoCg5zcR0ko7e0Vly0MSQD40hQmKInc8eoB3MW7bu4GDlEo4e658furh7N6xebfdC6uth+/b52w8dUgPFptSeKVV/fFwtEmSzbU1KHWlCMg8cgHPPtdc2KGL43e/mb7eoMWzetI5P3Pw4HTWK7JsGupisqpkRRsoKAAnHrKi1UsCvrryEurJaOAArKopgDunUV1Sw/a674OijufLKK6msrORjH/tYyj5SSqSUFAQtdFdSQsfzz/OnP/2JZ555Znb7xITSFkKYS+69914aGho444wzAHj/+98PKMd7UkqmCgoplEmEhCSSg/1jihjzaUqKiWHho7WlWRHBIyfCU0/xsrmhi3v2wDmW12nNpjE0NtqpNKmRiRief159Box+8IQlS1S017PPpm4fG1PRYPnQGLq754fLdncrp7cFk4YWOm7reQ6Ak6f7eJ9bGJmaUtdSXAwf/nB6gSEMNm6Er35V9am5tu5kUv2lmRx37drFG9/4RlpaWmhvb+fOO+/klFNOoc+J2rvhhhu45557uPbaazl48CCXXXYZe/fupaCggK997WszEzUAxcW87r3vZc/+/WzcuJFvfOMbXH755Xz9Ix9h40knceDAAc466yx27drFtddey1133cXg4CDPPfccb3rTm7jqqqsAuP322/n0pz/N9PQ0y5Yt45vf/CbXXnsthYWFfP/73+cb3/gGd9xxBw0NDZzzpkt4+vHHeNcVH2J6ZJhla0/gyq98narqGs466yzO2riRe++7j/6pKb73ve9x5plnmn3uoJ55QUFMDIsKzc1w992p2yYnVRbqqlV2266vV2F84+OpxfJsZj1r1NWpSWiuj2HnTvW5dq3d9teunU8M+lpsZf5qNDbOrqntfs42k9twhJFPXwTfeD9fPr0uNY9ielpNzDYlV0gfnZPDnPLMM8/wgx/8gNNOO42pLA7UD37wg1x++eWcccYZ7N69m9e//vU88cQTszuUlHDLV77Cmz77Wba7iW9yMi0ZP/bYYzz66KMUFxdz/PHH84EPfICCggIuu+wyfv/737Nq1Sp6enpYsmQJl156KQ0NDXz4wx8G4I477lBNFhbwyQ/9P778uav4m7VH8f++90O+/V//zieu/AIAcnqabT/8Ibfs28fnPvc57rrrrlxP0D+y+VfyhJgY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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "real_x = np.arange(x_min, x_max, 0.5)\n", "real_y = np.sin(real_x)\n", "\n", "plt.title('Learning function sin(x) with Emukit and scikit-learn')\n", "plt.xlabel('x')\n", "plt.ylabel('y', rotation=None)\n", "\n", "plt.plot(real_x, real_y, c='r')\n", "plt.scatter(loop.loop_state.X[:, 0].tolist(), loop.loop_state.Y[:, 0].tolist())\n", "plt.legend(['True function', 'Acquired datapoints'], loc='lower right');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot the trained scikit-learn model, to see how well it learned the function. The code here is exactly the same as in the introduction, because we are able to use Emukit model interface." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "predicted_y = []\n", "predicted_std = []\n", "for x in real_x:\n", " y, var = emukit_model.predict(np.array([[x]]))\n", " std = np.sqrt(var)\n", " predicted_y.append(y)\n", " predicted_std.append(std)\n", "\n", "predicted_y = np.array(predicted_y).flatten()\n", "predicted_std = np.array(predicted_std).flatten()\n", " \n", "plt.title('Learning function sin(x) with Emukit')\n", "plt.xlabel('x')\n", "plt.ylabel('y', rotation=None)\n", "plt.plot(real_x, real_y, c='r', )\n", "plt.plot(real_x, predicted_y)\n", "plt.legend(['True function', 'Estimated function'], loc='lower right')\n", "plt.fill_between(real_x, predicted_y - 2 * predicted_std, predicted_y + 2 * predicted_std, alpha=.5);" ] } ], "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.7" } }, "nbformat": 4, "nbformat_minor": 2 }