{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Black-box Vector Optimization Using Naive Elimination\n", "This notebook contains a basic vector optimization example with Naive Elimination algorithm." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from copy import deepcopy\n", "\n", "from vopy.utils import set_seed\n", "from vopy.order import ConeTheta2DOrder\n", "from vopy.algorithms import NaiveElimination\n", "from vopy.datasets import get_dataset_instance\n", "from vopy.utils.evaluate import calculate_epsilonF1_score\n", "\n", "set_seed(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create an `Order` object and visualize it's cone." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "order = ConeTheta2DOrder(cone_degree=120)\n", "fig_cone = order.ordering_cone.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define an instance of Disc Brake dataset and visualize the Pareto front." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dataset_name = \"DiscBrake\"\n", "dataset = get_dataset_instance(dataset_name)\n", "fig_pareto = order.plot_pareto_set(dataset.out_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the most basic vector optimization algorithm `Naive Elimination` and calculate its accuracy." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found Pareto front indices are: [25, 62, 78, 118, 126]\n", " True Pareto front indices are: [25, 62, 118, 126]\n", "epsilon-F1 Score: 1.00\n" ] } ], "source": [ "epsilon = 0.01\n", "delta = 0.05\n", "noise_var = epsilon\n", "\n", "algorithm = NaiveElimination(\n", " epsilon=epsilon, delta=delta,\n", " dataset_name=dataset_name, order=order, noise_var=noise_var, L=10\n", ")\n", "\n", "while True:\n", " is_done = algorithm.run_one_step()\n", "\n", " if is_done:\n", " break\n", "\n", "pred_pareto_indices = sorted(list(algorithm.P))\n", "print(f\"Found Pareto front indices are: {str(pred_pareto_indices)}\")\n", "\n", "pareto_indices = order.get_pareto_set(dataset.out_data)\n", "print(f\" True Pareto front indices are: {str(list(pareto_indices))}\")\n", "\n", "eps_f1 = calculate_epsilonF1_score(\n", " dataset, order, pareto_indices, pred_pareto_indices, epsilon\n", ")\n", "print(f\"epsilon-F1 Score: {eps_f1:.2f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Emphasize predicted Pareto solutions over the Pareto front figure." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tmp_pareto_fig = deepcopy(fig_pareto)\n", "tmp_pareto_fig.axes[0].scatter(\n", " dataset.out_data[pred_pareto_indices][:, 0],\n", " dataset.out_data[pred_pareto_indices][:, 1],\n", " c=\"tab:red\", label=\"Predicted Pareto\", alpha=0.5, marker=\"^\"\n", ")\n", "tmp_pareto_fig.axes[0].legend()\n", "tmp_pareto_fig" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 2 }