Commit 780ff9a2 authored by feichtinger's avatar feichtinger
Browse files

added test demonstrating data in each file strongly correlated

Each file contains points which cover a very small part of the
parameter space. It's more like having only one averaged measurement
per file. If the fitting is allowed to include points from all file,
the fit is trivially good, since the variation of parameters per file
is minimal. Leaving files out in training leads to miserable fits
for the unseen data.
parent 9db95c9d
......@@ -7,7 +7,7 @@
},
"source": [
"<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
"<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Configuration\" data-toc-modified-id=\"Configuration-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Configuration</a></span></li><li><span><a href=\"#Support-Routines\" data-toc-modified-id=\"Support-Routines-2\"><span class=\"toc-item-num\">2&nbsp;&nbsp;</span>Support Routines</a></span><ul class=\"toc-item\"><li><span><a href=\"#Visualization\" data-toc-modified-id=\"Visualization-2.1\"><span class=\"toc-item-num\">2.1&nbsp;&nbsp;</span>Visualization</a></span></li></ul></li><li><span><a href=\"#Dataset-creation\" data-toc-modified-id=\"Dataset-creation-3\"><span class=\"toc-item-num\">3&nbsp;&nbsp;</span>Dataset creation</a></span><ul class=\"toc-item\"><li><span><a href=\"#Dataset-reading-and-preprocessing-definition\" data-toc-modified-id=\"Dataset-reading-and-preprocessing-definition-3.1\"><span class=\"toc-item-num\">3.1&nbsp;&nbsp;</span>Dataset reading and preprocessing definition</a></span></li><li><span><a href=\"#Make-dataset\" data-toc-modified-id=\"Make-dataset-3.2\"><span class=\"toc-item-num\">3.2&nbsp;&nbsp;</span>Make dataset</a></span></li><li><span><a href=\"#Examining-data\" data-toc-modified-id=\"Examining-data-3.3\"><span class=\"toc-item-num\">3.3&nbsp;&nbsp;</span>Examining data</a></span></li><li><span><a href=\"#Training/Test-Split\" data-toc-modified-id=\"Training/Test-Split-3.4\"><span class=\"toc-item-num\">3.4&nbsp;&nbsp;</span>Training/Test Split</a></span></li><li><span><a href=\"#Data-scaling-for-DNN-training\" data-toc-modified-id=\"Data-scaling-for-DNN-training-3.5\"><span class=\"toc-item-num\">3.5&nbsp;&nbsp;</span>Data scaling for DNN training</a></span></li></ul></li><li><span><a href=\"#DNN-Model-definitions\" data-toc-modified-id=\"DNN-Model-definitions-4\"><span class=\"toc-item-num\">4&nbsp;&nbsp;</span>DNN Model definitions</a></span><ul class=\"toc-item\"><li><span><a href=\"#L2reg-and-gaussian-noise\" data-toc-modified-id=\"L2reg-and-gaussian-noise-4.1\"><span class=\"toc-item-num\">4.1&nbsp;&nbsp;</span>L2reg and gaussian noise</a></span></li><li><span><a href=\"#Model-with-Dropout\" data-toc-modified-id=\"Model-with-Dropout-4.2\"><span class=\"toc-item-num\">4.2&nbsp;&nbsp;</span>Model with Dropout</a></span></li></ul></li><li><span><a href=\"#DNN-Training-runs-(data-not-corrected-for-zeroes)\" data-toc-modified-id=\"DNN-Training-runs-(data-not-corrected-for-zeroes)-5\"><span class=\"toc-item-num\">5&nbsp;&nbsp;</span>DNN Training runs (data not corrected for zeroes)</a></span><ul class=\"toc-item\"><li><span><a href=\"#Andi's-initial-DNN-using-gn\" data-toc-modified-id=\"Andi's-initial-DNN-using-gn-5.1\"><span class=\"toc-item-num\">5.1&nbsp;&nbsp;</span>Andi's initial DNN using gn</a></span></li><li><span><a href=\"#without-any-regularization\" data-toc-modified-id=\"without-any-regularization-5.2\"><span class=\"toc-item-num\">5.2&nbsp;&nbsp;</span>without any regularization</a></span><ul class=\"toc-item\"><li><span><a href=\"#Investigation-of-model-performance-errors\" data-toc-modified-id=\"Investigation-of-model-performance-errors-5.2.1\"><span class=\"toc-item-num\">5.2.1&nbsp;&nbsp;</span>Investigation of model performance errors</a></span></li><li><span><a href=\"#outlier-investigation-after-answer-by-Jochem/Pavle\" data-toc-modified-id=\"outlier-investigation-after-answer-by-Jochem/Pavle-5.2.2\"><span class=\"toc-item-num\">5.2.2&nbsp;&nbsp;</span>outlier investigation after answer by Jochem/Pavle</a></span></li></ul></li><li><span><a href=\"#Trying-to-reproduce-best-hyperscan-run\" data-toc-modified-id=\"Trying-to-reproduce-best-hyperscan-run-5.3\"><span class=\"toc-item-num\">5.3&nbsp;&nbsp;</span>Trying to reproduce best hyperscan run</a></span></li><li><span><a href=\"#Try-out-DNN-with-dropout\" data-toc-modified-id=\"Try-out-DNN-with-dropout-5.4\"><span class=\"toc-item-num\">5.4&nbsp;&nbsp;</span>Try out DNN with dropout</a></span></li></ul></li><li><span><a href=\"#Hyperparameter-scans-(data-not-corrected-for-zeroes)\" data-toc-modified-id=\"Hyperparameter-scans-(data-not-corrected-for-zeroes)-6\"><span class=\"toc-item-num\">6&nbsp;&nbsp;</span>Hyperparameter scans (data not corrected for zeroes)</a></span><ul class=\"toc-item\"><li><span><a href=\"#Test:-Make-a-hyperparameter-scan-A\" data-toc-modified-id=\"Test:-Make-a-hyperparameter-scan-A-6.1\"><span class=\"toc-item-num\">6.1&nbsp;&nbsp;</span>Test: Make a hyperparameter scan A</a></span></li><li><span><a href=\"#Offline-batch-parameter-scan\" data-toc-modified-id=\"Offline-batch-parameter-scan-6.2\"><span class=\"toc-item-num\">6.2&nbsp;&nbsp;</span>Offline batch parameter scan</a></span></li><li><span><a href=\"#TODO-ModelB\" data-toc-modified-id=\"TODO-ModelB-6.3\"><span class=\"toc-item-num\">6.3&nbsp;&nbsp;</span>TODO ModelB</a></span></li><li><span><a href=\"#TODO:-Model-C:-scan-regulatisation-and-noise\" data-toc-modified-id=\"TODO:-Model-C:-scan-regulatisation-and-noise-6.4\"><span class=\"toc-item-num\">6.4&nbsp;&nbsp;</span>TODO: Model C: scan regulatisation and noise</a></span></li></ul></li><li><span><a href=\"#DNN-runs-with-data-set-cleaned-for-zero-energy-measurements\" data-toc-modified-id=\"DNN-runs-with-data-set-cleaned-for-zero-energy-measurements-7\"><span class=\"toc-item-num\">7&nbsp;&nbsp;</span>DNN runs with data set cleaned for zero energy measurements</a></span><ul class=\"toc-item\"><li><span><a href=\"#without-any-regularization\" data-toc-modified-id=\"without-any-regularization-7.1\"><span class=\"toc-item-num\">7.1&nbsp;&nbsp;</span>without any regularization</a></span></li></ul></li><li><span><a href=\"#SVM-to-see-what-a-linear-model-can-do\" data-toc-modified-id=\"SVM-to-see-what-a-linear-model-can-do-8\"><span class=\"toc-item-num\">8&nbsp;&nbsp;</span>SVM to see what a linear model can do</a></span></li></ul></div>"
"<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Configuration\" data-toc-modified-id=\"Configuration-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Configuration</a></span></li><li><span><a href=\"#Support-Routines\" data-toc-modified-id=\"Support-Routines-2\"><span class=\"toc-item-num\">2&nbsp;&nbsp;</span>Support Routines</a></span><ul class=\"toc-item\"><li><span><a href=\"#Visualization\" data-toc-modified-id=\"Visualization-2.1\"><span class=\"toc-item-num\">2.1&nbsp;&nbsp;</span>Visualization</a></span></li></ul></li><li><span><a href=\"#Dataset-creation\" data-toc-modified-id=\"Dataset-creation-3\"><span class=\"toc-item-num\">3&nbsp;&nbsp;</span>Dataset creation</a></span><ul class=\"toc-item\"><li><span><a href=\"#Dataset-reading-and-preprocessing-definition\" data-toc-modified-id=\"Dataset-reading-and-preprocessing-definition-3.1\"><span class=\"toc-item-num\">3.1&nbsp;&nbsp;</span>Dataset reading and preprocessing definition</a></span></li><li><span><a href=\"#Make-dataset\" data-toc-modified-id=\"Make-dataset-3.2\"><span class=\"toc-item-num\">3.2&nbsp;&nbsp;</span>Make dataset</a></span></li><li><span><a href=\"#Examining-data\" data-toc-modified-id=\"Examining-data-3.3\"><span class=\"toc-item-num\">3.3&nbsp;&nbsp;</span>Examining data</a></span></li><li><span><a href=\"#Training/Test-Split\" data-toc-modified-id=\"Training/Test-Split-3.4\"><span class=\"toc-item-num\">3.4&nbsp;&nbsp;</span>Training/Test Split</a></span></li><li><span><a href=\"#Data-scaling-for-DNN-training\" data-toc-modified-id=\"Data-scaling-for-DNN-training-3.5\"><span class=\"toc-item-num\">3.5&nbsp;&nbsp;</span>Data scaling for DNN training</a></span></li></ul></li><li><span><a href=\"#DNN-Model-definitions\" data-toc-modified-id=\"DNN-Model-definitions-4\"><span class=\"toc-item-num\">4&nbsp;&nbsp;</span>DNN Model definitions</a></span><ul class=\"toc-item\"><li><span><a href=\"#L2reg-and-gaussian-noise\" data-toc-modified-id=\"L2reg-and-gaussian-noise-4.1\"><span class=\"toc-item-num\">4.1&nbsp;&nbsp;</span>L2reg and gaussian noise</a></span></li><li><span><a href=\"#Model-with-Dropout\" data-toc-modified-id=\"Model-with-Dropout-4.2\"><span class=\"toc-item-num\">4.2&nbsp;&nbsp;</span>Model with Dropout</a></span></li></ul></li><li><span><a href=\"#DNN-Training-runs-(data-not-corrected-for-zeroes)\" data-toc-modified-id=\"DNN-Training-runs-(data-not-corrected-for-zeroes)-5\"><span class=\"toc-item-num\">5&nbsp;&nbsp;</span>DNN Training runs (data not corrected for zeroes)</a></span><ul class=\"toc-item\"><li><span><a href=\"#Andi's-initial-DNN-using-gn\" data-toc-modified-id=\"Andi's-initial-DNN-using-gn-5.1\"><span class=\"toc-item-num\">5.1&nbsp;&nbsp;</span>Andi's initial DNN using gn</a></span></li><li><span><a href=\"#without-any-regularization\" data-toc-modified-id=\"without-any-regularization-5.2\"><span class=\"toc-item-num\">5.2&nbsp;&nbsp;</span>without any regularization</a></span><ul class=\"toc-item\"><li><span><a href=\"#Investigation-of-model-performance-errors\" data-toc-modified-id=\"Investigation-of-model-performance-errors-5.2.1\"><span class=\"toc-item-num\">5.2.1&nbsp;&nbsp;</span>Investigation of model performance errors</a></span></li><li><span><a href=\"#outlier-investigation-after-answer-by-Jochem/Pavle\" data-toc-modified-id=\"outlier-investigation-after-answer-by-Jochem/Pavle-5.2.2\"><span class=\"toc-item-num\">5.2.2&nbsp;&nbsp;</span>outlier investigation after answer by Jochem/Pavle</a></span></li></ul></li><li><span><a href=\"#Trying-to-reproduce-best-hyperscan-run\" data-toc-modified-id=\"Trying-to-reproduce-best-hyperscan-run-5.3\"><span class=\"toc-item-num\">5.3&nbsp;&nbsp;</span>Trying to reproduce best hyperscan run</a></span></li><li><span><a href=\"#Try-out-DNN-with-dropout\" data-toc-modified-id=\"Try-out-DNN-with-dropout-5.4\"><span class=\"toc-item-num\">5.4&nbsp;&nbsp;</span>Try out DNN with dropout</a></span></li></ul></li><li><span><a href=\"#Hyperparameter-scans-(data-not-corrected-for-zeroes)\" data-toc-modified-id=\"Hyperparameter-scans-(data-not-corrected-for-zeroes)-6\"><span class=\"toc-item-num\">6&nbsp;&nbsp;</span>Hyperparameter scans (data not corrected for zeroes)</a></span><ul class=\"toc-item\"><li><span><a href=\"#Test:-Make-a-hyperparameter-scan-A\" data-toc-modified-id=\"Test:-Make-a-hyperparameter-scan-A-6.1\"><span class=\"toc-item-num\">6.1&nbsp;&nbsp;</span>Test: Make a hyperparameter scan A</a></span></li><li><span><a href=\"#Offline-batch-parameter-scan\" data-toc-modified-id=\"Offline-batch-parameter-scan-6.2\"><span class=\"toc-item-num\">6.2&nbsp;&nbsp;</span>Offline batch parameter scan</a></span></li><li><span><a href=\"#TODO-ModelB\" data-toc-modified-id=\"TODO-ModelB-6.3\"><span class=\"toc-item-num\">6.3&nbsp;&nbsp;</span>TODO ModelB</a></span></li><li><span><a href=\"#TODO:-Model-C:-scan-regulatisation-and-noise\" data-toc-modified-id=\"TODO:-Model-C:-scan-regulatisation-and-noise-6.4\"><span class=\"toc-item-num\">6.4&nbsp;&nbsp;</span>TODO: Model C: scan regulatisation and noise</a></span></li></ul></li><li><span><a href=\"#DNN-runs-with-data-set-cleaned-for-zero-energy-measurements\" data-toc-modified-id=\"DNN-runs-with-data-set-cleaned-for-zero-energy-measurements-7\"><span class=\"toc-item-num\">7&nbsp;&nbsp;</span>DNN runs with data set cleaned for zero energy measurements</a></span><ul class=\"toc-item\"><li><span><a href=\"#without-any-regularization\" data-toc-modified-id=\"without-any-regularization-7.1\"><span class=\"toc-item-num\">7.1&nbsp;&nbsp;</span>without any regularization</a></span></li></ul></li><li><span><a href=\"#SVM-to-see-what-a-linear-model-can-do\" data-toc-modified-id=\"SVM-to-see-what-a-linear-model-can-do-8\"><span class=\"toc-item-num\">8&nbsp;&nbsp;</span>SVM to see what a linear model can do</a></span></li><li><span><a href=\"#Test-for-leaving-out-some-files-from-the-training-set\" data-toc-modified-id=\"Test-for-leaving-out-some-files-from-the-training-set-9\"><span class=\"toc-item-num\">9&nbsp;&nbsp;</span>Test for leaving out some files from the training set</a></span></li></ul></div>"
]
},
{
......@@ -14484,11 +14484,291 @@
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {
"lines_to_next_cell": 2
},
"source": [
"# Test for leaving out some files from the training set\n",
"By examining the source data, I get the impression that each file only contains a very small subspace of the total parameter space. So, it somehow is more that we have 58 measurement points with some confidence intervals, instead of 15000 measurements."
]
},
{
"cell_type": "code",
"execution_count": 207,
"metadata": {},
"outputs": [],
"source": [
"fchoice = \"33,34\"\n",
"flist = [f'rawDataFile != \"dp{fnum}-nomeans.csv\"' for fnum in fchoice.split(\",\")]\n",
"trainB, validateB, testB = np.split(data.query(\" & \".join(flist)) \\\n",
" .sample(frac=1), [int(.6*len(data)), int(.8*len(data))])\n",
"\n",
"x_trainB = trainB[var_indep]\n",
"y_trainB = trainB[var_dep]\n",
"x_validateB = validateB[var_indep]\n",
"y_validateB = validateB[var_dep]\n",
"x_testB = testB[var_indep]\n",
"y_testB = testB[var_dep]"
]
},
{
"cell_type": "code",
"execution_count": 208,
"metadata": {},
"outputs": [],
"source": [
"flist = [f'rawDataFile == \"dp{fnum}-nomeans.csv\"' for fnum in fchoice.split(\",\")]\n",
"data_ignf = data.query(\" | \".join(flist))\n",
"x_testB_ignf = np.concatenate((x_testB, data_ignf[var_indep].to_numpy()))\n",
"y_testB_ignf = np.concatenate((y_testB, data_ignf[var_dep].to_numpy()))\n",
"\n",
"x_testB_ignf = transformer_x.transform(x_testB_ignf)\n",
"y_testB_ignf = transformer_y.transform(y_testB_ignf)"
]
},
{
"cell_type": "code",
"execution_count": 209,
"metadata": {
"lines_to_next_cell": 0
},
"outputs": [],
"source": [
"x_trainB = transformer_x.transform(x_trainB)\n",
"x_validateB = transformer_x.transform(x_validateB)\n",
"x_testB = transformer_x.transform(x_testB)\n",
"\n",
"y_trainB = transformer_y.transform(y_trainB)\n",
"y_validateB = transformer_y.transform(y_validateB)\n",
"y_testB = transformer_y.transform(y_testB)"
]
},
{
"cell_type": "code",
"execution_count": 210,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((86601, 4), (28867, 4))"
]
},
"execution_count": 210,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x_trainB.shape, x_validateB.shape"
]
},
{
"cell_type": "code",
"execution_count": 192,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 10min 4s, sys: 1min 9s, total: 11min 13s\n",
"Wall time: 7min 24s\n"
]
}
],
"source": [
"%%time\n",
"model_0_noreg_m4_B = build_ff_mdl_small(in_dim = x_trainB.shape[1], out_dim = y_trainB.shape[1],\n",
" l1 = 4*8, l2 = 4*6, l3 = 4*4, l4= 4*4,\n",
" l2reg=0.0, gn=0.0)\n",
"es = keras.callbacks.EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=100)\n",
"hist_0_noreg_m4_B = model_0_noreg_m4_B.fit(x=x_trainB, y=y_trainB, \n",
" validation_data=(x_validateB,y_validateB),\n",
" batch_size=250, shuffle='true',epochs=300, \n",
" verbose='false', callbacks=[plot_losses,es])"
]
},
{
"cell_type": "code",
"execution_count": 211,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 859 ms, sys: 195 ms, total: 1.05 s\n",
"Wall time: 711 ms\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PHOTON-ENERGY-PER-PULSE</th>\n",
" <th>Model0 m4 No Regularization</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.00066</td>\n",
" <td>Model0 m4 No Regularization</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PHOTON-ENERGY-PER-PULSE Model0 m4 No Regularization\n",
"0 5.00066 Model0 m4 No Regularization"
]
},
"execution_count": 211,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%%time\n",
"plotModelPerf2(model_0_noreg_m4_B, 'Model0 m4 No Regularization', x_testB, y_testB, testB[var_dep].columns, transformer_y, '.')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I visualize the performance including the samples from the unseen files"
]
},
{
"cell_type": "code",
"execution_count": 212,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 1.69 s, sys: 197 ms, total: 1.89 s\n",
"Wall time: 1.52 s\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PHOTON-ENERGY-PER-PULSE</th>\n",
" <th>Model0 m4 No Regularization</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>21.65363</td>\n",
" <td>Model0 m4 No Regularization</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PHOTON-ENERGY-PER-PULSE Model0 m4 No Regularization\n",
"0 21.65363 Model0 m4 No Regularization"
]
},
"execution_count": 212,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%%time\n",
"plotModelPerf2(model_0_noreg_m4_B, 'Model0 m4 No Regularization', x_testB_ignf, y_testB_ignf, testB[var_dep].columns, transformer_y, '.')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
......@@ -15,7 +15,7 @@
# + {"toc": true, "cell_type": "markdown"}
# <h1>Table of Contents<span class="tocSkip"></span></h1>
# <div class="toc"><ul class="toc-item"><li><span><a href="#Configuration" data-toc-modified-id="Configuration-1"><span class="toc-item-num">1&nbsp;&nbsp;</span>Configuration</a></span></li><li><span><a href="#Support-Routines" data-toc-modified-id="Support-Routines-2"><span class="toc-item-num">2&nbsp;&nbsp;</span>Support Routines</a></span><ul class="toc-item"><li><span><a href="#Visualization" data-toc-modified-id="Visualization-2.1"><span class="toc-item-num">2.1&nbsp;&nbsp;</span>Visualization</a></span></li></ul></li><li><span><a href="#Dataset-creation" data-toc-modified-id="Dataset-creation-3"><span class="toc-item-num">3&nbsp;&nbsp;</span>Dataset creation</a></span><ul class="toc-item"><li><span><a href="#Dataset-reading-and-preprocessing-definition" data-toc-modified-id="Dataset-reading-and-preprocessing-definition-3.1"><span class="toc-item-num">3.1&nbsp;&nbsp;</span>Dataset reading and preprocessing definition</a></span></li><li><span><a href="#Make-dataset" data-toc-modified-id="Make-dataset-3.2"><span class="toc-item-num">3.2&nbsp;&nbsp;</span>Make dataset</a></span></li><li><span><a href="#Examining-data" data-toc-modified-id="Examining-data-3.3"><span class="toc-item-num">3.3&nbsp;&nbsp;</span>Examining data</a></span></li><li><span><a href="#Training/Test-Split" data-toc-modified-id="Training/Test-Split-3.4"><span class="toc-item-num">3.4&nbsp;&nbsp;</span>Training/Test Split</a></span></li><li><span><a href="#Data-scaling-for-DNN-training" data-toc-modified-id="Data-scaling-for-DNN-training-3.5"><span class="toc-item-num">3.5&nbsp;&nbsp;</span>Data scaling for DNN training</a></span></li></ul></li><li><span><a href="#DNN-Model-definitions" data-toc-modified-id="DNN-Model-definitions-4"><span class="toc-item-num">4&nbsp;&nbsp;</span>DNN Model definitions</a></span><ul class="toc-item"><li><span><a href="#L2reg-and-gaussian-noise" data-toc-modified-id="L2reg-and-gaussian-noise-4.1"><span class="toc-item-num">4.1&nbsp;&nbsp;</span>L2reg and gaussian noise</a></span></li><li><span><a href="#Model-with-Dropout" data-toc-modified-id="Model-with-Dropout-4.2"><span class="toc-item-num">4.2&nbsp;&nbsp;</span>Model with Dropout</a></span></li></ul></li><li><span><a href="#DNN-Training-runs-(data-not-corrected-for-zeroes)" data-toc-modified-id="DNN-Training-runs-(data-not-corrected-for-zeroes)-5"><span class="toc-item-num">5&nbsp;&nbsp;</span>DNN Training runs (data not corrected for zeroes)</a></span><ul class="toc-item"><li><span><a href="#Andi's-initial-DNN-using-gn" data-toc-modified-id="Andi's-initial-DNN-using-gn-5.1"><span class="toc-item-num">5.1&nbsp;&nbsp;</span>Andi's initial DNN using gn</a></span></li><li><span><a href="#without-any-regularization" data-toc-modified-id="without-any-regularization-5.2"><span class="toc-item-num">5.2&nbsp;&nbsp;</span>without any regularization</a></span><ul class="toc-item"><li><span><a href="#Investigation-of-model-performance-errors" data-toc-modified-id="Investigation-of-model-performance-errors-5.2.1"><span class="toc-item-num">5.2.1&nbsp;&nbsp;</span>Investigation of model performance errors</a></span></li><li><span><a href="#outlier-investigation-after-answer-by-Jochem/Pavle" data-toc-modified-id="outlier-investigation-after-answer-by-Jochem/Pavle-5.2.2"><span class="toc-item-num">5.2.2&nbsp;&nbsp;</span>outlier investigation after answer by Jochem/Pavle</a></span></li></ul></li><li><span><a href="#Trying-to-reproduce-best-hyperscan-run" data-toc-modified-id="Trying-to-reproduce-best-hyperscan-run-5.3"><span class="toc-item-num">5.3&nbsp;&nbsp;</span>Trying to reproduce best hyperscan run</a></span></li><li><span><a href="#Try-out-DNN-with-dropout" data-toc-modified-id="Try-out-DNN-with-dropout-5.4"><span class="toc-item-num">5.4&nbsp;&nbsp;</span>Try out DNN with dropout</a></span></li></ul></li><li><span><a href="#Hyperparameter-scans-(data-not-corrected-for-zeroes)" data-toc-modified-id="Hyperparameter-scans-(data-not-corrected-for-zeroes)-6"><span class="toc-item-num">6&nbsp;&nbsp;</span>Hyperparameter scans (data not corrected for zeroes)</a></span><ul class="toc-item"><li><span><a href="#Test:-Make-a-hyperparameter-scan-A" data-toc-modified-id="Test:-Make-a-hyperparameter-scan-A-6.1"><span class="toc-item-num">6.1&nbsp;&nbsp;</span>Test: Make a hyperparameter scan A</a></span></li><li><span><a href="#Offline-batch-parameter-scan" data-toc-modified-id="Offline-batch-parameter-scan-6.2"><span class="toc-item-num">6.2&nbsp;&nbsp;</span>Offline batch parameter scan</a></span></li><li><span><a href="#TODO-ModelB" data-toc-modified-id="TODO-ModelB-6.3"><span class="toc-item-num">6.3&nbsp;&nbsp;</span>TODO ModelB</a></span></li><li><span><a href="#TODO:-Model-C:-scan-regulatisation-and-noise" data-toc-modified-id="TODO:-Model-C:-scan-regulatisation-and-noise-6.4"><span class="toc-item-num">6.4&nbsp;&nbsp;</span>TODO: Model C: scan regulatisation and noise</a></span></li></ul></li><li><span><a href="#DNN-runs-with-data-set-cleaned-for-zero-energy-measurements" data-toc-modified-id="DNN-runs-with-data-set-cleaned-for-zero-energy-measurements-7"><span class="toc-item-num">7&nbsp;&nbsp;</span>DNN runs with data set cleaned for zero energy measurements</a></span><ul class="toc-item"><li><span><a href="#without-any-regularization" data-toc-modified-id="without-any-regularization-7.1"><span class="toc-item-num">7.1&nbsp;&nbsp;</span>without any regularization</a></span></li></ul></li><li><span><a href="#SVM-to-see-what-a-linear-model-can-do" data-toc-modified-id="SVM-to-see-what-a-linear-model-can-do-8"><span class="toc-item-num">8&nbsp;&nbsp;</span>SVM to see what a linear model can do</a></span></li></ul></div>
# <div class="toc"><ul class="toc-item"><li><span><a href="#Configuration" data-toc-modified-id="Configuration-1"><span class="toc-item-num">1&nbsp;&nbsp;</span>Configuration</a></span></li><li><span><a href="#Support-Routines" data-toc-modified-id="Support-Routines-2"><span class="toc-item-num">2&nbsp;&nbsp;</span>Support Routines</a></span><ul class="toc-item"><li><span><a href="#Visualization" data-toc-modified-id="Visualization-2.1"><span class="toc-item-num">2.1&nbsp;&nbsp;</span>Visualization</a></span></li></ul></li><li><span><a href="#Dataset-creation" data-toc-modified-id="Dataset-creation-3"><span class="toc-item-num">3&nbsp;&nbsp;</span>Dataset creation</a></span><ul class="toc-item"><li><span><a href="#Dataset-reading-and-preprocessing-definition" data-toc-modified-id="Dataset-reading-and-preprocessing-definition-3.1"><span class="toc-item-num">3.1&nbsp;&nbsp;</span>Dataset reading and preprocessing definition</a></span></li><li><span><a href="#Make-dataset" data-toc-modified-id="Make-dataset-3.2"><span class="toc-item-num">3.2&nbsp;&nbsp;</span>Make dataset</a></span></li><li><span><a href="#Examining-data" data-toc-modified-id="Examining-data-3.3"><span class="toc-item-num">3.3&nbsp;&nbsp;</span>Examining data</a></span></li><li><span><a href="#Training/Test-Split" data-toc-modified-id="Training/Test-Split-3.4"><span class="toc-item-num">3.4&nbsp;&nbsp;</span>Training/Test Split</a></span></li><li><span><a href="#Data-scaling-for-DNN-training" data-toc-modified-id="Data-scaling-for-DNN-training-3.5"><span class="toc-item-num">3.5&nbsp;&nbsp;</span>Data scaling for DNN training</a></span></li></ul></li><li><span><a href="#DNN-Model-definitions" data-toc-modified-id="DNN-Model-definitions-4"><span class="toc-item-num">4&nbsp;&nbsp;</span>DNN Model definitions</a></span><ul class="toc-item"><li><span><a href="#L2reg-and-gaussian-noise" data-toc-modified-id="L2reg-and-gaussian-noise-4.1"><span class="toc-item-num">4.1&nbsp;&nbsp;</span>L2reg and gaussian noise</a></span></li><li><span><a href="#Model-with-Dropout" data-toc-modified-id="Model-with-Dropout-4.2"><span class="toc-item-num">4.2&nbsp;&nbsp;</span>Model with Dropout</a></span></li></ul></li><li><span><a href="#DNN-Training-runs-(data-not-corrected-for-zeroes)" data-toc-modified-id="DNN-Training-runs-(data-not-corrected-for-zeroes)-5"><span class="toc-item-num">5&nbsp;&nbsp;</span>DNN Training runs (data not corrected for zeroes)</a></span><ul class="toc-item"><li><span><a href="#Andi's-initial-DNN-using-gn" data-toc-modified-id="Andi's-initial-DNN-using-gn-5.1"><span class="toc-item-num">5.1&nbsp;&nbsp;</span>Andi's initial DNN using gn</a></span></li><li><span><a href="#without-any-regularization" data-toc-modified-id="without-any-regularization-5.2"><span class="toc-item-num">5.2&nbsp;&nbsp;</span>without any regularization</a></span><ul class="toc-item"><li><span><a href="#Investigation-of-model-performance-errors" data-toc-modified-id="Investigation-of-model-performance-errors-5.2.1"><span class="toc-item-num">5.2.1&nbsp;&nbsp;</span>Investigation of model performance errors</a></span></li><li><span><a href="#outlier-investigation-after-answer-by-Jochem/Pavle" data-toc-modified-id="outlier-investigation-after-answer-by-Jochem/Pavle-5.2.2"><span class="toc-item-num">5.2.2&nbsp;&nbsp;</span>outlier investigation after answer by Jochem/Pavle</a></span></li></ul></li><li><span><a href="#Trying-to-reproduce-best-hyperscan-run" data-toc-modified-id="Trying-to-reproduce-best-hyperscan-run-5.3"><span class="toc-item-num">5.3&nbsp;&nbsp;</span>Trying to reproduce best hyperscan run</a></span></li><li><span><a href="#Try-out-DNN-with-dropout" data-toc-modified-id="Try-out-DNN-with-dropout-5.4"><span class="toc-item-num">5.4&nbsp;&nbsp;</span>Try out DNN with dropout</a></span></li></ul></li><li><span><a href="#Hyperparameter-scans-(data-not-corrected-for-zeroes)" data-toc-modified-id="Hyperparameter-scans-(data-not-corrected-for-zeroes)-6"><span class="toc-item-num">6&nbsp;&nbsp;</span>Hyperparameter scans (data not corrected for zeroes)</a></span><ul class="toc-item"><li><span><a href="#Test:-Make-a-hyperparameter-scan-A" data-toc-modified-id="Test:-Make-a-hyperparameter-scan-A-6.1"><span class="toc-item-num">6.1&nbsp;&nbsp;</span>Test: Make a hyperparameter scan A</a></span></li><li><span><a href="#Offline-batch-parameter-scan" data-toc-modified-id="Offline-batch-parameter-scan-6.2"><span class="toc-item-num">6.2&nbsp;&nbsp;</span>Offline batch parameter scan</a></span></li><li><span><a href="#TODO-ModelB" data-toc-modified-id="TODO-ModelB-6.3"><span class="toc-item-num">6.3&nbsp;&nbsp;</span>TODO ModelB</a></span></li><li><span><a href="#TODO:-Model-C:-scan-regulatisation-and-noise" data-toc-modified-id="TODO:-Model-C:-scan-regulatisation-and-noise-6.4"><span class="toc-item-num">6.4&nbsp;&nbsp;</span>TODO: Model C: scan regulatisation and noise</a></span></li></ul></li><li><span><a href="#DNN-runs-with-data-set-cleaned-for-zero-energy-measurements" data-toc-modified-id="DNN-runs-with-data-set-cleaned-for-zero-energy-measurements-7"><span class="toc-item-num">7&nbsp;&nbsp;</span>DNN runs with data set cleaned for zero energy measurements</a></span><ul class="toc-item"><li><span><a href="#without-any-regularization" data-toc-modified-id="without-any-regularization-7.1"><span class="toc-item-num">7.1&nbsp;&nbsp;</span>without any regularization</a></span></li></ul></li><li><span><a href="#SVM-to-see-what-a-linear-model-can-do" data-toc-modified-id="SVM-to-see-what-a-linear-model-can-do-8"><span class="toc-item-num">8&nbsp;&nbsp;</span>SVM to see what a linear model can do</a></span></li><li><span><a href="#Test-for-leaving-out-some-files-from-the-training-set" data-toc-modified-id="Test-for-leaving-out-some-files-from-the-training-set-9"><span class="toc-item-num">9&nbsp;&nbsp;</span>Test for leaving out some files from the training set</a></span></li></ul></div>
# +
import os
......@@ -1192,5 +1192,59 @@ ax.plot(transformer_y.inverse_transform(y_pred_svm.reshape(-1,1)),
ax.set_xlabel('PEPP from model')
ax.set_ylabel('PEPP')
# # Test for leaving out some files from the training set
# By examining the source data, I get the impression that each file only contains a very small subspace of the total parameter space. So, it somehow is more that we have 58 measurement points with some confidence intervals, instead of 15000 measurements.
# +
fchoice = "33,34"
flist = [f'rawDataFile != "dp{fnum}-nomeans.csv"' for fnum in fchoice.split(",")]
trainB, validateB, testB = np.split(data.query(" & ".join(flist)) \
.sample(frac=1), [int(.6*len(data)), int(.8*len(data))])
x_trainB = trainB[var_indep]
y_trainB = trainB[var_dep]
x_validateB = validateB[var_indep]
y_validateB = validateB[var_dep]
x_testB = testB[var_indep]
y_testB = testB[var_dep]
# +
flist = [f'rawDataFile == "dp{fnum}-nomeans.csv"' for fnum in fchoice.split(",")]
data_ignf = data.query(" | ".join(flist))
x_testB_ignf = np.concatenate((x_testB, data_ignf[var_indep].to_numpy()))
y_testB_ignf = np.concatenate((y_testB, data_ignf[var_dep].to_numpy()))
x_testB_ignf = transformer_x.transform(x_testB_ignf)
y_testB_ignf = transformer_y.transform(y_testB_ignf)
# +
x_trainB = transformer_x.transform(x_trainB)
x_validateB = transformer_x.transform(x_validateB)
x_testB = transformer_x.transform(x_testB)
y_trainB = transformer_y.transform(y_trainB)
y_validateB = transformer_y.transform(y_validateB)
y_testB = transformer_y.transform(y_testB)
# -
x_trainB.shape, x_validateB.shape
# %%time
model_0_noreg_m4_B = build_ff_mdl_small(in_dim = x_trainB.shape[1], out_dim = y_trainB.shape[1],
l1 = 4*8, l2 = 4*6, l3 = 4*4, l4= 4*4,
l2reg=0.0, gn=0.0)
es = keras.callbacks.EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=100)
hist_0_noreg_m4_B = model_0_noreg_m4_B.fit(x=x_trainB, y=y_trainB,
validation_data=(x_validateB,y_validateB),
batch_size=250, shuffle='true',epochs=300,
verbose='false', callbacks=[plot_losses,es])
# %%time
plotModelPerf2(model_0_noreg_m4_B, 'Model0 m4 No Regularization', x_testB, y_testB, testB[var_dep].columns, transformer_y, '.')
# Now I visualize the performance including the samples from the unseen files
# %%time
plotModelPerf2(model_0_noreg_m4_B, 'Model0 m4 No Regularization', x_testB_ignf, y_testB_ignf, testB[var_dep].columns, transformer_y, '.')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment