{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n# Parallel Coordinates\n\n.. hint:: \n\n Conveys a dense overview of the trial objectives in a multi-dimensional space.\n Helps identifying trends of best or worst hyperparameter values.\n\nThe parallel coordinates plot decomposes a search space of `n` dimensions into `n`\naxis so that the entire space can be visualized simultaneously. Each dimension\nis represented as a vertical axis and trials are represented as lines crossing each \naxis at the corresponding value of the hyperparameters. There is no obvious optimal ordering\nfor the vertical axis, and you will often find that changing the order helps better understanding\nthe data. Additionaly, the lines are plotted with graded colors based on the objective. The\ngradation is shown in a color bar on the right of the plot. Note that the objectives are added\nas the last axis is the plot as well.\n\n.. autofunction:: orion.plotting.base.parallel_coordinates\n :noindex:\n\nThe parallel coordinates plot can be executed directly from the ``experiment`` with\n``plot.parallel_coordinates()`` as shown in the example below.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from orion.client import get_experiment\n\n# Specify the database where the experiments are stored. We use a local PickleDB here.\nstorage = dict(type=\"legacy\", database=dict(type=\"pickleddb\", host=\"../db.pkl\"))\n\n# Load the data for the specified experiment\nexperiment = get_experiment(\"2-dim-exp\", storage=storage)\nfig = experiment.plot.parallel_coordinates()\nfig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this basic example the parallel coordinates plot is marginally useful as there are only\n2 dimensions. It is possible however to identify the best performing values of ``dropout`` and\n``learning_rate``. The GIF below demonstrates how to select subsets of the\naxis to highlight the trials that corresponds to the best objectives.\n\n\n\n
Hover is not supported by plotly at the moment.\n Feature request can be tracked `here
Logarithmic scales are not supported yet. Contributions are welcome. :)\n See `issue