{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Full densities instead of point predictions" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import halerium.core as hal\n", "from IPython.display import Image \n", "\n", "g = hal.Graph(\"g\")\n", "with g:\n", " x = hal.Variable(\"x\")\n", "\n", " y = hal.Variable(\"y\")\n", " y.mean = x * 3. + 1.\n", " y.variance = 1.\n", "\n", "# can be used to visualize the graph on the Halerium platform\n", "#hal.show(g)\n", " \n", "x_data = [1.]\n", "dl = hal.DataLinker(n_data=1)\n", "dl.link(g.x, x_data)\n", "\n", "model = hal.get_generative_model(g, dl)\n", "prediction_samples = model.get_samples(g.y, n_samples=1000)\n", "prediction_samples = np.array(prediction_samples)[:,0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What is the uncertainty estimate good for?\n", "Imaging there is a hard limit at a output value of 6. Then you have to know what is the likelihood of the real value actually being over 6." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "boundary=6." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotly Visualization" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from plots import plot_density_with_boundary\n", "\n", "Image(plot_density_with_boundary(prediction_samples, boundary, smoothness=10.))" ] }, { "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.7.9" } }, "nbformat": 4, "nbformat_minor": 4 }