diff --git a/.coveragerc b/.coveragerc index 1f94671..ed0604f 100644 --- a/.coveragerc +++ b/.coveragerc @@ -3,4 +3,5 @@ omit = obsidian/dash/* obsidian/tests/* obsidian/experiment/benchmark/* - obsidian/plotting/branding.py \ No newline at end of file + obsidian/plotting/branding.py + app.py \ No newline at end of file diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 0000000..43e2f6a --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,21 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + name: Pytest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + - name: Install requirements + run: pip install obsidian-apo[dev] + - name: Run tests and collect coverage + run: pytest --cov=. + - name: Upload coverage reports to Codecov with GitHub Action + uses: codecov/codecov-action@v4.2.0 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/demo/Simple single objective.ipynb b/demo/Simple single objective.ipynb index 5836458..4c4dd8b 100644 --- a/demo/Simple single objective.ipynb +++ b/demo/Simple single objective.ipynb @@ -2,9 +2,28 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\kevin\\miniconda3\\envs\\obsidian-pypi\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + }, + { + "data": { + "text/plain": [ + "'0.7.10'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import obsidian\n", "obsidian.__version__" @@ -12,7 +31,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -22,12 +41,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "from obsidian.parameters import ParamSpace, Param_Categorical, Param_Ordinal, Param_Continuous\n", - "from obsidian.experiment import ExpDesigner" + "from obsidian import Campaign, Target, ParamSpace, BayesianOptimizer\n", + "from obsidian.parameters import Param_Categorical, Param_Ordinal, Param_Continuous" ] }, { @@ -39,9 +58,141 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir Rate
08.017.00.1405MRK001Medium
112.0143.00.1695MRK003Medium
24.0101.00.2855MRK002High
328.087.00.1115MRK002Low
4-4.0115.00.2275MRK001Low
5-8.073.00.0825MRK002Medium
620.0129.00.0535MRK001High
724.031.00.2565MRK002Medium
816.059.00.1985MRK003High
90.045.00.0245MRK003Low
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate\n", + "0 8.0 17.0 0.1405 MRK001 Medium\n", + "1 12.0 143.0 0.1695 MRK003 Medium\n", + "2 4.0 101.0 0.2855 MRK002 High\n", + "3 28.0 87.0 0.1115 MRK002 Low\n", + "4 -4.0 115.0 0.2275 MRK001 Low\n", + "5 -8.0 73.0 0.0825 MRK002 Medium\n", + "6 20.0 129.0 0.0535 MRK001 High\n", + "7 24.0 31.0 0.2565 MRK002 Medium\n", + "8 16.0 59.0 0.1985 MRK003 High\n", + "9 0.0 45.0 0.0245 MRK003 Low" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "params = [\n", " Param_Continuous('Temperature', -10, 30),\n", @@ -52,8 +203,9 @@ " ]\n", "\n", "X_space = ParamSpace(params)\n", - "designer = ExpDesigner(X_space, seed=0)\n", - "X0 = designer.initialize(10, 'LHS')\n", + "target = Target('Yield', aim='max')\n", + "campaign = Campaign(X_space, target, seed=0)\n", + "X0 = campaign.designer.initialize(10, 'LHS')\n", "\n", "X0" ] @@ -67,9 +219,152 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYield
08.017.00.1405MRK001Medium92.339807
112.0143.00.1695MRK003Medium44.280131
24.0101.00.2855MRK002High46.270422
328.087.00.1115MRK002Low60.288919
4-4.0115.00.2275MRK001Low63.082417
5-8.073.00.0825MRK002Medium86.196333
620.0129.00.0535MRK001High47.625034
724.031.00.2565MRK002Medium48.966143
816.059.00.1985MRK003High49.876574
90.045.00.0245MRK003Low81.228810
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate Yield\n", + "0 8.0 17.0 0.1405 MRK001 Medium 92.339807\n", + "1 12.0 143.0 0.1695 MRK003 Medium 44.280131\n", + "2 4.0 101.0 0.2855 MRK002 High 46.270422\n", + "3 28.0 87.0 0.1115 MRK002 Low 60.288919\n", + "4 -4.0 115.0 0.2275 MRK001 Low 63.082417\n", + "5 -8.0 73.0 0.0825 MRK002 Medium 86.196333\n", + "6 20.0 129.0 0.0535 MRK001 High 47.625034\n", + "7 24.0 31.0 0.2565 MRK002 Medium 48.966143\n", + "8 16.0 59.0 0.1985 MRK003 High 49.876574\n", + "9 0.0 45.0 0.0245 MRK003 Low 81.228810" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from obsidian.experiment import Simulator\n", "from obsidian.experiment.benchmark import shifted_parab\n", @@ -83,18 +378,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [ - "Z0.to_csv('Example APO Data Input.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "Z0.plot(x='Temperature', y='Yield', kind='scatter', figsize=(4,3))" ] @@ -106,51 +413,156 @@ "### Create a campaign to track optimization" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from obsidian.campaign import Campaign" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "my_campaign = Campaign(X_space)\n", - "my_campaign.add_data(Z0)\n", - "my_campaign.data" - ] - }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Fit an optimizer" + "### Fit the optimizer" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYieldIteration
Observation ID
5-8.073.00.0825MRK002Medium86.1963330
24.0101.00.2855MRK002High46.2704220
328.087.00.1115MRK002Low60.2889190
4-4.0115.00.2275MRK001Low63.0824170
112.0143.00.1695MRK003Medium44.2801310
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate \\\n", + "Observation ID \n", + "5 -8.0 73.0 0.0825 MRK002 Medium \n", + "2 4.0 101.0 0.2855 MRK002 High \n", + "3 28.0 87.0 0.1115 MRK002 Low \n", + "4 -4.0 115.0 0.2275 MRK001 Low \n", + "1 12.0 143.0 0.1695 MRK003 Medium \n", + "\n", + " Yield Iteration \n", + "Observation ID \n", + "5 86.196333 0 \n", + "2 46.270422 0 \n", + "3 60.288919 0 \n", + "4 63.082417 0 \n", + "1 44.280131 0 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "from obsidian.parameters import Target" + "campaign.add_data(Z0)\n", + "campaign.data.sample(5)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "GP model has been fit to data with a train-score of: 1 for response: Yield\n" + ] + } + ], "source": [ - "target = Target('Yield', aim='max')\n", - "my_campaign.set_target(target)\n", - "my_campaign.fit()" + "campaign.fit()" ] }, { @@ -162,18 +574,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ - "X_suggest, eval_suggest = my_campaign.optimizer.suggest(m_batch=1, acquisition = ['EI','EI'])" + "X_suggest, eval_suggest = campaign.optimizer.suggest(m_batch=3)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYield (pred)Yield lbYield ubf(Yield)aq Valueaq Value (joint)aq Method
0-10.00000010.00.131014MRK001Low104.65557597.694464111.6166872.349349-0.380345-0.292665NEI
1-10.00000010.00.135985MRK001High101.87053394.441592109.2994742.195901-0.612096-0.292665NEI
2-1.22787910.00.114474MRK002Low101.24326697.004850105.4816842.161341-0.709565-0.292665NEI
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate Yield (pred) \\\n", + "0 -10.000000 10.0 0.131014 MRK001 Low 104.655575 \n", + "1 -10.000000 10.0 0.135985 MRK001 High 101.870533 \n", + "2 -1.227879 10.0 0.114474 MRK002 Low 101.243266 \n", + "\n", + " Yield lb Yield ub f(Yield) aq Value aq Value (joint) aq Method \n", + "0 97.694464 111.616687 2.349349 -0.380345 -0.292665 NEI \n", + "1 94.441592 109.299474 2.195901 -0.612096 -0.292665 NEI \n", + "2 97.004850 105.481684 2.161341 -0.709565 -0.292665 NEI " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df_suggest = pd.concat([X_suggest, eval_suggest], axis=1)\n", "df_suggest" @@ -188,13 +702,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "y_iter1 = pd.DataFrame(simulator.simulate(X_suggest), columns = ['Yield'])\n", "Z_iter1 = pd.concat([X_suggest, y_iter1, eval_suggest], axis=1)\n", - "my_campaign.add_data(Z_iter1)" + "campaign.add_data(Z_iter1)" ] }, { @@ -206,62 +720,1670 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYieldIterationYield (pred)Yield lbYield ubf(Yield)aq Valueaq Value (joint)aq Method
Observation ID
816.00000059.00.198500MRK003High49.8765740NaNNaNNaNNaNNaNNaNNaN
90.00000045.00.024500MRK003Low81.2288100NaNNaNNaNNaNNaNNaNNaN
10-10.00000010.00.131014MRK001Low92.1968491104.65557597.694464111.6166872.349349-0.380345-0.292665NEI
11-10.00000010.00.135985MRK001High74.4994681101.87053394.441592109.2994742.195901-0.612096-0.292665NEI
12-1.22787910.00.114474MRK002Low95.0004671101.24326697.004850105.4816842.161341-0.709565-0.292665NEI
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate \\\n", + "Observation ID \n", + "8 16.000000 59.0 0.198500 MRK003 High \n", + "9 0.000000 45.0 0.024500 MRK003 Low \n", + "10 -10.000000 10.0 0.131014 MRK001 Low \n", + "11 -10.000000 10.0 0.135985 MRK001 High \n", + "12 -1.227879 10.0 0.114474 MRK002 Low \n", + "\n", + " Yield Iteration Yield (pred) Yield lb Yield ub \\\n", + "Observation ID \n", + "8 49.876574 0 NaN NaN NaN \n", + "9 81.228810 0 NaN NaN NaN \n", + "10 92.196849 1 104.655575 97.694464 111.616687 \n", + "11 74.499468 1 101.870533 94.441592 109.299474 \n", + "12 95.000467 1 101.243266 97.004850 105.481684 \n", + "\n", + " f(Yield) aq Value aq Value (joint) aq Method \n", + "Observation ID \n", + "8 NaN NaN NaN NaN \n", + "9 NaN NaN NaN NaN \n", + "10 2.349349 -0.380345 -0.292665 NEI \n", + "11 2.195901 -0.612096 -0.292665 NEI \n", + "12 2.161341 -0.709565 -0.292665 NEI " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "Z_iter1.reset_index(drop=True)" + "campaign.data.tail()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], - "source": [ - "my_campaign.data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "GP model has been fit to data with a train-score of: 1 for response: Yield\n", + "GP model has been fit to data with a train-score of: 1 for response: Yield\n", + "GP model has been fit to data with a train-score of: 1 for response: Yield\n" + ] + } + ], "source": [ "for iter in range(3):\n", - " my_campaign.fit()\n", - " X_suggest, eval_suggest = my_campaign.optimizer.suggest(m_batch=3)\n", + " campaign.fit()\n", + " X_suggest, eval_suggest = campaign.optimizer.suggest(m_batch=3)\n", " y_iter = pd.DataFrame(simulator.simulate(X_suggest))\n", " Z_iter = pd.concat([X_suggest, y_iter, eval_suggest], axis=1)\n", - " my_campaign.add_data(Z_iter)" + " campaign.add_data(Z_iter)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYieldIterationYield (pred)Yield lbYield ubf(Yield)aq Valueaq Value (joint)aq Method
Observation ID
17-7.14134410.0000000.082840MRK001Medium92.892841398.11141995.274803100.9480351.227240-3.570208-2.547914NEI
18-5.93501910.0000000.134921MRK001Medium92.238961398.84294395.778146101.9077421.262650-3.088293-2.547914NEI
190.61059710.0000000.102237MRK002Medium100.9570404102.183778101.271680103.0958771.253119-2.245755-2.045912NEI
200.17735510.0000000.010000MRK002Medium92.773927495.66811289.993270101.3429560.937954-3.426519-2.045912NEI
210.50922822.5603940.100301MRK002Medium99.6536144101.767473100.439377103.0955691.232982-2.430293-2.045912NEI
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate \\\n", + "Observation ID \n", + "17 -7.141344 10.000000 0.082840 MRK001 Medium \n", + "18 -5.935019 10.000000 0.134921 MRK001 Medium \n", + "19 0.610597 10.000000 0.102237 MRK002 Medium \n", + "20 0.177355 10.000000 0.010000 MRK002 Medium \n", + "21 0.509228 22.560394 0.100301 MRK002 Medium \n", + "\n", + " Yield Iteration Yield (pred) Yield lb Yield ub \\\n", + "Observation ID \n", + "17 92.892841 3 98.111419 95.274803 100.948035 \n", + "18 92.238961 3 98.842943 95.778146 101.907742 \n", + "19 100.957040 4 102.183778 101.271680 103.095877 \n", + "20 92.773927 4 95.668112 89.993270 101.342956 \n", + "21 99.653614 4 101.767473 100.439377 103.095569 \n", + "\n", + " f(Yield) aq Value aq Value (joint) aq Method \n", + "Observation ID \n", + "17 1.227240 -3.570208 -2.547914 NEI \n", + "18 1.262650 -3.088293 -2.547914 NEI \n", + "19 1.253119 -2.245755 -2.045912 NEI \n", + "20 0.937954 -3.426519 -2.045912 NEI \n", + "21 1.232982 -2.430293 -2.045912 NEI " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "my_campaign.data" + "campaign.data.tail()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Observation ID=%{x}
Yield=%{y}
aq Value=%{marker.color}", + "legendgroup": "", + "marker": { + "color": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + -0.38034538065202295, + -0.6120958124027052, + -0.7095649136708557, + -2.05692078994696, + -3.1516288285054745, + -2.473037637673595, + -2.798014989204011, + -3.57020802379168, + -3.088292727987067, + -2.245755141023286, + -3.426519149943271, + -2.4302932293385533 + ], + "coloraxis": "coloraxis", + "symbol": "circle" + }, + "mode": "markers", + "name": "", + "orientation": "v", + "showlegend": false, + "type": "scatter", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "xaxis": "x", + "y": [ + 92.33980672490216, + 44.28013139056551, + 46.27042165792395, + 60.288918896712964, + 63.08241717950659, + 86.19633278740932, + 47.62503445818602, + 48.96614297388498, + 49.87657408385417, + 81.22881027324594, + 92.19684872892208, + 74.49946768778311, + 95.0004674747163, + 99.35898338419939, + 91.60949770163496, + 91.31362421740042, + 99.99794882558741, + 92.89284062164445, + 92.23896061375875, + 100.95704001123406, + 92.7739266193329, + 99.65361433177773 + ], + "yaxis": "y" + } + ], + "layout": { + "coloraxis": { + "colorbar": { + "title": { + "text": "aq Value" + } + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "height": 300, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "width": 400, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Observation ID" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Yield" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "fig = px.scatter(my_campaign.data, x=my_campaign.data.index, y='Yield', color='aq Value')\n", + "fig = px.scatter(campaign.data, x=campaign.data.index, y='Yield', color='aq Value')\n", "fig.update_layout(height=300, width=400, template='ggplot2')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TemperatureConcentrationEnzymeVariantStir RateYieldIterationYield (pred)Yield lbYield ubf(Yield)aq Valueaq Value (joint)aq Method
Observation ID
08.00000017.0000000.140500MRK001Medium92.3398070NaNNaNNaNNaNNaNNaNNaN
112.000000143.0000000.169500MRK003Medium44.2801310NaNNaNNaNNaNNaNNaNNaN
24.000000101.0000000.285500MRK002High46.2704220NaNNaNNaNNaNNaNNaNNaN
328.00000087.0000000.111500MRK002Low60.2889190NaNNaNNaNNaNNaNNaNNaN
4-4.000000115.0000000.227500MRK001Low63.0824170NaNNaNNaNNaNNaNNaNNaN
5-8.00000073.0000000.082500MRK002Medium86.1963330NaNNaNNaNNaNNaNNaNNaN
620.000000129.0000000.053500MRK001High47.6250340NaNNaNNaNNaNNaNNaNNaN
724.00000031.0000000.256500MRK002Medium48.9661430NaNNaNNaNNaNNaNNaNNaN
816.00000059.0000000.198500MRK003High49.8765740NaNNaNNaNNaNNaNNaNNaN
90.00000045.0000000.024500MRK003Low81.2288100NaNNaNNaNNaNNaNNaNNaN
10-10.00000010.0000000.131014MRK001Low92.1968491104.65557597.694464111.6166872.349349-0.380345-0.292665NEI
11-10.00000010.0000000.135985MRK001High74.4994681101.87053394.441592109.2994742.195901-0.612096-0.292665NEI
12-1.22787910.0000000.114474MRK002Low95.0004671101.24326697.004850105.4816842.161341-0.709565-0.292665NEI
130.95928810.0000000.097640MRK001Medium99.358983296.08510091.064223101.1059781.430625-2.056921-1.718530NEI
14-0.21880630.2497280.132364MRK001Low91.609498293.40661989.48720197.3260371.294984-3.151629-1.718530NEI
158.88660510.0000000.079072MRK001Medium91.313624292.85622986.11220399.6002561.267112-2.473038-1.718530NEI
16-3.11785810.0000000.117681MRK002Medium99.9979493100.37137598.746583101.9961661.336635-2.798015-2.547914NEI
17-7.14134410.0000000.082840MRK001Medium92.892841398.11141995.274803100.9480351.227240-3.570208-2.547914NEI
18-5.93501910.0000000.134921MRK001Medium92.238961398.84294395.778146101.9077421.262650-3.088293-2.547914NEI
190.61059710.0000000.102237MRK002Medium100.9570404102.183778101.271680103.0958771.253119-2.245755-2.045912NEI
200.17735510.0000000.010000MRK002Medium92.773927495.66811289.993270101.3429560.937954-3.426519-2.045912NEI
210.50922822.5603940.100301MRK002Medium99.6536144101.767473100.439377103.0955691.232982-2.430293-2.045912NEI
\n", + "
" + ], + "text/plain": [ + " Temperature Concentration Enzyme Variant Stir Rate \\\n", + "Observation ID \n", + "0 8.000000 17.000000 0.140500 MRK001 Medium \n", + "1 12.000000 143.000000 0.169500 MRK003 Medium \n", + "2 4.000000 101.000000 0.285500 MRK002 High \n", + "3 28.000000 87.000000 0.111500 MRK002 Low \n", + "4 -4.000000 115.000000 0.227500 MRK001 Low \n", + "5 -8.000000 73.000000 0.082500 MRK002 Medium \n", + "6 20.000000 129.000000 0.053500 MRK001 High \n", + "7 24.000000 31.000000 0.256500 MRK002 Medium \n", + "8 16.000000 59.000000 0.198500 MRK003 High \n", + "9 0.000000 45.000000 0.024500 MRK003 Low \n", + "10 -10.000000 10.000000 0.131014 MRK001 Low \n", + "11 -10.000000 10.000000 0.135985 MRK001 High \n", + "12 -1.227879 10.000000 0.114474 MRK002 Low \n", + "13 0.959288 10.000000 0.097640 MRK001 Medium \n", + "14 -0.218806 30.249728 0.132364 MRK001 Low \n", + "15 8.886605 10.000000 0.079072 MRK001 Medium \n", + "16 -3.117858 10.000000 0.117681 MRK002 Medium \n", + "17 -7.141344 10.000000 0.082840 MRK001 Medium \n", + "18 -5.935019 10.000000 0.134921 MRK001 Medium \n", + "19 0.610597 10.000000 0.102237 MRK002 Medium \n", + "20 0.177355 10.000000 0.010000 MRK002 Medium \n", + "21 0.509228 22.560394 0.100301 MRK002 Medium \n", + "\n", + " Yield Iteration Yield (pred) Yield lb Yield ub \\\n", + "Observation ID \n", + "0 92.339807 0 NaN NaN NaN \n", + "1 44.280131 0 NaN NaN NaN \n", + "2 46.270422 0 NaN NaN NaN \n", + "3 60.288919 0 NaN NaN NaN \n", + "4 63.082417 0 NaN NaN NaN \n", + "5 86.196333 0 NaN NaN NaN \n", + "6 47.625034 0 NaN NaN NaN \n", + "7 48.966143 0 NaN NaN NaN \n", + "8 49.876574 0 NaN NaN NaN \n", + "9 81.228810 0 NaN NaN NaN \n", + "10 92.196849 1 104.655575 97.694464 111.616687 \n", + "11 74.499468 1 101.870533 94.441592 109.299474 \n", + "12 95.000467 1 101.243266 97.004850 105.481684 \n", + "13 99.358983 2 96.085100 91.064223 101.105978 \n", + "14 91.609498 2 93.406619 89.487201 97.326037 \n", + "15 91.313624 2 92.856229 86.112203 99.600256 \n", + "16 99.997949 3 100.371375 98.746583 101.996166 \n", + "17 92.892841 3 98.111419 95.274803 100.948035 \n", + "18 92.238961 3 98.842943 95.778146 101.907742 \n", + "19 100.957040 4 102.183778 101.271680 103.095877 \n", + "20 92.773927 4 95.668112 89.993270 101.342956 \n", + "21 99.653614 4 101.767473 100.439377 103.095569 \n", + "\n", + " f(Yield) aq Value aq Value (joint) aq Method \n", + "Observation ID \n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "5 NaN NaN NaN NaN \n", + "6 NaN NaN NaN NaN \n", + "7 NaN NaN NaN NaN \n", + "8 NaN NaN NaN NaN \n", + "9 NaN NaN NaN NaN \n", + "10 2.349349 -0.380345 -0.292665 NEI \n", + "11 2.195901 -0.612096 -0.292665 NEI \n", + "12 2.161341 -0.709565 -0.292665 NEI \n", + "13 1.430625 -2.056921 -1.718530 NEI \n", + "14 1.294984 -3.151629 -1.718530 NEI \n", + "15 1.267112 -2.473038 -1.718530 NEI \n", + "16 1.336635 -2.798015 -2.547914 NEI \n", + "17 1.227240 -3.570208 -2.547914 NEI \n", + "18 1.262650 -3.088293 -2.547914 NEI \n", + "19 1.253119 -2.245755 -2.045912 NEI \n", + "20 0.937954 -3.426519 -2.045912 NEI \n", + "21 1.232982 -2.430293 -2.045912 NEI " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "my_campaign.data" + "campaign.data" ] }, { diff --git a/docs/_static/tutorials/Simple single objective.html b/docs/_static/tutorials/Simple single objective.html index ef1bce2..8ce3b70 100644 --- a/docs/_static/tutorials/Simple single objective.html +++ b/docs/_static/tutorials/Simple single objective.html @@ -7531,7 +7531,7 @@ @@ -7567,8 +7567,8 @@ @@ -7804,7 +7805,7 @@

Collect results (e.g. from a s 0.1405 MRK001 Medium -77.321650 +92.339807 1 @@ -7813,7 +7814,7 @@

Collect results (e.g. from a s 0.1695 MRK003 Medium -43.806040 +44.280131 2 @@ -7822,7 +7823,7 @@

Collect results (e.g. from a s 0.2855 MRK002 High -43.731356 +46.270422 3 @@ -7831,7 +7832,7 @@

Collect results (e.g. from a s 0.1115 MRK002 Low -57.434719 +60.288919 4 @@ -7840,7 +7841,7 @@

Collect results (e.g. from a s 0.2275 MRK001 Low -58.189055 +63.082417 5 @@ -7849,7 +7850,7 @@

Collect results (e.g. from a s 0.0825 MRK002 Medium -90.601754 +86.196333 6 @@ -7858,7 +7859,7 @@

Collect results (e.g. from a s 0.0535 MRK001 High -45.746223 +47.625034 7 @@ -7867,7 +7868,7 @@

Collect results (e.g. from a s 0.2565 MRK002 Medium -50.731697 +48.966143 8 @@ -7876,7 +7877,7 @@

Collect results (e.g. from a s 0.1985 MRK003 High -50.730753 +49.876574 9 @@ -7885,7 +7886,7 @@

Collect results (e.g. from a s 0.0245 MRK003 Low -70.771532 +81.228810 @@ -7894,26 +7895,12 @@

Collect results (e.g. from a s -