diff --git a/kernel_ridge_linear_model/__pycache__/utils_functions.cpython-38.pyc b/kernel_ridge_linear_model/__pycache__/utils_functions.cpython-38.pyc
index 18c72c94f034e10f89d0484e2275a0daddef87d5..b93655e5bc80b17988cb8feb306f0bd28e94f337 100755
Binary files a/kernel_ridge_linear_model/__pycache__/utils_functions.cpython-38.pyc and b/kernel_ridge_linear_model/__pycache__/utils_functions.cpython-38.pyc differ
diff --git a/kernel_ridge_linear_model/best_R2_exploration_summary.csv b/kernel_ridge_linear_model/best_R2_exploration_summary.csv
index 23ad9e292a8162f71a6b77a0338109deb67b344d..cbd3c385c0bce64f5aedf85e4cc42af14dcdd70c 100755
--- a/kernel_ridge_linear_model/best_R2_exploration_summary.csv
+++ b/kernel_ridge_linear_model/best_R2_exploration_summary.csv
@@ -554,3 +554,119 @@ google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,Fals
 google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8761294231976631,10,10,base_Y,
 google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8610822098876969,10,10,base_Y,
 google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7810539517550326,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8685438933206657,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8999417647627684,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6797854800078884,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7810539517550326,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8685438933206657,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8045488981761043,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7481135544515584,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8570058072524344,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8769218467621971,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8794740176613643,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8189148741606547,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6797854800078884,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.745267757534974,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7810539517550326,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6878079839644367,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8685438933206657,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8377286369406771,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8045488981761043,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8285092053881798,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7481135544515584,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8699099605536225,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8570058072524344,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8291989438106095,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8769218467621971,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8553388678683915,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8794740176613643,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8811131526964723,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8189148741606547,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6797854800078884,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.745267757534974,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7810539517550326,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6878079839644367,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8685438933206657,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8377286369406771,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8045488981761043,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8285092053881798,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7481135544515584,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8699099605536225,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8570058072524344,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8291989438106095,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8769218467621971,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8553388678683915,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8794740176613643,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8811131526964723,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6006699414996651,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8189148741606547,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6797854800078884,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.745267757534974,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7810539517550326,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.6878079839644367,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8685438933206657,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8377286369406771,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8045488981761043,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8285092053881798,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.7481135544515584,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8699099605536225,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8570058072524344,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8291989438106095,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8769218467621971,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8553388678683915,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8794740176613643,10,10,base_Y,
+google_pixel_4a_5g,google_pixel_4a_5g_format,False,False,1000,0.01000000099,False,----,0,1000000000.0,1000000000.0,1e-09,1000,0.1,100,False,0.8811131526964723,10,10,base_Y,
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.png
deleted file mode 100755
index 1a8047e2ba9860f1b4e7bd14b4ebe03303f3780f..0000000000000000000000000000000000000000
Binary files a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.png and /dev/null differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv
deleted file mode 100755
index 3a2e05712fa7cb67611095c4079627c63fd6d85e..0000000000000000000000000000000000000000
--- a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-input_data_set, R2 score, dynamic_score
-779, 52.17391304347826, 0.8999417647627684
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv
deleted file mode 100755
index 3a2e05712fa7cb67611095c4079627c63fd6d85e..0000000000000000000000000000000000000000
--- a/kernel_ridge_linear_model/finding_best_input_dataset_size/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-input_data_set, R2 score, dynamic_score
-779, 52.17391304347826, 0.8999417647627684
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.png
new file mode 100755
index 0000000000000000000000000000000000000000..7f84f4c50307121bd7e5611ebc6376c5e8aac142
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_R2.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_R2.csv
new file mode 100755
index 0000000000000000000000000000000000000000..4c2571cdb0c1a1b315bed62cb7bdcc43174a78db
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_R2.csv
@@ -0,0 +1,19 @@
+input_data_set, R2 score, dynamic_score
+525, 0.5918367346938775, 0.8811131526964723
+500, 0.5714285714285715, 0.8794740176613643
+450, 0.657142857142857, 0.8769218467621971
+375, 0.7857142857142857, 0.8699099605536225
+250, 0.6122448979591837, 0.8685438933206657
+400, 0.6285714285714286, 0.8570058072524344
+475, 0.7142857142857143, 0.8553388678683915
+275, 0.6, 0.8377286369406771
+425, 0.8214285714285714, 0.8291989438106095
+325, 0.6, 0.8285092053881798
+125, 0.32142857142857145, 0.8189148741606547
+300, 0.7428571428571429, 0.8045488981761043
+200, 0.37142857142857144, 0.7810539517550326
+350, 0.7142857142857143, 0.7481135544515584
+175, 0.4857142857142857, 0.745267757534974
+225, 0.6, 0.6878079839644367
+150, 0.5555555555555556, 0.6797854800078884
+100, 0.42857142857142855, 0.6006699414996651
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_dynamic.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_dynamic.csv
new file mode 100755
index 0000000000000000000000000000000000000000..91d411af4ca389914e37da23493a591e0c8675b8
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_7_n_strong_interact_3.pngsorted_dynamic.csv
@@ -0,0 +1,19 @@
+input_data_set, R2 score, dynamic_score
+425, 0.8214285714285714, 0.8291989438106095
+375, 0.7857142857142857, 0.8699099605536225
+300, 0.7428571428571429, 0.8045488981761043
+350, 0.7142857142857143, 0.7481135544515584
+475, 0.7142857142857143, 0.8553388678683915
+450, 0.657142857142857, 0.8769218467621971
+400, 0.6285714285714286, 0.8570058072524344
+250, 0.6122448979591837, 0.8685438933206657
+225, 0.6, 0.6878079839644367
+275, 0.6, 0.8377286369406771
+325, 0.6, 0.8285092053881798
+525, 0.5918367346938775, 0.8811131526964723
+500, 0.5714285714285715, 0.8794740176613643
+150, 0.5555555555555556, 0.6797854800078884
+175, 0.4857142857142857, 0.745267757534974
+100, 0.42857142857142855, 0.6006699414996651
+200, 0.37142857142857144, 0.7810539517550326
+125, 0.32142857142857145, 0.8189148741606547
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/log_file_compute_static_score_for_the_paper.txt b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/log_file_compute_static_score_for_the_paper.txt
new file mode 100755
index 0000000000000000000000000000000000000000..2ceee7e6bc827f10fe08c2325d0d424cd9d5d451
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_3/log_file_compute_static_score_for_the_paper.txt differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv
new file mode 100755
index 0000000000000000000000000000000000000000..de5cfa086838aad448bc1a443b862dac038112b9
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_R2.csv
@@ -0,0 +1,19 @@
+input_data_set, R2 score, dynamic_score
+525, 0.5882352941176471, 0.8811131526964723
+500, 0.5714285714285715, 0.8794740176613643
+450, 0.7032967032967034, 0.8769218467621971
+375, 0.7333333333333333, 0.8699099605536225
+250, 0.580952380952381, 0.8685438933206657
+400, 0.6476190476190475, 0.8570058072524344
+475, 0.7142857142857143, 0.8553388678683915
+275, 0.7047619047619048, 0.8377286369406771
+425, 0.6722689075630253, 0.8291989438106095
+325, 0.5798319327731093, 0.8285092053881798
+125, 0.49523809523809526, 0.8189148741606547
+300, 0.6190476190476191, 0.8045488981761043
+200, 0.5294117647058824, 0.7810539517550326
+350, 0.7238095238095238, 0.7481135544515584
+175, 0.4857142857142857, 0.745267757534974
+225, 0.4957983193277311, 0.6878079839644367
+150, 0.5142857142857143, 0.6797854800078884
+100, 0.5630252100840336, 0.6006699414996651
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv
new file mode 100755
index 0000000000000000000000000000000000000000..01f7c18ad8eb09629e90dd56e69c99261f1b99b5
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size.pngsorted_dynamic.csv
@@ -0,0 +1,19 @@
+input_data_set, R2 score, dynamic_score
+375, 0.7333333333333333, 0.8699099605536225
+350, 0.7238095238095238, 0.7481135544515584
+475, 0.7142857142857143, 0.8553388678683915
+275, 0.7047619047619048, 0.8377286369406771
+450, 0.7032967032967034, 0.8769218467621971
+425, 0.6722689075630253, 0.8291989438106095
+400, 0.6476190476190475, 0.8570058072524344
+300, 0.6190476190476191, 0.8045488981761043
+525, 0.5882352941176471, 0.8811131526964723
+250, 0.580952380952381, 0.8685438933206657
+325, 0.5798319327731093, 0.8285092053881798
+500, 0.5714285714285715, 0.8794740176613643
+100, 0.5630252100840336, 0.6006699414996651
+200, 0.5294117647058824, 0.7810539517550326
+150, 0.5142857142857143, 0.6797854800078884
+225, 0.4957983193277311, 0.6878079839644367
+125, 0.49523809523809526, 0.8189148741606547
+175, 0.4857142857142857, 0.745267757534974
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size_best_cov_7_strong_interact_7.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size_best_cov_7_strong_interact_7.png
new file mode 100755
index 0000000000000000000000000000000000000000..f34c6da166ddc70c0fcf11cd4ba35d80e07eb670
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/R_2_and_dynamic_score_according_to_input_dataset_size_best_cov_7_strong_interact_7.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/log_file_compute_static_score_for_the_paper.txt b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/log_file_compute_static_score_for_the_paper.txt
new file mode 100755
index 0000000000000000000000000000000000000000..ed57de80134b9f972a0372dffb0c9e7aaf438d63
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/best_cov_7_strong_interact_7/log_file_compute_static_score_for_the_paper.txt differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_covariates_and_best_interactions.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_covariates_and_best_interactions.png
new file mode 100755
index 0000000000000000000000000000000000000000..4454ff67a2111bb22df4483b9bef307b9ea542a6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_covariates_and_best_interactions.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_interactions.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_interactions.png
new file mode 100755
index 0000000000000000000000000000000000000000..6b6dab499005b6655fccb660221d59772f52d6cb
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_according_to_best_interactions.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions.png
new file mode 100755
index 0000000000000000000000000000000000000000..9e312eb82663b52924868cfc0da7ff8a032697b0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_100.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_100.png
new file mode 100755
index 0000000000000000000000000000000000000000..425d01a03a7e3d1956e83cd5feb0431756a98c23
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_100.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_125.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_125.png
new file mode 100755
index 0000000000000000000000000000000000000000..e1c40148eb486bbeb5177d5a2f4f8bf4c1d74f1a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_125.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_150.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_150.png
new file mode 100755
index 0000000000000000000000000000000000000000..3290899216171ce556822dcd4b2918e45a9832d0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_150.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_175.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_175.png
new file mode 100755
index 0000000000000000000000000000000000000000..74f37b7d9e29f19e69a9f8fe73e535e6e8aac67c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_175.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_200.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_200.png
new file mode 100755
index 0000000000000000000000000000000000000000..de1512b0c00a09e31594a0c74ddb766eb3a7ae91
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_200.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_225.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_225.png
new file mode 100755
index 0000000000000000000000000000000000000000..0a5aea46e147cc2686bba95bc67029ce3e74c511
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_225.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_250.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_250.png
new file mode 100755
index 0000000000000000000000000000000000000000..98c576e0b532735e5a8b70eb7dce82abafa45c51
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_250.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_275.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_275.png
new file mode 100755
index 0000000000000000000000000000000000000000..1e3bd71f5e24b521b58318435f0af52072d38b3f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_275.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_300.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_300.png
new file mode 100755
index 0000000000000000000000000000000000000000..fb8c8470a7e0046e6742c03fbfb6f0e8fb781ca4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_300.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_325.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_325.png
new file mode 100755
index 0000000000000000000000000000000000000000..e6df9bee953a7a652729af220fa1b757ce42d453
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_325.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_350.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_350.png
new file mode 100755
index 0000000000000000000000000000000000000000..5ad8928b7ff52350479a4ab59d3d8f15c7335549
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_350.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_375.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_375.png
new file mode 100755
index 0000000000000000000000000000000000000000..336dbdc7b36947170e770a8d14630b22ec36326f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_375.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_400.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_400.png
new file mode 100755
index 0000000000000000000000000000000000000000..a21a6ec4d5db6cdf7423ea174670347fab2dcac0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_400.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_425.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_425.png
new file mode 100755
index 0000000000000000000000000000000000000000..0572c6bcb37fc76025f2f8a543e992cbf141ffb9
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_425.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_450.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_450.png
new file mode 100755
index 0000000000000000000000000000000000000000..322e8fd401edc39154f514477a25c3ca16f88d2f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_450.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_475.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_475.png
new file mode 100755
index 0000000000000000000000000000000000000000..f982f547c4316915fcf879c66bb09716b651c1e3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_475.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_500.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_500.png
new file mode 100755
index 0000000000000000000000000000000000000000..9e312eb82663b52924868cfc0da7ff8a032697b0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_500.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_525.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_525.png
new file mode 100755
index 0000000000000000000000000000000000000000..dd23d4c1d9779e6bf2dfcf70f4daac7fbb01de7f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_525.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..b676c5ba1a6b20e6d35d0aa861be11d7ca58078b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..64cca7d90459b0800ff1587b8da7dc6826d724cd
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b198d2de7383afb9c45e20ab6cba92421954e953
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b676c5ba1a6b20e6d35d0aa861be11d7ca58078b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..64cca7d90459b0800ff1587b8da7dc6826d724cd
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..95aa955f55836b5c631c3df07fed00de1830583f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..5faa353128c8056038cf4e67a8b84ff94d4ad192
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..7b3c22a86c58d49bbb233000a43386cda5171e40
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b7b6fc21e373112b7d99644c7955b82f88e19154
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..c04d065a2e293c088c1128c4d571ff7c146790ae
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..3da5e5a6a110e36a610cb349cb3a1e3c5b15bbab
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..99d283534833386b12e0e204cfafade12a55effc
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..43b63c003e83bc1b54f23b9f9a19672140be635e
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-254568340.72204226,254568340.72204226
+X_1,Core 0 state,423352724.377739,423352724.377739
+X_2,Core 1 state,-1464906121.8514736,1464906121.8514736
+X_3,Core 2 state,-411820647.6775989,411820647.6775989
+X_4,Core 3 state,-86790962.96542674,86790962.96542674
+X_5,Core 4 state,-139700113.76335308,139700113.76335308
+X_6,Core 5 state,-1101765301.879651,1101765301.879651
+X_7,Medium Socket or core 6 frequency,626234008.7918454,626234008.7918454
+X_8,Big Socket or core 7 frequency,378085675.28271717,378085675.28271717
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_7,Medium Socket or core 6 frequency,626234008.7918454,626234008.7918454
+X_1,Core 0 state,423352724.377739,423352724.377739
+X_8,Big Socket or core 7 frequency,378085675.28271717,378085675.28271717
+X_4,Core 3 state,-86790962.96542674,86790962.96542674
+X_5,Core 4 state,-139700113.76335308,139700113.76335308
+X_0,frequency level of Little Socket,-254568340.72204226,254568340.72204226
+X_3,Core 2 state,-411820647.6775989,411820647.6775989
+X_6,Core 5 state,-1101765301.879651,1101765301.879651
+X_2,Core 1 state,-1464906121.8514736,1464906121.8514736
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_2,Core 1 state,-1464906121.8514736,1464906121.8514736
+X_6,Core 5 state,-1101765301.879651,1101765301.879651
+X_7,Medium Socket or core 6 frequency,626234008.7918454,626234008.7918454
+X_1,Core 0 state,423352724.377739,423352724.377739
+X_3,Core 2 state,-411820647.6775989,411820647.6775989
+X_8,Big Socket or core 7 frequency,378085675.28271717,378085675.28271717
+X_0,frequency level of Little Socket,-254568340.72204226,254568340.72204226
+X_5,Core 4 state,-139700113.76335308,139700113.76335308
+X_4,Core 3 state,-86790962.96542674,86790962.96542674
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..9c5c1f70f1c78328de4fd2a9a8d1062dddd1bbe0
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,-24302928.47166979,1100470630.687345,1124773559.1590147
+X_1,Core 0 state,-848771512.6321399,3013408220.2701793,3862179732.902319
+X_2,Core 1 state,-573777249.3126062,2994673442.7539153,3568450692.0665216
+X_3,Core 2 state,-672328810.9324038,2211978366.822596,2884307177.755
+X_4,Core 3 state,-608065448.4310292,1064387790.7683651,1672453239.1993942
+X_5,Core 4 state,237598924.2425849,270292673.46136653,32693749.21878162
+X_6,Core 5 state,-1541309076.7006836,2566022079.660638,4107331156.3613214
+X_7,Medium Socket or core 6 frequency,-373430914.66112703,1520981011.0296671,1894411925.6907942
+X_8,Big Socket or core 7 frequency,232690125.75441536,1193597545.8656027,960907420.1111873
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_5,Core 4 state,237598924.2425849,270292673.46136653,32693749.21878162
+X_8,Big Socket or core 7 frequency,232690125.75441536,1193597545.8656027,960907420.1111873
+X_0,frequency level of Little Socket,-24302928.47166979,1100470630.687345,1124773559.1590147
+X_7,Medium Socket or core 6 frequency,-373430914.66112703,1520981011.0296671,1894411925.6907942
+X_2,Core 1 state,-573777249.3126062,2994673442.7539153,3568450692.0665216
+X_4,Core 3 state,-608065448.4310292,1064387790.7683651,1672453239.1993942
+X_3,Core 2 state,-672328810.9324038,2211978366.822596,2884307177.755
+X_1,Core 0 state,-848771512.6321399,3013408220.2701793,3862179732.902319
+X_6,Core 5 state,-1541309076.7006836,2566022079.660638,4107331156.3613214
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,-848771512.6321399,3013408220.2701793,3862179732.902319
+X_2,Core 1 state,-573777249.3126062,2994673442.7539153,3568450692.0665216
+X_6,Core 5 state,-1541309076.7006836,2566022079.660638,4107331156.3613214
+X_3,Core 2 state,-672328810.9324038,2211978366.822596,2884307177.755
+X_7,Medium Socket or core 6 frequency,-373430914.66112703,1520981011.0296671,1894411925.6907942
+X_8,Big Socket or core 7 frequency,232690125.75441536,1193597545.8656027,960907420.1111873
+X_0,frequency level of Little Socket,-24302928.47166979,1100470630.687345,1124773559.1590147
+X_4,Core 3 state,-608065448.4310292,1064387790.7683651,1672453239.1993942
+X_5,Core 4 state,237598924.2425849,270292673.46136653,32693749.21878162
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1541309076.7006836,2566022079.660638,4107331156.3613214
+X_1,Core 0 state,-848771512.6321399,3013408220.2701793,3862179732.902319
+X_2,Core 1 state,-573777249.3126062,2994673442.7539153,3568450692.0665216
+X_3,Core 2 state,-672328810.9324038,2211978366.822596,2884307177.755
+X_7,Medium Socket or core 6 frequency,-373430914.66112703,1520981011.0296671,1894411925.6907942
+X_4,Core 3 state,-608065448.4310292,1064387790.7683651,1672453239.1993942
+X_0,frequency level of Little Socket,-24302928.47166979,1100470630.687345,1124773559.1590147
+X_8,Big Socket or core 7 frequency,232690125.75441536,1193597545.8656027,960907420.1111873
+X_5,Core 4 state,237598924.2425849,270292673.46136653,32693749.21878162
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..6bea52e4215b9d5388b9b6a8e92bfd11386ebded
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..692816f967dba45e7be5382ce823b0cea2f35f89
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..9c72c376d8583e9feeb1116cb460a28768c96a5b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..b9ebb0e7f952d07b91defb033aa64ed81b548ad2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.60_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..93fe128c22a0d1aca32351bae508d1bd7d85dc13
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..0c066b2bfd72878770e2efad8ac5a426d853475c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..1198902fa40d290ca76e9b5a813f9b1bc41123b3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..93fe128c22a0d1aca32351bae508d1bd7d85dc13
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..0c066b2bfd72878770e2efad8ac5a426d853475c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..0050adc774bacba0029f96bf1e517e115192e77c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..5bcb232d51036de8d405aec338887c6cc44350cb
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..7b87fd2ce39242a04af1d46a0bbbc997a6bfa0f1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..86a3d99606ab564e27702f030596ce1686dcefd2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..2a53655deb9efc50c07795b1eefcc95589eaad2b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..d396f3f6c3b444eca56dc81f14541324d377ef62
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..743bad31cedb1d0c97bede6adf3bf5d798cea488
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..fb2e9319b125358237f603e36fc100bece8ad61a
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-930530926.3622773,930530926.3622773
+X_1,Core 0 state,375731659.7575902,375731659.7575902
+X_2,Core 1 state,-591868721.8247347,591868721.8247347
+X_3,Core 2 state,-424828389.40924513,424828389.40924513
+X_4,Core 3 state,-357396323.6746173,357396323.6746173
+X_5,Core 4 state,-395948469.2537131,395948469.2537131
+X_6,Core 5 state,-712676828.1784381,712676828.1784381
+X_7,Medium Socket or core 6 frequency,733057030.6806564,733057030.6806564
+X_8,Big Socket or core 7 frequency,143694139.7730887,143694139.7730887
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_7,Medium Socket or core 6 frequency,733057030.6806564,733057030.6806564
+X_1,Core 0 state,375731659.7575902,375731659.7575902
+X_8,Big Socket or core 7 frequency,143694139.7730887,143694139.7730887
+X_4,Core 3 state,-357396323.6746173,357396323.6746173
+X_5,Core 4 state,-395948469.2537131,395948469.2537131
+X_3,Core 2 state,-424828389.40924513,424828389.40924513
+X_2,Core 1 state,-591868721.8247347,591868721.8247347
+X_6,Core 5 state,-712676828.1784381,712676828.1784381
+X_0,frequency level of Little Socket,-930530926.3622773,930530926.3622773
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-930530926.3622773,930530926.3622773
+X_7,Medium Socket or core 6 frequency,733057030.6806564,733057030.6806564
+X_6,Core 5 state,-712676828.1784381,712676828.1784381
+X_2,Core 1 state,-591868721.8247347,591868721.8247347
+X_3,Core 2 state,-424828389.40924513,424828389.40924513
+X_5,Core 4 state,-395948469.2537131,395948469.2537131
+X_1,Core 0 state,375731659.7575902,375731659.7575902
+X_4,Core 3 state,-357396323.6746173,357396323.6746173
+X_8,Big Socket or core 7 frequency,143694139.7730887,143694139.7730887
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..20f890b4da85055bcb23f69c61cc53378f1409aa
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,-171650978.87577713,687146000.753648,858796979.6294252
+X_1,Core 0 state,-1445871294.5888696,2963981474.62224,4409852769.211109
+X_2,Core 1 state,51795453.52747224,2275886321.7911944,2224090868.2637224
+X_3,Core 2 state,-48973397.68558257,2465873997.9576936,2514847395.643276
+X_4,Core 3 state,-1015288897.669305,1625946240.900149,2641235138.569454
+X_5,Core 4 state,-326581814.5213657,311453620.8990408,638035435.4204066
+X_6,Core 5 state,-2475429562.4600945,3004697191.2506056,5480126753.7107
+X_7,Medium Socket or core 6 frequency,-152412312.96063545,1551349381.1822784,1703761694.1429138
+X_8,Big Socket or core 7 frequency,1397843595.1110857,1034416032.2752306,363427562.835855
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,1397843595.1110857,1034416032.2752306,363427562.835855
+X_2,Core 1 state,51795453.52747224,2275886321.7911944,2224090868.2637224
+X_3,Core 2 state,-48973397.68558257,2465873997.9576936,2514847395.643276
+X_7,Medium Socket or core 6 frequency,-152412312.96063545,1551349381.1822784,1703761694.1429138
+X_0,frequency level of Little Socket,-171650978.87577713,687146000.753648,858796979.6294252
+X_5,Core 4 state,-326581814.5213657,311453620.8990408,638035435.4204066
+X_4,Core 3 state,-1015288897.669305,1625946240.900149,2641235138.569454
+X_1,Core 0 state,-1445871294.5888696,2963981474.62224,4409852769.211109
+X_6,Core 5 state,-2475429562.4600945,3004697191.2506056,5480126753.7107
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2475429562.4600945,3004697191.2506056,5480126753.7107
+X_1,Core 0 state,-1445871294.5888696,2963981474.62224,4409852769.211109
+X_3,Core 2 state,-48973397.68558257,2465873997.9576936,2514847395.643276
+X_2,Core 1 state,51795453.52747224,2275886321.7911944,2224090868.2637224
+X_4,Core 3 state,-1015288897.669305,1625946240.900149,2641235138.569454
+X_7,Medium Socket or core 6 frequency,-152412312.96063545,1551349381.1822784,1703761694.1429138
+X_8,Big Socket or core 7 frequency,1397843595.1110857,1034416032.2752306,363427562.835855
+X_0,frequency level of Little Socket,-171650978.87577713,687146000.753648,858796979.6294252
+X_5,Core 4 state,-326581814.5213657,311453620.8990408,638035435.4204066
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2475429562.4600945,3004697191.2506056,5480126753.7107
+X_1,Core 0 state,-1445871294.5888696,2963981474.62224,4409852769.211109
+X_4,Core 3 state,-1015288897.669305,1625946240.900149,2641235138.569454
+X_3,Core 2 state,-48973397.68558257,2465873997.9576936,2514847395.643276
+X_2,Core 1 state,51795453.52747224,2275886321.7911944,2224090868.2637224
+X_7,Medium Socket or core 6 frequency,-152412312.96063545,1551349381.1822784,1703761694.1429138
+X_0,frequency level of Little Socket,-171650978.87577713,687146000.753648,858796979.6294252
+X_5,Core 4 state,-326581814.5213657,311453620.8990408,638035435.4204066
+X_8,Big Socket or core 7 frequency,1397843595.1110857,1034416032.2752306,363427562.835855
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..eaf9e40255ae67b1ecc33aba2931f26c00292e9d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..33347b1aef806df33f8f1a7ac6e7ab21c57d25ec
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..1c0c0f16464f97cfde76fd60281fbe3b667051de
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..5c848b5e48b33b4b0d659333652393f29653b95c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.67_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..b1068f426e690bffc3f3be8b995c2d3fb1c1fb06
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..3f86d536bc90623cbee42608185fd9769ec20cee
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..18bb5da2fb478c054d24d1ba8c3cd19cb89beed3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b1068f426e690bffc3f3be8b995c2d3fb1c1fb06
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..3f86d536bc90623cbee42608185fd9769ec20cee
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..eb83336c004d33f48b20043eddbd17446b179c9a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..c158af7da1cd7865d101751faa13069b5a9c1fad
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..507dd1e7394ee708aeceaf1d046b020112d5a869
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..619c79ea19b56edcb4e5bbcad01c96e25e7224e6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..67fc8f3f5167f2d35564aba17fff9c327114c77b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..ff7ee85bf115f5f75b652982812414ed7569b3e8
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..3523137622b82d2283afa07ba79eccd39d58fad8
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..0b90325adbb05e40d81f548b7a820c9156476c2a
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1302248688.5165067,1302248688.5165067
+X_1,Core 0 state,1162332230.2607567,1162332230.2607567
+X_2,Core 1 state,51955658.160334505,51955658.160334505
+X_3,Core 2 state,-33662317.383705415,33662317.383705415
+X_4,Core 3 state,-610105136.3702084,610105136.3702084
+X_5,Core 4 state,-1195468936.8333564,1195468936.8333564
+X_6,Core 5 state,205252249.7006661,205252249.7006661
+X_7,Medium Socket or core 6 frequency,64579666.38142292,64579666.38142292
+X_8,Big Socket or core 7 frequency,790048786.6840804,790048786.6840804
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1162332230.2607567,1162332230.2607567
+X_8,Big Socket or core 7 frequency,790048786.6840804,790048786.6840804
+X_6,Core 5 state,205252249.7006661,205252249.7006661
+X_7,Medium Socket or core 6 frequency,64579666.38142292,64579666.38142292
+X_2,Core 1 state,51955658.160334505,51955658.160334505
+X_3,Core 2 state,-33662317.383705415,33662317.383705415
+X_4,Core 3 state,-610105136.3702084,610105136.3702084
+X_5,Core 4 state,-1195468936.8333564,1195468936.8333564
+X_0,frequency level of Little Socket,-1302248688.5165067,1302248688.5165067
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1302248688.5165067,1302248688.5165067
+X_5,Core 4 state,-1195468936.8333564,1195468936.8333564
+X_1,Core 0 state,1162332230.2607567,1162332230.2607567
+X_8,Big Socket or core 7 frequency,790048786.6840804,790048786.6840804
+X_4,Core 3 state,-610105136.3702084,610105136.3702084
+X_6,Core 5 state,205252249.7006661,205252249.7006661
+X_7,Medium Socket or core 6 frequency,64579666.38142292,64579666.38142292
+X_2,Core 1 state,51955658.160334505,51955658.160334505
+X_3,Core 2 state,-33662317.383705415,33662317.383705415
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..11aaeac4a5ce0612e7001f63c5003fe2f426fb0f
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,247759097.2093919,892735213.3077258,644976116.0983338
+X_1,Core 0 state,-658144683.3498574,2791580786.4727564,3449725469.8226137
+X_2,Core 1 state,-90652027.22433916,2443397758.3399205,2534049785.5642595
+X_3,Core 2 state,-43956891.53552361,2119011679.3593771,2162968570.894901
+X_4,Core 3 state,65251111.76502738,1204212006.673268,1138960894.9082408
+X_5,Core 4 state,-393753138.1512383,475496608.48126996,869249746.6325083
+X_6,Core 5 state,-1563081660.921212,2563071659.59,4126153320.5112123
+X_7,Medium Socket or core 6 frequency,410820978.98017323,1844174557.159548,1433353578.1793747
+X_8,Big Socket or core 7 frequency,569435292.9744079,761359433.2050244,191924140.23061645
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,569435292.9744079,761359433.2050244,191924140.23061645
+X_7,Medium Socket or core 6 frequency,410820978.98017323,1844174557.159548,1433353578.1793747
+X_0,frequency level of Little Socket,247759097.2093919,892735213.3077258,644976116.0983338
+X_4,Core 3 state,65251111.76502738,1204212006.673268,1138960894.9082408
+X_3,Core 2 state,-43956891.53552361,2119011679.3593771,2162968570.894901
+X_2,Core 1 state,-90652027.22433916,2443397758.3399205,2534049785.5642595
+X_5,Core 4 state,-393753138.1512383,475496608.48126996,869249746.6325083
+X_1,Core 0 state,-658144683.3498574,2791580786.4727564,3449725469.8226137
+X_6,Core 5 state,-1563081660.921212,2563071659.59,4126153320.5112123
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,-658144683.3498574,2791580786.4727564,3449725469.8226137
+X_6,Core 5 state,-1563081660.921212,2563071659.59,4126153320.5112123
+X_2,Core 1 state,-90652027.22433916,2443397758.3399205,2534049785.5642595
+X_3,Core 2 state,-43956891.53552361,2119011679.3593771,2162968570.894901
+X_7,Medium Socket or core 6 frequency,410820978.98017323,1844174557.159548,1433353578.1793747
+X_4,Core 3 state,65251111.76502738,1204212006.673268,1138960894.9082408
+X_0,frequency level of Little Socket,247759097.2093919,892735213.3077258,644976116.0983338
+X_8,Big Socket or core 7 frequency,569435292.9744079,761359433.2050244,191924140.23061645
+X_5,Core 4 state,-393753138.1512383,475496608.48126996,869249746.6325083
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1563081660.921212,2563071659.59,4126153320.5112123
+X_1,Core 0 state,-658144683.3498574,2791580786.4727564,3449725469.8226137
+X_2,Core 1 state,-90652027.22433916,2443397758.3399205,2534049785.5642595
+X_3,Core 2 state,-43956891.53552361,2119011679.3593771,2162968570.894901
+X_7,Medium Socket or core 6 frequency,410820978.98017323,1844174557.159548,1433353578.1793747
+X_4,Core 3 state,65251111.76502738,1204212006.673268,1138960894.9082408
+X_5,Core 4 state,-393753138.1512383,475496608.48126996,869249746.6325083
+X_0,frequency level of Little Socket,247759097.2093919,892735213.3077258,644976116.0983338
+X_8,Big Socket or core 7 frequency,569435292.9744079,761359433.2050244,191924140.23061645
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..c9094f6b250e8605fd84fe520b1b45434ba4ffd1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..59ff599ed49792d2cebbfc7e28136e3e3a64bcd6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..1f7349e0fc3e88de107924accd06d883176b17fb
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..b09dfdff9e5bda77dd1d80e89b9305449f2d8bdc
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.68_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..eb7c4ad23dcff527eda809ab8a2f16d7618bf9c4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..8123341095018421d4f38114f15961b0e3c80df5
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..f69f7d8bc84b34af761a1d6cfaaac696b760c991
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..eb7c4ad23dcff527eda809ab8a2f16d7618bf9c4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..8123341095018421d4f38114f15961b0e3c80df5
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..d44cbc58380ff9d137e147fba549d59006f93f03
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..bc1ad12bba955b64c8d931e689817abaaad03a03
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..fd31b756243001887d971405e24483594ef7d6dc
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..703cf6ddbdc8df5eb341e6a2fb9a8b2bf720889f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..45d65006cf4ea48306dabfbf4cfba810b16dbcb0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9f6d3cd08a4dead829a76d4994640ca88d282baa
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..12d4eb75951bc10712cab99b0e14295fc598eaf4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..a74262479683e3d3fb82b31165afc295bee51a5e
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1117269534.0663557,1117269534.0663557
+X_1,Core 0 state,1131604011.158693,1131604011.158693
+X_2,Core 1 state,-173503576.1408117,173503576.1408117
+X_3,Core 2 state,-219059025.7191286,219059025.7191286
+X_4,Core 3 state,-90906285.66594411,90906285.66594411
+X_5,Core 4 state,822729025.2075928,822729025.2075928
+X_6,Core 5 state,-859372240.4557033,859372240.4557033
+X_7,Medium Socket or core 6 frequency,391375460.77486295,391375460.77486295
+X_8,Big Socket or core 7 frequency,133621249.62755601,133621249.62755601
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1131604011.158693,1131604011.158693
+X_5,Core 4 state,822729025.2075928,822729025.2075928
+X_7,Medium Socket or core 6 frequency,391375460.77486295,391375460.77486295
+X_8,Big Socket or core 7 frequency,133621249.62755601,133621249.62755601
+X_4,Core 3 state,-90906285.66594411,90906285.66594411
+X_2,Core 1 state,-173503576.1408117,173503576.1408117
+X_3,Core 2 state,-219059025.7191286,219059025.7191286
+X_6,Core 5 state,-859372240.4557033,859372240.4557033
+X_0,frequency level of Little Socket,-1117269534.0663557,1117269534.0663557
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1131604011.158693,1131604011.158693
+X_0,frequency level of Little Socket,-1117269534.0663557,1117269534.0663557
+X_6,Core 5 state,-859372240.4557033,859372240.4557033
+X_5,Core 4 state,822729025.2075928,822729025.2075928
+X_7,Medium Socket or core 6 frequency,391375460.77486295,391375460.77486295
+X_3,Core 2 state,-219059025.7191286,219059025.7191286
+X_2,Core 1 state,-173503576.1408117,173503576.1408117
+X_8,Big Socket or core 7 frequency,133621249.62755601,133621249.62755601
+X_4,Core 3 state,-90906285.66594411,90906285.66594411
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..55e070d2b8fb7e229ecb0a07a6c2c237f1f3e0ed
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,358391135.0128328,1008991682.6076103,650600547.5947776
+X_1,Core 0 state,-55218601.661214955,2269347511.2771297,2324566112.9383445
+X_2,Core 1 state,300204910.4703489,2489757084.4162264,2189552173.9458776
+X_3,Core 2 state,1143296516.4597847,1529200364.6708114,385903848.21102667
+X_4,Core 3 state,-960980385.4522748,2001653223.458452,2962633608.9107265
+X_5,Core 4 state,63988272.50466162,1358034862.678526,1294046590.1738644
+X_6,Core 5 state,-2352950829.446074,2116477916.0939243,4469428745.539998
+X_7,Medium Socket or core 6 frequency,699302189.3879458,1777130482.3828113,1077828292.9948654
+X_8,Big Socket or core 7 frequency,1734586059.3456295,841070691.5499505,893515367.795679
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,1734586059.3456295,841070691.5499505,893515367.795679
+X_3,Core 2 state,1143296516.4597847,1529200364.6708114,385903848.21102667
+X_7,Medium Socket or core 6 frequency,699302189.3879458,1777130482.3828113,1077828292.9948654
+X_0,frequency level of Little Socket,358391135.0128328,1008991682.6076103,650600547.5947776
+X_2,Core 1 state,300204910.4703489,2489757084.4162264,2189552173.9458776
+X_5,Core 4 state,63988272.50466162,1358034862.678526,1294046590.1738644
+X_1,Core 0 state,-55218601.661214955,2269347511.2771297,2324566112.9383445
+X_4,Core 3 state,-960980385.4522748,2001653223.458452,2962633608.9107265
+X_6,Core 5 state,-2352950829.446074,2116477916.0939243,4469428745.539998
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_2,Core 1 state,300204910.4703489,2489757084.4162264,2189552173.9458776
+X_1,Core 0 state,-55218601.661214955,2269347511.2771297,2324566112.9383445
+X_6,Core 5 state,-2352950829.446074,2116477916.0939243,4469428745.539998
+X_4,Core 3 state,-960980385.4522748,2001653223.458452,2962633608.9107265
+X_7,Medium Socket or core 6 frequency,699302189.3879458,1777130482.3828113,1077828292.9948654
+X_3,Core 2 state,1143296516.4597847,1529200364.6708114,385903848.21102667
+X_5,Core 4 state,63988272.50466162,1358034862.678526,1294046590.1738644
+X_0,frequency level of Little Socket,358391135.0128328,1008991682.6076103,650600547.5947776
+X_8,Big Socket or core 7 frequency,1734586059.3456295,841070691.5499505,893515367.795679
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2352950829.446074,2116477916.0939243,4469428745.539998
+X_4,Core 3 state,-960980385.4522748,2001653223.458452,2962633608.9107265
+X_1,Core 0 state,-55218601.661214955,2269347511.2771297,2324566112.9383445
+X_2,Core 1 state,300204910.4703489,2489757084.4162264,2189552173.9458776
+X_5,Core 4 state,63988272.50466162,1358034862.678526,1294046590.1738644
+X_7,Medium Socket or core 6 frequency,699302189.3879458,1777130482.3828113,1077828292.9948654
+X_8,Big Socket or core 7 frequency,1734586059.3456295,841070691.5499505,893515367.795679
+X_0,frequency level of Little Socket,358391135.0128328,1008991682.6076103,650600547.5947776
+X_3,Core 2 state,1143296516.4597847,1529200364.6708114,385903848.21102667
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..14a212afff81948086a584841ed302e89f1519cb
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..8bd2c9dc2b2800907db8ce14c21f35f15e063ee9
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..07364aaa3f6bd876f8067b9e411bd654a24b60ec
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..bb3f864972b393c02b0881bab125bd30ffd30223
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.74_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..573c937a25797af1d8a29face134eb99face55c2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..0e132f9cf81f9613c4e6cb756558441a8e32de43
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..99e63631088c2afc4cc82d66d321281d86fd4c76
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..573c937a25797af1d8a29face134eb99face55c2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..0e132f9cf81f9613c4e6cb756558441a8e32de43
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..f2d0936fdcc79997980b2a22837ef1a4e0f3f760
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..0f5314c88db44bb2593244ebaffa0566afe955d6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..0f27f0028d57c97c912159c9bd3d5e04b8fa1a28
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..cd6a07c3470ddd29b21d4f4919263181201d1527
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..864f54eb8db69eb9c832cfa158c66172059d83e1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..cdbe1b5505ef596d600f268219b9a0ac810a0f45
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..bc31130fbfa01c07bd8ca8c3dd8c9021292edb4b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..7e00e8bc67895e591f520553a5a2b8ecab203ff0
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1391298948.8166475,1391298948.8166475
+X_1,Core 0 state,750149154.3042555,750149154.3042555
+X_2,Core 1 state,-107553122.81035838,107553122.81035838
+X_3,Core 2 state,-1318347910.3446991,1318347910.3446991
+X_4,Core 3 state,435706436.9187136,435706436.9187136
+X_5,Core 4 state,-348505861.92560476,348505861.92560476
+X_6,Core 5 state,214660005.46119523,214660005.46119523
+X_7,Medium Socket or core 6 frequency,493791230.6147071,493791230.6147071
+X_8,Big Socket or core 7 frequency,338264775.64442056,338264775.64442056
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,750149154.3042555,750149154.3042555
+X_7,Medium Socket or core 6 frequency,493791230.6147071,493791230.6147071
+X_4,Core 3 state,435706436.9187136,435706436.9187136
+X_8,Big Socket or core 7 frequency,338264775.64442056,338264775.64442056
+X_6,Core 5 state,214660005.46119523,214660005.46119523
+X_2,Core 1 state,-107553122.81035838,107553122.81035838
+X_5,Core 4 state,-348505861.92560476,348505861.92560476
+X_3,Core 2 state,-1318347910.3446991,1318347910.3446991
+X_0,frequency level of Little Socket,-1391298948.8166475,1391298948.8166475
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1391298948.8166475,1391298948.8166475
+X_3,Core 2 state,-1318347910.3446991,1318347910.3446991
+X_1,Core 0 state,750149154.3042555,750149154.3042555
+X_7,Medium Socket or core 6 frequency,493791230.6147071,493791230.6147071
+X_4,Core 3 state,435706436.9187136,435706436.9187136
+X_5,Core 4 state,-348505861.92560476,348505861.92560476
+X_8,Big Socket or core 7 frequency,338264775.64442056,338264775.64442056
+X_6,Core 5 state,214660005.46119523,214660005.46119523
+X_2,Core 1 state,-107553122.81035838,107553122.81035838
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..f0287a00effb5c9688da7bbb68982c5ad050bd8c
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,-648058272.4887108,800796291.1984218,1448854563.6871326
+X_1,Core 0 state,-563300924.8341497,2378172457.9370346,2941473382.7711844
+X_2,Core 1 state,75716454.45285082,2445920827.6867075,2370204373.2338567
+X_3,Core 2 state,100147121.69420162,2585640294.2857003,2485493172.591499
+X_4,Core 3 state,11044893.502585497,1752457228.8983686,1741412335.3957832
+X_5,Core 4 state,695285198.573055,777195678.879354,81910480.30629897
+X_6,Core 5 state,-612429861.518657,2222863625.365054,2835293486.883711
+X_7,Medium Socket or core 6 frequency,403175380.397992,1511948607.6930695,1108773227.2950773
+X_8,Big Socket or core 7 frequency,1642173772.406906,1005244623.4741137,636929148.9327922
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,1642173772.406906,1005244623.4741137,636929148.9327922
+X_5,Core 4 state,695285198.573055,777195678.879354,81910480.30629897
+X_7,Medium Socket or core 6 frequency,403175380.397992,1511948607.6930695,1108773227.2950773
+X_3,Core 2 state,100147121.69420162,2585640294.2857003,2485493172.591499
+X_2,Core 1 state,75716454.45285082,2445920827.6867075,2370204373.2338567
+X_4,Core 3 state,11044893.502585497,1752457228.8983686,1741412335.3957832
+X_1,Core 0 state,-563300924.8341497,2378172457.9370346,2941473382.7711844
+X_6,Core 5 state,-612429861.518657,2222863625.365054,2835293486.883711
+X_0,frequency level of Little Socket,-648058272.4887108,800796291.1984218,1448854563.6871326
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_3,Core 2 state,100147121.69420162,2585640294.2857003,2485493172.591499
+X_2,Core 1 state,75716454.45285082,2445920827.6867075,2370204373.2338567
+X_1,Core 0 state,-563300924.8341497,2378172457.9370346,2941473382.7711844
+X_6,Core 5 state,-612429861.518657,2222863625.365054,2835293486.883711
+X_4,Core 3 state,11044893.502585497,1752457228.8983686,1741412335.3957832
+X_7,Medium Socket or core 6 frequency,403175380.397992,1511948607.6930695,1108773227.2950773
+X_8,Big Socket or core 7 frequency,1642173772.406906,1005244623.4741137,636929148.9327922
+X_0,frequency level of Little Socket,-648058272.4887108,800796291.1984218,1448854563.6871326
+X_5,Core 4 state,695285198.573055,777195678.879354,81910480.30629897
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,-563300924.8341497,2378172457.9370346,2941473382.7711844
+X_6,Core 5 state,-612429861.518657,2222863625.365054,2835293486.883711
+X_3,Core 2 state,100147121.69420162,2585640294.2857003,2485493172.591499
+X_2,Core 1 state,75716454.45285082,2445920827.6867075,2370204373.2338567
+X_4,Core 3 state,11044893.502585497,1752457228.8983686,1741412335.3957832
+X_0,frequency level of Little Socket,-648058272.4887108,800796291.1984218,1448854563.6871326
+X_7,Medium Socket or core 6 frequency,403175380.397992,1511948607.6930695,1108773227.2950773
+X_8,Big Socket or core 7 frequency,1642173772.406906,1005244623.4741137,636929148.9327922
+X_5,Core 4 state,695285198.573055,777195678.879354,81910480.30629897
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ebfee4991db2b07f085357777946a2fc611f7c94
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..190c5c934ab0d5d96163213bec4a452ef938995e
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..db2d331560155516a1895b9e4516ebdb82ebd89d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..f67f0636648dfaf8e999273976d3fe5291a2f592
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.78_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..5a5e405fe21adec61fa77a31f64779d29ea602c4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..c0708d3bf21395ee928adcd14e80db428c83fc68
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..508e0ea3063760d258ceedda22e49ff2c6ef196f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..5a5e405fe21adec61fa77a31f64779d29ea602c4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..c0708d3bf21395ee928adcd14e80db428c83fc68
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..e9e1e914b75f27e655e6f262786a39c7a96caa56
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..f77dd8eaee8c6b4e7c8502ed60a03342f603d1f4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9d7c3b1400b62b8e351d2236341626b0990cf5b7
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4f7614ac84c4a3b55636313817484e1ea7f95f51
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..24b24dfdba2f8d80fa0ef24c419fa34dedc248e0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..89f93036ae662c30d35fad47be8e9766b102d148
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..48418bfbe590fd612d4227ca78a8df4e3433c839
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..2fdd8a4b8fbf832b1960b3a5e8f853ac876f2a62
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1429766950.178037,1429766950.178037
+X_1,Core 0 state,1752717741.2699828,1752717741.2699828
+X_2,Core 1 state,667321754.5563899,667321754.5563899
+X_3,Core 2 state,-189128973.73131338,189128973.73131338
+X_4,Core 3 state,-682119539.7883741,682119539.7883741
+X_5,Core 4 state,197471303.94952786,197471303.94952786
+X_6,Core 5 state,-857393800.6119171,857393800.6119171
+X_7,Medium Socket or core 6 frequency,187350120.02905306,187350120.02905306
+X_8,Big Socket or core 7 frequency,199969663.6693504,199969663.6693504
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1752717741.2699828,1752717741.2699828
+X_2,Core 1 state,667321754.5563899,667321754.5563899
+X_8,Big Socket or core 7 frequency,199969663.6693504,199969663.6693504
+X_5,Core 4 state,197471303.94952786,197471303.94952786
+X_7,Medium Socket or core 6 frequency,187350120.02905306,187350120.02905306
+X_3,Core 2 state,-189128973.73131338,189128973.73131338
+X_4,Core 3 state,-682119539.7883741,682119539.7883741
+X_6,Core 5 state,-857393800.6119171,857393800.6119171
+X_0,frequency level of Little Socket,-1429766950.178037,1429766950.178037
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1752717741.2699828,1752717741.2699828
+X_0,frequency level of Little Socket,-1429766950.178037,1429766950.178037
+X_6,Core 5 state,-857393800.6119171,857393800.6119171
+X_4,Core 3 state,-682119539.7883741,682119539.7883741
+X_2,Core 1 state,667321754.5563899,667321754.5563899
+X_8,Big Socket or core 7 frequency,199969663.6693504,199969663.6693504
+X_5,Core 4 state,197471303.94952786,197471303.94952786
+X_3,Core 2 state,-189128973.73131338,189128973.73131338
+X_7,Medium Socket or core 6 frequency,187350120.02905306,187350120.02905306
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..91f04373cc35a49713499055e36d6b6421bffe76
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,925163054.8466082,874121960.6927992,51041094.15380895
+X_1,Core 0 state,-136779197.83898953,2507500599.9860473,2644279797.825037
+X_2,Core 1 state,197308384.13765517,2213552126.0444465,2016243741.9067912
+X_3,Core 2 state,459180931.0805988,1473863343.2031279,1014682412.122529
+X_4,Core 3 state,-983839479.6052991,2002628825.3079872,2986468304.913286
+X_5,Core 4 state,-729117795.5356593,1081065241.0019073,1810183036.5375667
+X_6,Core 5 state,-1647672844.9930122,2548714587.15103,4196387432.144042
+X_7,Medium Socket or core 6 frequency,976990110.3278319,1726946523.2763584,749956412.9485265
+X_8,Big Socket or core 7 frequency,2263978995.1491833,968628620.8885312,1295350374.260652
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2263978995.1491833,968628620.8885312,1295350374.260652
+X_7,Medium Socket or core 6 frequency,976990110.3278319,1726946523.2763584,749956412.9485265
+X_0,frequency level of Little Socket,925163054.8466082,874121960.6927992,51041094.15380895
+X_3,Core 2 state,459180931.0805988,1473863343.2031279,1014682412.122529
+X_2,Core 1 state,197308384.13765517,2213552126.0444465,2016243741.9067912
+X_1,Core 0 state,-136779197.83898953,2507500599.9860473,2644279797.825037
+X_5,Core 4 state,-729117795.5356593,1081065241.0019073,1810183036.5375667
+X_4,Core 3 state,-983839479.6052991,2002628825.3079872,2986468304.913286
+X_6,Core 5 state,-1647672844.9930122,2548714587.15103,4196387432.144042
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1647672844.9930122,2548714587.15103,4196387432.144042
+X_1,Core 0 state,-136779197.83898953,2507500599.9860473,2644279797.825037
+X_2,Core 1 state,197308384.13765517,2213552126.0444465,2016243741.9067912
+X_4,Core 3 state,-983839479.6052991,2002628825.3079872,2986468304.913286
+X_7,Medium Socket or core 6 frequency,976990110.3278319,1726946523.2763584,749956412.9485265
+X_3,Core 2 state,459180931.0805988,1473863343.2031279,1014682412.122529
+X_5,Core 4 state,-729117795.5356593,1081065241.0019073,1810183036.5375667
+X_8,Big Socket or core 7 frequency,2263978995.1491833,968628620.8885312,1295350374.260652
+X_0,frequency level of Little Socket,925163054.8466082,874121960.6927992,51041094.15380895
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1647672844.9930122,2548714587.15103,4196387432.144042
+X_4,Core 3 state,-983839479.6052991,2002628825.3079872,2986468304.913286
+X_1,Core 0 state,-136779197.83898953,2507500599.9860473,2644279797.825037
+X_2,Core 1 state,197308384.13765517,2213552126.0444465,2016243741.9067912
+X_5,Core 4 state,-729117795.5356593,1081065241.0019073,1810183036.5375667
+X_8,Big Socket or core 7 frequency,2263978995.1491833,968628620.8885312,1295350374.260652
+X_3,Core 2 state,459180931.0805988,1473863343.2031279,1014682412.122529
+X_7,Medium Socket or core 6 frequency,976990110.3278319,1726946523.2763584,749956412.9485265
+X_0,frequency level of Little Socket,925163054.8466082,874121960.6927992,51041094.15380895
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..43c734c04349b972c5a275922a5930e0a8994f7f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..3473f88ea05785c6b21184ad4d6d6dc9f76b6141
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..9108fdffe3dad02029d01881525a3b57d629f2cc
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..61ddc18d0f1081f5fc963f67d785eb26d78aea7e
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.80_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..4dc18a31ed90614bb59424aee8fdff934b151a76
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..b47e14ff8c2fa94f7b13b0643041ae9de7a6a75f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..840f4672e4cd28ce02ee7fd55cda6ebc26d20257
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4dc18a31ed90614bb59424aee8fdff934b151a76
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..b47e14ff8c2fa94f7b13b0643041ae9de7a6a75f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..de4a06a5a94fc29bc58e270bbb68f97553349164
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..37d775ccdcf20dadddee5732352f3c179e4723e1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..fc5f78bf4a72cee85f1510d1ff37e211be819e16
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..0b6cca9f6f63e0672790e5d8946b601a5759e3df
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..aaba0162e1edce5a49fbedab024e3fd354f36296
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..e863e4b7bf771f51e08033dfabbf25f32bf8a079
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..bfb472ca4650aaebdc3e2fc1f850f2820ad4ba6a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..211af34270258efaf5b2740a83b5c45338f7b498
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-522746275.70211506,522746275.70211506
+X_1,Core 0 state,1556928765.080413,1556928765.080413
+X_2,Core 1 state,-1068797091.4579843,1068797091.4579843
+X_3,Core 2 state,-1275692183.4677234,1275692183.4677234
+X_4,Core 3 state,-470084384.5022531,470084384.5022531
+X_5,Core 4 state,-147218638.21377346,147218638.21377346
+X_6,Core 5 state,-1361994084.222492,1361994084.222492
+X_7,Medium Socket or core 6 frequency,792967381.9594053,792967381.9594053
+X_8,Big Socket or core 7 frequency,175442572.10140774,175442572.10140774
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1556928765.080413,1556928765.080413
+X_7,Medium Socket or core 6 frequency,792967381.9594053,792967381.9594053
+X_8,Big Socket or core 7 frequency,175442572.10140774,175442572.10140774
+X_5,Core 4 state,-147218638.21377346,147218638.21377346
+X_4,Core 3 state,-470084384.5022531,470084384.5022531
+X_0,frequency level of Little Socket,-522746275.70211506,522746275.70211506
+X_2,Core 1 state,-1068797091.4579843,1068797091.4579843
+X_3,Core 2 state,-1275692183.4677234,1275692183.4677234
+X_6,Core 5 state,-1361994084.222492,1361994084.222492
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1556928765.080413,1556928765.080413
+X_6,Core 5 state,-1361994084.222492,1361994084.222492
+X_3,Core 2 state,-1275692183.4677234,1275692183.4677234
+X_2,Core 1 state,-1068797091.4579843,1068797091.4579843
+X_7,Medium Socket or core 6 frequency,792967381.9594053,792967381.9594053
+X_0,frequency level of Little Socket,-522746275.70211506,522746275.70211506
+X_4,Core 3 state,-470084384.5022531,470084384.5022531
+X_8,Big Socket or core 7 frequency,175442572.10140774,175442572.10140774
+X_5,Core 4 state,-147218638.21377346,147218638.21377346
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..5b6bc5ead7803950e6bd2427d4df6e161d31f927
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,-96698343.67767243,885506254.043159,982204597.7208314
+X_1,Core 0 state,-904887585.3064551,2276947634.660237,3181835219.966692
+X_2,Core 1 state,-554009219.3722111,2512271661.4532614,3066280880.8254724
+X_3,Core 2 state,-419626092.5013106,2773671088.13172,3193297180.633031
+X_4,Core 3 state,-717348762.2809161,1072103391.2006868,1789452153.481603
+X_5,Core 4 state,-540336317.3364457,880156499.8830601,1420492817.2195058
+X_6,Core 5 state,-1583755935.7452784,2089054071.6337729,3672810007.379051
+X_7,Medium Socket or core 6 frequency,-355248662.9748347,1702258716.6190848,2057507379.5939195
+X_8,Big Socket or core 7 frequency,1058399698.5446509,949586670.9887613,108813027.5558896
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,1058399698.5446509,949586670.9887613,108813027.5558896
+X_0,frequency level of Little Socket,-96698343.67767243,885506254.043159,982204597.7208314
+X_7,Medium Socket or core 6 frequency,-355248662.9748347,1702258716.6190848,2057507379.5939195
+X_3,Core 2 state,-419626092.5013106,2773671088.13172,3193297180.633031
+X_5,Core 4 state,-540336317.3364457,880156499.8830601,1420492817.2195058
+X_2,Core 1 state,-554009219.3722111,2512271661.4532614,3066280880.8254724
+X_4,Core 3 state,-717348762.2809161,1072103391.2006868,1789452153.481603
+X_1,Core 0 state,-904887585.3064551,2276947634.660237,3181835219.966692
+X_6,Core 5 state,-1583755935.7452784,2089054071.6337729,3672810007.379051
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_3,Core 2 state,-419626092.5013106,2773671088.13172,3193297180.633031
+X_2,Core 1 state,-554009219.3722111,2512271661.4532614,3066280880.8254724
+X_1,Core 0 state,-904887585.3064551,2276947634.660237,3181835219.966692
+X_6,Core 5 state,-1583755935.7452784,2089054071.6337729,3672810007.379051
+X_7,Medium Socket or core 6 frequency,-355248662.9748347,1702258716.6190848,2057507379.5939195
+X_4,Core 3 state,-717348762.2809161,1072103391.2006868,1789452153.481603
+X_8,Big Socket or core 7 frequency,1058399698.5446509,949586670.9887613,108813027.5558896
+X_0,frequency level of Little Socket,-96698343.67767243,885506254.043159,982204597.7208314
+X_5,Core 4 state,-540336317.3364457,880156499.8830601,1420492817.2195058
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1583755935.7452784,2089054071.6337729,3672810007.379051
+X_3,Core 2 state,-419626092.5013106,2773671088.13172,3193297180.633031
+X_1,Core 0 state,-904887585.3064551,2276947634.660237,3181835219.966692
+X_2,Core 1 state,-554009219.3722111,2512271661.4532614,3066280880.8254724
+X_7,Medium Socket or core 6 frequency,-355248662.9748347,1702258716.6190848,2057507379.5939195
+X_4,Core 3 state,-717348762.2809161,1072103391.2006868,1789452153.481603
+X_5,Core 4 state,-540336317.3364457,880156499.8830601,1420492817.2195058
+X_0,frequency level of Little Socket,-96698343.67767243,885506254.043159,982204597.7208314
+X_8,Big Socket or core 7 frequency,1058399698.5446509,949586670.9887613,108813027.5558896
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ccf8168a6071b88c2651dd19de725c4a30720ac9
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..eccc25252fab139c0c20199ba545ec6ed1e338d4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..57b26df749fcddb2fcb9492fd6b18d3181c8f176
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..fbb7c3ffa836ec2196b399928f27522da6c8d191
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.81_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ed3da2dc45aef0e81e5abec6fc1fb81f7793f9d8
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..9b92a1debaafc05322fc1188b975bfdbe4a7fac1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..8e2879a207171a0b43e42203e868dd7d4cf75f39
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..ed3da2dc45aef0e81e5abec6fc1fb81f7793f9d8
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..9b92a1debaafc05322fc1188b975bfdbe4a7fac1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9f4f933c089169befa5e82577d56e82534f6c8a0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..22f9a3db4650a5132ed653ae067c3f64d01be961
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..db1942b154d80b382888136c87dea4114771699a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4ae4278a8771b0330887273679e04b40c7559f41
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..a4257610727ba3dbee3ef482d083940887b8b35f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9e7fa18a02ff1ab0cf174340de497195331431c6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..11f05433c54af6b0dd04717c3d897b8a230f6053
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..ace14cdde7d86a6f61557415f9f5ac03d07ad42e
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-461590936.1714992,461590936.1714992
+X_1,Core 0 state,2232622938.3714504,2232622938.3714504
+X_2,Core 1 state,67440013.19685216,67440013.19685216
+X_3,Core 2 state,608876181.1402817,608876181.1402817
+X_4,Core 3 state,139813522.86455327,139813522.86455327
+X_5,Core 4 state,-302199635.9298845,302199635.9298845
+X_6,Core 5 state,-1007863096.0333083,1007863096.0333083
+X_7,Medium Socket or core 6 frequency,346900050.19082034,346900050.19082034
+X_8,Big Socket or core 7 frequency,184213381.46021962,184213381.46021962
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,2232622938.3714504,2232622938.3714504
+X_3,Core 2 state,608876181.1402817,608876181.1402817
+X_7,Medium Socket or core 6 frequency,346900050.19082034,346900050.19082034
+X_8,Big Socket or core 7 frequency,184213381.46021962,184213381.46021962
+X_4,Core 3 state,139813522.86455327,139813522.86455327
+X_2,Core 1 state,67440013.19685216,67440013.19685216
+X_5,Core 4 state,-302199635.9298845,302199635.9298845
+X_0,frequency level of Little Socket,-461590936.1714992,461590936.1714992
+X_6,Core 5 state,-1007863096.0333083,1007863096.0333083
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,2232622938.3714504,2232622938.3714504
+X_6,Core 5 state,-1007863096.0333083,1007863096.0333083
+X_3,Core 2 state,608876181.1402817,608876181.1402817
+X_0,frequency level of Little Socket,-461590936.1714992,461590936.1714992
+X_7,Medium Socket or core 6 frequency,346900050.19082034,346900050.19082034
+X_5,Core 4 state,-302199635.9298845,302199635.9298845
+X_8,Big Socket or core 7 frequency,184213381.46021962,184213381.46021962
+X_4,Core 3 state,139813522.86455327,139813522.86455327
+X_2,Core 1 state,67440013.19685216,67440013.19685216
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..82598713ed746480a310f8666e9157b19a52d2d0
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,1023045692.4721718,978868503.1316272,44177189.34054458
+X_1,Core 0 state,1573736661.760368,2530164859.8327837,956428198.0724156
+X_2,Core 1 state,222993439.15208456,2019907083.363452,1796913644.2113674
+X_3,Core 2 state,771459767.0090067,1981822386.5936415,1210362619.5846348
+X_4,Core 3 state,-1000280791.8979663,1927621777.0962634,2927902568.99423
+X_5,Core 4 state,-1498110692.2617195,947209321.5931364,2445320013.854856
+X_6,Core 5 state,-2047826524.2674139,2461900500.8590336,4509727025.126448
+X_7,Medium Socket or core 6 frequency,834903311.9361974,1663205096.2567527,828301784.3205553
+X_8,Big Socket or core 7 frequency,2018267053.3246222,866732185.9166597,1151534867.4079623
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2018267053.3246222,866732185.9166597,1151534867.4079623
+X_1,Core 0 state,1573736661.760368,2530164859.8327837,956428198.0724156
+X_0,frequency level of Little Socket,1023045692.4721718,978868503.1316272,44177189.34054458
+X_7,Medium Socket or core 6 frequency,834903311.9361974,1663205096.2567527,828301784.3205553
+X_3,Core 2 state,771459767.0090067,1981822386.5936415,1210362619.5846348
+X_2,Core 1 state,222993439.15208456,2019907083.363452,1796913644.2113674
+X_4,Core 3 state,-1000280791.8979663,1927621777.0962634,2927902568.99423
+X_5,Core 4 state,-1498110692.2617195,947209321.5931364,2445320013.854856
+X_6,Core 5 state,-2047826524.2674139,2461900500.8590336,4509727025.126448
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,1573736661.760368,2530164859.8327837,956428198.0724156
+X_6,Core 5 state,-2047826524.2674139,2461900500.8590336,4509727025.126448
+X_2,Core 1 state,222993439.15208456,2019907083.363452,1796913644.2113674
+X_3,Core 2 state,771459767.0090067,1981822386.5936415,1210362619.5846348
+X_4,Core 3 state,-1000280791.8979663,1927621777.0962634,2927902568.99423
+X_7,Medium Socket or core 6 frequency,834903311.9361974,1663205096.2567527,828301784.3205553
+X_0,frequency level of Little Socket,1023045692.4721718,978868503.1316272,44177189.34054458
+X_5,Core 4 state,-1498110692.2617195,947209321.5931364,2445320013.854856
+X_8,Big Socket or core 7 frequency,2018267053.3246222,866732185.9166597,1151534867.4079623
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2047826524.2674139,2461900500.8590336,4509727025.126448
+X_4,Core 3 state,-1000280791.8979663,1927621777.0962634,2927902568.99423
+X_5,Core 4 state,-1498110692.2617195,947209321.5931364,2445320013.854856
+X_2,Core 1 state,222993439.15208456,2019907083.363452,1796913644.2113674
+X_3,Core 2 state,771459767.0090067,1981822386.5936415,1210362619.5846348
+X_8,Big Socket or core 7 frequency,2018267053.3246222,866732185.9166597,1151534867.4079623
+X_1,Core 0 state,1573736661.760368,2530164859.8327837,956428198.0724156
+X_7,Medium Socket or core 6 frequency,834903311.9361974,1663205096.2567527,828301784.3205553
+X_0,frequency level of Little Socket,1023045692.4721718,978868503.1316272,44177189.34054458
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..62a0388fd3e250498222902586c94cc752f268eb
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..1c39b589ce5fce6b0202f9326e19c150d0d33779
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..5dcc83dd08bccecf09465783112680d7c530ea68
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..6905a3d1adc0185bfe295b5a203f562c04cd936f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.82_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ca6ac40808d449256f4aaf5bc0bce73a0d562e67
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..facc7330d85bec55cf309eafa6592078d3ec881f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..64ce802f215479909ad6aefdfc5f9529eeba7dc0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..ca6ac40808d449256f4aaf5bc0bce73a0d562e67
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..facc7330d85bec55cf309eafa6592078d3ec881f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..57b84519fe00c1b59e1058b930496820d1c1eb94
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..c562b4127e4450de025cf03355ac5a2a16bd2ea9
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..143f258cf4322457c5bb85889493812ccd6ab4ef
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..19f20f59190a683b29b48c6d534695deb43d998f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..496176df501abc61a3cd8b744547a3578a348481
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..5e72f7d9c5887894cacfb0622a8eb62c6961bc8d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4294e706fa8673d3731271f18903911798b13a70
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..50dc5c115160165b2d1785a50629c4bb5111d892
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-1133965416.91435,1133965416.91435
+X_1,Core 0 state,1615413178.2004354,1615413178.2004354
+X_2,Core 1 state,147668242.53326556,147668242.53326556
+X_3,Core 2 state,-153829694.89377084,153829694.89377084
+X_4,Core 3 state,188782560.43218148,188782560.43218148
+X_5,Core 4 state,180297617.82672137,180297617.82672137
+X_6,Core 5 state,-789382191.4511809,789382191.4511809
+X_7,Medium Socket or core 6 frequency,57337582.07944596,57337582.07944596
+X_8,Big Socket or core 7 frequency,176568350.59561536,176568350.59561536
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1615413178.2004354,1615413178.2004354
+X_4,Core 3 state,188782560.43218148,188782560.43218148
+X_5,Core 4 state,180297617.82672137,180297617.82672137
+X_8,Big Socket or core 7 frequency,176568350.59561536,176568350.59561536
+X_2,Core 1 state,147668242.53326556,147668242.53326556
+X_7,Medium Socket or core 6 frequency,57337582.07944596,57337582.07944596
+X_3,Core 2 state,-153829694.89377084,153829694.89377084
+X_6,Core 5 state,-789382191.4511809,789382191.4511809
+X_0,frequency level of Little Socket,-1133965416.91435,1133965416.91435
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1615413178.2004354,1615413178.2004354
+X_0,frequency level of Little Socket,-1133965416.91435,1133965416.91435
+X_6,Core 5 state,-789382191.4511809,789382191.4511809
+X_4,Core 3 state,188782560.43218148,188782560.43218148
+X_5,Core 4 state,180297617.82672137,180297617.82672137
+X_8,Big Socket or core 7 frequency,176568350.59561536,176568350.59561536
+X_3,Core 2 state,-153829694.89377084,153829694.89377084
+X_2,Core 1 state,147668242.53326556,147668242.53326556
+X_7,Medium Socket or core 6 frequency,57337582.07944596,57337582.07944596
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..2b0d75522476fd49e16ef42a97de0bfe871df5b4
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,1305408018.381304,851506120.4098593,453901897.9714447
+X_1,Core 0 state,-163346771.62363437,2445061530.543319,2608408302.1669536
+X_2,Core 1 state,497702809.3492439,2248661920.959177,1750959111.6099331
+X_3,Core 2 state,797991458.598069,1939414893.0309072,1141423434.4328382
+X_4,Core 3 state,195662370.68399423,2073362269.56917,1877699898.8851757
+X_5,Core 4 state,34623597.341355085,690475478.6954708,655851881.3541157
+X_6,Core 5 state,-2188484988.7606955,2420467597.8918395,4608952586.6525345
+X_7,Medium Socket or core 6 frequency,480255765.5576195,1745611145.002953,1265355379.4453335
+X_8,Big Socket or core 7 frequency,1598594659.007247,970662474.252771,627932184.754476
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,1598594659.007247,970662474.252771,627932184.754476
+X_0,frequency level of Little Socket,1305408018.381304,851506120.4098593,453901897.9714447
+X_3,Core 2 state,797991458.598069,1939414893.0309072,1141423434.4328382
+X_2,Core 1 state,497702809.3492439,2248661920.959177,1750959111.6099331
+X_7,Medium Socket or core 6 frequency,480255765.5576195,1745611145.002953,1265355379.4453335
+X_4,Core 3 state,195662370.68399423,2073362269.56917,1877699898.8851757
+X_5,Core 4 state,34623597.341355085,690475478.6954708,655851881.3541157
+X_1,Core 0 state,-163346771.62363437,2445061530.543319,2608408302.1669536
+X_6,Core 5 state,-2188484988.7606955,2420467597.8918395,4608952586.6525345
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,-163346771.62363437,2445061530.543319,2608408302.1669536
+X_6,Core 5 state,-2188484988.7606955,2420467597.8918395,4608952586.6525345
+X_2,Core 1 state,497702809.3492439,2248661920.959177,1750959111.6099331
+X_4,Core 3 state,195662370.68399423,2073362269.56917,1877699898.8851757
+X_3,Core 2 state,797991458.598069,1939414893.0309072,1141423434.4328382
+X_7,Medium Socket or core 6 frequency,480255765.5576195,1745611145.002953,1265355379.4453335
+X_8,Big Socket or core 7 frequency,1598594659.007247,970662474.252771,627932184.754476
+X_0,frequency level of Little Socket,1305408018.381304,851506120.4098593,453901897.9714447
+X_5,Core 4 state,34623597.341355085,690475478.6954708,655851881.3541157
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2188484988.7606955,2420467597.8918395,4608952586.6525345
+X_1,Core 0 state,-163346771.62363437,2445061530.543319,2608408302.1669536
+X_4,Core 3 state,195662370.68399423,2073362269.56917,1877699898.8851757
+X_2,Core 1 state,497702809.3492439,2248661920.959177,1750959111.6099331
+X_7,Medium Socket or core 6 frequency,480255765.5576195,1745611145.002953,1265355379.4453335
+X_3,Core 2 state,797991458.598069,1939414893.0309072,1141423434.4328382
+X_5,Core 4 state,34623597.341355085,690475478.6954708,655851881.3541157
+X_8,Big Socket or core 7 frequency,1598594659.007247,970662474.252771,627932184.754476
+X_0,frequency level of Little Socket,1305408018.381304,851506120.4098593,453901897.9714447
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..25408c7caf65d89d764c3069d160bd8ecdd4f4dd
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..98fba47819f207443518e2a988d447240dd376d5
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..387170a7001cfb0b76eae4cd67344222ea9c0d17
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..dc2aecd3b43d9a9fe34d915424562765a752ee54
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.83_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..db5bd98a3649b73e2220cae3213e5620990a7e39
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..1fafa7d8f1afc3267d66c82aeaf5282858b3c848
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..1e5182aa3d7b7273a10e7db1ada7ede1b49b7be3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..db5bd98a3649b73e2220cae3213e5620990a7e39
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..1fafa7d8f1afc3267d66c82aeaf5282858b3c848
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..a490a23758eeabb0833d60df27e0d07aa1e32270
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..6d2afdc29fda201adaa5d5db093d21fec43a48e3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..e67d548e185fb10e4b5c2628b377a2c96931c519
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..32a55bee69845d5a8ef1dbf820bc216577f90e91
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..5b8379c5b060387e6dd87b13bdd166a3235d12a4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..99b2070f0f10d668893efe22d0fc393c578a28f5
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..342b2e34e885b3fe20f2ca5b4cad36f5eb8c9e6a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..8299321593ca837f1cebced02de06163f8a985b4
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-647053522.9892951,647053522.9892951
+X_1,Core 0 state,2006002672.4183798,2006002672.4183798
+X_2,Core 1 state,171952546.00338057,171952546.00338057
+X_3,Core 2 state,120798680.58006701,120798680.58006701
+X_4,Core 3 state,-199767564.27658385,199767564.27658385
+X_5,Core 4 state,99565734.01791844,99565734.01791844
+X_6,Core 5 state,-1131701164.5683277,1131701164.5683277
+X_7,Medium Socket or core 6 frequency,33564214.09130338,33564214.09130338
+X_8,Big Socket or core 7 frequency,122857248.75686103,122857248.75686103
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,2006002672.4183798,2006002672.4183798
+X_2,Core 1 state,171952546.00338057,171952546.00338057
+X_8,Big Socket or core 7 frequency,122857248.75686103,122857248.75686103
+X_3,Core 2 state,120798680.58006701,120798680.58006701
+X_5,Core 4 state,99565734.01791844,99565734.01791844
+X_7,Medium Socket or core 6 frequency,33564214.09130338,33564214.09130338
+X_4,Core 3 state,-199767564.27658385,199767564.27658385
+X_0,frequency level of Little Socket,-647053522.9892951,647053522.9892951
+X_6,Core 5 state,-1131701164.5683277,1131701164.5683277
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,2006002672.4183798,2006002672.4183798
+X_6,Core 5 state,-1131701164.5683277,1131701164.5683277
+X_0,frequency level of Little Socket,-647053522.9892951,647053522.9892951
+X_4,Core 3 state,-199767564.27658385,199767564.27658385
+X_2,Core 1 state,171952546.00338057,171952546.00338057
+X_8,Big Socket or core 7 frequency,122857248.75686103,122857248.75686103
+X_3,Core 2 state,120798680.58006701,120798680.58006701
+X_5,Core 4 state,99565734.01791844,99565734.01791844
+X_7,Medium Socket or core 6 frequency,33564214.09130338,33564214.09130338
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..b672b9567cff3573e795ec458b66260a7ecfa2e7
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,954861861.8855973,979742956.178562,24881094.292964697
+X_1,Core 0 state,346259057.63173807,2159045866.4418755,1812786808.8101373
+X_2,Core 1 state,161477746.08878675,2084819445.0516849,1923341698.962898
+X_3,Core 2 state,1338887067.4847283,2050374398.3515584,711487330.8668301
+X_4,Core 3 state,-883846578.6083363,1946773429.4960554,2830620008.1043916
+X_5,Core 4 state,-990951794.4207653,1275751762.0429938,2266703556.463759
+X_6,Core 5 state,-2119706263.9893134,2269847592.051495,4389553856.040809
+X_7,Medium Socket or core 6 frequency,1156383822.2258942,1698889178.591497,542505356.3656027
+X_8,Big Socket or core 7 frequency,2329649924.36382,867542912.829265,1462107011.534555
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2329649924.36382,867542912.829265,1462107011.534555
+X_3,Core 2 state,1338887067.4847283,2050374398.3515584,711487330.8668301
+X_7,Medium Socket or core 6 frequency,1156383822.2258942,1698889178.591497,542505356.3656027
+X_0,frequency level of Little Socket,954861861.8855973,979742956.178562,24881094.292964697
+X_1,Core 0 state,346259057.63173807,2159045866.4418755,1812786808.8101373
+X_2,Core 1 state,161477746.08878675,2084819445.0516849,1923341698.962898
+X_4,Core 3 state,-883846578.6083363,1946773429.4960554,2830620008.1043916
+X_5,Core 4 state,-990951794.4207653,1275751762.0429938,2266703556.463759
+X_6,Core 5 state,-2119706263.9893134,2269847592.051495,4389553856.040809
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2119706263.9893134,2269847592.051495,4389553856.040809
+X_1,Core 0 state,346259057.63173807,2159045866.4418755,1812786808.8101373
+X_2,Core 1 state,161477746.08878675,2084819445.0516849,1923341698.962898
+X_3,Core 2 state,1338887067.4847283,2050374398.3515584,711487330.8668301
+X_4,Core 3 state,-883846578.6083363,1946773429.4960554,2830620008.1043916
+X_7,Medium Socket or core 6 frequency,1156383822.2258942,1698889178.591497,542505356.3656027
+X_5,Core 4 state,-990951794.4207653,1275751762.0429938,2266703556.463759
+X_0,frequency level of Little Socket,954861861.8855973,979742956.178562,24881094.292964697
+X_8,Big Socket or core 7 frequency,2329649924.36382,867542912.829265,1462107011.534555
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2119706263.9893134,2269847592.051495,4389553856.040809
+X_4,Core 3 state,-883846578.6083363,1946773429.4960554,2830620008.1043916
+X_5,Core 4 state,-990951794.4207653,1275751762.0429938,2266703556.463759
+X_2,Core 1 state,161477746.08878675,2084819445.0516849,1923341698.962898
+X_1,Core 0 state,346259057.63173807,2159045866.4418755,1812786808.8101373
+X_8,Big Socket or core 7 frequency,2329649924.36382,867542912.829265,1462107011.534555
+X_3,Core 2 state,1338887067.4847283,2050374398.3515584,711487330.8668301
+X_7,Medium Socket or core 6 frequency,1156383822.2258942,1698889178.591497,542505356.3656027
+X_0,frequency level of Little Socket,954861861.8855973,979742956.178562,24881094.292964697
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..4b86ff5c7892912ffeaece8cc17a7b94703f384a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..3b2f33d2db2527578b7c1a1ac3dc9325ea9ff40b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..4f56ebb3054b8563bbb08e026deed92c20697f2d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..ad43c517292f10fba297c4d44900bfe7f7a750e9
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.85_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..39ac2c60108d38d1e83b2429383336c876538fb7
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..0b7a2cb9979e49bff7ea968c5e178e9b5deeec22
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9baa56b4f680e17a87839a373ec5e664230faba2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..39ac2c60108d38d1e83b2429383336c876538fb7
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..0b7a2cb9979e49bff7ea968c5e178e9b5deeec22
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..159fd1a4f4414ee8ae5547d438c2bf7a4b734ede
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..7fbb08c78222d22ee08991f159453922e57522be
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..0abec33857e685c6169db42762cbb2d0f5d81a4f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..78411a3e3e6545b55c940054c8e7c16f5fe6a456
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..baef0820790e5ad3a3046be48b31d1520672277c
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b374a56bed6fb0b08c37e6b42db4c0694d9b397b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..d5284ab942909560e6a4b153a9c9cce1de0468d4
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..e8b3fb4f39cd41f5ade1056cf6210507c68d1d3d
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-792565220.225299,792565220.225299
+X_1,Core 0 state,1882642211.4522169,1882642211.4522169
+X_2,Core 1 state,-321190269.3511689,321190269.3511689
+X_3,Core 2 state,181951933.97881776,181951933.97881776
+X_4,Core 3 state,1011129329.200044,1011129329.200044
+X_5,Core 4 state,111192717.93385358,111192717.93385358
+X_6,Core 5 state,-1209947092.8364544,1209947092.8364544
+X_7,Medium Socket or core 6 frequency,364250128.5169419,364250128.5169419
+X_8,Big Socket or core 7 frequency,51425951.38153581,51425951.38153581
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1882642211.4522169,1882642211.4522169
+X_4,Core 3 state,1011129329.200044,1011129329.200044
+X_7,Medium Socket or core 6 frequency,364250128.5169419,364250128.5169419
+X_3,Core 2 state,181951933.97881776,181951933.97881776
+X_5,Core 4 state,111192717.93385358,111192717.93385358
+X_8,Big Socket or core 7 frequency,51425951.38153581,51425951.38153581
+X_2,Core 1 state,-321190269.3511689,321190269.3511689
+X_0,frequency level of Little Socket,-792565220.225299,792565220.225299
+X_6,Core 5 state,-1209947092.8364544,1209947092.8364544
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1882642211.4522169,1882642211.4522169
+X_6,Core 5 state,-1209947092.8364544,1209947092.8364544
+X_4,Core 3 state,1011129329.200044,1011129329.200044
+X_0,frequency level of Little Socket,-792565220.225299,792565220.225299
+X_7,Medium Socket or core 6 frequency,364250128.5169419,364250128.5169419
+X_2,Core 1 state,-321190269.3511689,321190269.3511689
+X_3,Core 2 state,181951933.97881776,181951933.97881776
+X_5,Core 4 state,111192717.93385358,111192717.93385358
+X_8,Big Socket or core 7 frequency,51425951.38153581,51425951.38153581
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..4a730dd7b67f7b8718d60db9fa8696d320761567
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,1078842478.9731789,877641334.0955703,201201144.87760854
+X_1,Core 0 state,1016425306.9680184,2613224981.483983,1596799674.5159645
+X_2,Core 1 state,703026784.2452468,2401287966.2938666,1698261182.0486197
+X_3,Core 2 state,216115984.99678615,2069859445.227145,1853743460.2303588
+X_4,Core 3 state,-211034459.9874711,2209902165.287872,2420936625.275343
+X_5,Core 4 state,-641170462.7617527,735449561.3862617,1376620024.1480145
+X_6,Core 5 state,-2140596363.4969409,2117922269.0841615,4258518632.5811024
+X_7,Medium Socket or core 6 frequency,332309669.81213844,1456462444.4902043,1124152774.6780658
+X_8,Big Socket or core 7 frequency,2502203819.4046893,1030489471.2338302,1471714348.170859
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2502203819.4046893,1030489471.2338302,1471714348.170859
+X_0,frequency level of Little Socket,1078842478.9731789,877641334.0955703,201201144.87760854
+X_1,Core 0 state,1016425306.9680184,2613224981.483983,1596799674.5159645
+X_2,Core 1 state,703026784.2452468,2401287966.2938666,1698261182.0486197
+X_7,Medium Socket or core 6 frequency,332309669.81213844,1456462444.4902043,1124152774.6780658
+X_3,Core 2 state,216115984.99678615,2069859445.227145,1853743460.2303588
+X_4,Core 3 state,-211034459.9874711,2209902165.287872,2420936625.275343
+X_5,Core 4 state,-641170462.7617527,735449561.3862617,1376620024.1480145
+X_6,Core 5 state,-2140596363.4969409,2117922269.0841615,4258518632.5811024
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_1,Core 0 state,1016425306.9680184,2613224981.483983,1596799674.5159645
+X_2,Core 1 state,703026784.2452468,2401287966.2938666,1698261182.0486197
+X_4,Core 3 state,-211034459.9874711,2209902165.287872,2420936625.275343
+X_6,Core 5 state,-2140596363.4969409,2117922269.0841615,4258518632.5811024
+X_3,Core 2 state,216115984.99678615,2069859445.227145,1853743460.2303588
+X_7,Medium Socket or core 6 frequency,332309669.81213844,1456462444.4902043,1124152774.6780658
+X_8,Big Socket or core 7 frequency,2502203819.4046893,1030489471.2338302,1471714348.170859
+X_0,frequency level of Little Socket,1078842478.9731789,877641334.0955703,201201144.87760854
+X_5,Core 4 state,-641170462.7617527,735449561.3862617,1376620024.1480145
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2140596363.4969409,2117922269.0841615,4258518632.5811024
+X_4,Core 3 state,-211034459.9874711,2209902165.287872,2420936625.275343
+X_3,Core 2 state,216115984.99678615,2069859445.227145,1853743460.2303588
+X_2,Core 1 state,703026784.2452468,2401287966.2938666,1698261182.0486197
+X_1,Core 0 state,1016425306.9680184,2613224981.483983,1596799674.5159645
+X_8,Big Socket or core 7 frequency,2502203819.4046893,1030489471.2338302,1471714348.170859
+X_5,Core 4 state,-641170462.7617527,735449561.3862617,1376620024.1480145
+X_7,Medium Socket or core 6 frequency,332309669.81213844,1456462444.4902043,1124152774.6780658
+X_0,frequency level of Little Socket,1078842478.9731789,877641334.0955703,201201144.87760854
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ee5a0eeba3f095ecc9ccf2807a77a3c23106175b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..8124dd651d748ad2c8ecbccb4b0de3c675978cf3
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..c2bc3121e64da2693a6a03a64f27aa89dcd9bb4a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..0d663fe00d362643b0da0d607ac315afb7f70cd5
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.86_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..de251b27b806ea951e6565fa6e30bc5ced416905
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..ac9cd0f06d19fc142863fb4f20b4d1613f2d5ff0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..f1783885ac8801aa8013648cdfc06e4b7c15b4cd
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..de251b27b806ea951e6565fa6e30bc5ced416905
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..ac9cd0f06d19fc142863fb4f20b4d1613f2d5ff0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..bbaae1a2d963b7ea1812ff2cd8a5480c89664672
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4192103a81d4d4ed0f7decf550da11a88701fa8d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..6fe2ef70b5d9c14cf760f807f0066437f8384dfd
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..4bb79bb6a5fbb24c96fb5f80d64869b0fc165ac6
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..bbd72756799f07e95666a57a14b63f4885f5466d
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..fda3f305bde7316559e587cb9dd149d47960b143
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..89a327850d211b643ffad37ae1d257bbd21aa222
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..40e5b37c1c965b238cb89fca157756ed0f9f5182
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-648664831.4260929,648664831.4260929
+X_1,Core 0 state,1735984971.0867562,1735984971.0867562
+X_2,Core 1 state,-278041909.39126474,278041909.39126474
+X_3,Core 2 state,-242206651.11664099,242206651.11664099
+X_4,Core 3 state,-39334536.28806093,39334536.28806093
+X_5,Core 4 state,-140098941.88837793,140098941.88837793
+X_6,Core 5 state,-237877671.046037,237877671.046037
+X_7,Medium Socket or core 6 frequency,399742830.9845724,399742830.9845724
+X_8,Big Socket or core 7 frequency,-115551181.95174336,115551181.95174336
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1735984971.0867562,1735984971.0867562
+X_7,Medium Socket or core 6 frequency,399742830.9845724,399742830.9845724
+X_4,Core 3 state,-39334536.28806093,39334536.28806093
+X_8,Big Socket or core 7 frequency,-115551181.95174336,115551181.95174336
+X_5,Core 4 state,-140098941.88837793,140098941.88837793
+X_6,Core 5 state,-237877671.046037,237877671.046037
+X_3,Core 2 state,-242206651.11664099,242206651.11664099
+X_2,Core 1 state,-278041909.39126474,278041909.39126474
+X_0,frequency level of Little Socket,-648664831.4260929,648664831.4260929
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1735984971.0867562,1735984971.0867562
+X_0,frequency level of Little Socket,-648664831.4260929,648664831.4260929
+X_7,Medium Socket or core 6 frequency,399742830.9845724,399742830.9845724
+X_2,Core 1 state,-278041909.39126474,278041909.39126474
+X_3,Core 2 state,-242206651.11664099,242206651.11664099
+X_6,Core 5 state,-237877671.046037,237877671.046037
+X_5,Core 4 state,-140098941.88837793,140098941.88837793
+X_8,Big Socket or core 7 frequency,-115551181.95174336,115551181.95174336
+X_4,Core 3 state,-39334536.28806093,39334536.28806093
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..29d87463cefd10662647d1599fd0615077f3559b
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,1000611200.5585983,1160386427.1561096,159775226.5975113
+X_1,Core 0 state,343907465.3646556,2064579809.0515878,1720672343.686932
+X_2,Core 1 state,72112925.43767057,2118398164.654133,2046285239.2164626
+X_3,Core 2 state,-128171313.16444005,1988706922.6969607,2116878235.8614008
+X_4,Core 3 state,-818202220.4500784,2039609265.508494,2857811485.9585724
+X_5,Core 4 state,-1414137013.8812077,824315805.2437215,2238452819.1249294
+X_6,Core 5 state,-2806395247.106804,2310448873.3479185,5116844120.454722
+X_7,Medium Socket or core 6 frequency,1009414132.0768796,1791864555.088849,782450423.0119694
+X_8,Big Socket or core 7 frequency,2923164801.222365,811452526.3020192,2111712274.9203458
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2923164801.222365,811452526.3020192,2111712274.9203458
+X_7,Medium Socket or core 6 frequency,1009414132.0768796,1791864555.088849,782450423.0119694
+X_0,frequency level of Little Socket,1000611200.5585983,1160386427.1561096,159775226.5975113
+X_1,Core 0 state,343907465.3646556,2064579809.0515878,1720672343.686932
+X_2,Core 1 state,72112925.43767057,2118398164.654133,2046285239.2164626
+X_3,Core 2 state,-128171313.16444005,1988706922.6969607,2116878235.8614008
+X_4,Core 3 state,-818202220.4500784,2039609265.508494,2857811485.9585724
+X_5,Core 4 state,-1414137013.8812077,824315805.2437215,2238452819.1249294
+X_6,Core 5 state,-2806395247.106804,2310448873.3479185,5116844120.454722
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2806395247.106804,2310448873.3479185,5116844120.454722
+X_2,Core 1 state,72112925.43767057,2118398164.654133,2046285239.2164626
+X_1,Core 0 state,343907465.3646556,2064579809.0515878,1720672343.686932
+X_4,Core 3 state,-818202220.4500784,2039609265.508494,2857811485.9585724
+X_3,Core 2 state,-128171313.16444005,1988706922.6969607,2116878235.8614008
+X_7,Medium Socket or core 6 frequency,1009414132.0768796,1791864555.088849,782450423.0119694
+X_0,frequency level of Little Socket,1000611200.5585983,1160386427.1561096,159775226.5975113
+X_5,Core 4 state,-1414137013.8812077,824315805.2437215,2238452819.1249294
+X_8,Big Socket or core 7 frequency,2923164801.222365,811452526.3020192,2111712274.9203458
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-2806395247.106804,2310448873.3479185,5116844120.454722
+X_4,Core 3 state,-818202220.4500784,2039609265.508494,2857811485.9585724
+X_5,Core 4 state,-1414137013.8812077,824315805.2437215,2238452819.1249294
+X_3,Core 2 state,-128171313.16444005,1988706922.6969607,2116878235.8614008
+X_8,Big Socket or core 7 frequency,2923164801.222365,811452526.3020192,2111712274.9203458
+X_2,Core 1 state,72112925.43767057,2118398164.654133,2046285239.2164626
+X_1,Core 0 state,343907465.3646556,2064579809.0515878,1720672343.686932
+X_7,Medium Socket or core 6 frequency,1009414132.0768796,1791864555.088849,782450423.0119694
+X_0,frequency level of Little Socket,1000611200.5585983,1160386427.1561096,159775226.5975113
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..ece20ce1376f4e83bde5521684a553070563e3d7
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..038e5057939dde2cfef96b60b62baa65bd1ee586
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..2936016ec563d3532673d60373a30ca93b86dbb2
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..f132ac220d01584f218c93164673ccbec4afca34
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.87_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_Core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_Core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..988d224080c0bf5af88ed60dbe282c692a42f47f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_Core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png
new file mode 100755
index 0000000000000000000000000000000000000000..5cc3f64b3f8474bdaec7f378d8f76636dce65c65
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/Core_0_state_over_of_Little_Socket__Core_0_state__Core_1_state__Core_2_state__Core_3_state__Core_4_state__Core_5_state__core_6_frequency__core_7_frequency.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_0_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_0_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..9bc9a94c1312a7e0749e21cd7cfa4f077a61fd53
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_0_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..988d224080c0bf5af88ed60dbe282c692a42f47f
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png
new file mode 100755
index 0000000000000000000000000000000000000000..5cc3f64b3f8474bdaec7f378d8f76636dce65c65
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_1_over_X_0__X_1__X_2__X_3__X_4__X_5__X_6__X_7__X_8.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_2_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_2_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..b9a6e4de0a174ffd6b0af275e6e78143af43533b
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_2_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_3_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_3_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..974343aace27ec3a7bad238c778dc032c32051d0
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_3_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_4_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_4_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..1b40c0340f9729cd892bfc32a18fd984b407db06
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_4_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_5_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_5_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..6d170006be5a9d54496110f142712f95ec40524a
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_5_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_6_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_6_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..3e02fbbf0d2d4b637359749b9eb8ff9ed88e880e
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_6_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_7_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_7_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..261ce688aab641b95810d55c932dc50734de3559
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_7_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_8_over_X_0__.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_8_over_X_0__.png
new file mode 100755
index 0000000000000000000000000000000000000000..ed335136945e6433f1922bc4610b879c06ffc293
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/X_8_over_X_0__.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/d_X_1_linear_coefficients.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/d_X_1_linear_coefficients.csv
new file mode 100755
index 0000000000000000000000000000000000000000..5eb466e38bf2877816eb41fc1eec9a97c7293752
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/d_X_1_linear_coefficients.csv
@@ -0,0 +1,36 @@
+Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_0,frequency level of Little Socket,-724774970.647948,724774970.647948
+X_1,Core 0 state,1722865904.1125815,1722865904.1125815
+X_2,Core 1 state,-210195775.6223024,210195775.6223024
+X_3,Core 2 state,193464803.33934504,193464803.33934504
+X_4,Core 3 state,165763215.43805712,165763215.43805712
+X_5,Core 4 state,-45986474.14333384,45986474.14333384
+X_6,Core 5 state,-103023909.66355129,103023909.66355129
+X_7,Medium Socket or core 6 frequency,-370818702.4458487,370818702.4458487
+X_8,Big Socket or core 7 frequency,370717091.7717444,370717091.7717444
+
+
+ Ordered by value of coefficient, the first has the best positive interaction, with Core 0 state 
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1722865904.1125815,1722865904.1125815
+X_8,Big Socket or core 7 frequency,370717091.7717444,370717091.7717444
+X_3,Core 2 state,193464803.33934504,193464803.33934504
+X_4,Core 3 state,165763215.43805712,165763215.43805712
+X_5,Core 4 state,-45986474.14333384,45986474.14333384
+X_6,Core 5 state,-103023909.66355129,103023909.66355129
+X_2,Core 1 state,-210195775.6223024,210195775.6223024
+X_7,Medium Socket or core 6 frequency,-370818702.4458487,370818702.4458487
+X_0,frequency level of Little Socket,-724774970.647948,724774970.647948
+
+
+ Ordered by absolute value of coefficients,  the first has the best absolute interaction, with Core 0 state  
+ Variable,meaning ,d_X_1 (Variation relative to Core 0 state),asolute d_X_1
+X_1,Core 0 state,1722865904.1125815,1722865904.1125815
+X_0,frequency level of Little Socket,-724774970.647948,724774970.647948
+X_7,Medium Socket or core 6 frequency,-370818702.4458487,370818702.4458487
+X_8,Big Socket or core 7 frequency,370717091.7717444,370717091.7717444
+X_2,Core 1 state,-210195775.6223024,210195775.6223024
+X_3,Core 2 state,193464803.33934504,193464803.33934504
+X_4,Core 3 state,165763215.43805712,165763215.43805712
+X_6,Core 5 state,-103023909.66355129,103023909.66355129
+X_5,Core 4 state,-45986474.14333384,45986474.14333384
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/linear_coeff_vs_kernel_ridge_margins.csv b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
new file mode 100755
index 0000000000000000000000000000000000000000..d3b06acfe05a91b935586ca1dab713add01bba44
--- /dev/null
+++ b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/linear_coeff_vs_kernel_ridge_margins.csv
@@ -0,0 +1,49 @@
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_0,frequency level of Little Socket,1252614171.903784,1158551500.854774,94062671.04901004
+X_1,Core 0 state,223387924.3475265,2271818654.5769033,2048430730.2293768
+X_2,Core 1 state,-310175106.8877546,2301456845.668397,2611631952.5561514
+X_3,Core 2 state,883923860.8181909,1789252636.6043031,905328775.7861122
+X_4,Core 3 state,-696561108.0667683,1783354538.4775958,2479915646.544364
+X_5,Core 4 state,-562774580.3112887,1139335831.5120652,1702110411.8233538
+X_6,Core 5 state,-1659154385.505798,2292403774.1547365,3951558159.660535
+X_7,Medium Socket or core 6 frequency,1254848553.4219894,1800614477.7153862,545765924.2933967
+X_8,Big Socket or core 7 frequency,2920195494.4779315,732405270.1277666,2187790224.350165
+
+
+ Ordered by kernel ridge coefficients, higher is better 
+ X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_8,Big Socket or core 7 frequency,2920195494.4779315,732405270.1277666,2187790224.350165
+X_7,Medium Socket or core 6 frequency,1254848553.4219894,1800614477.7153862,545765924.2933967
+X_0,frequency level of Little Socket,1252614171.903784,1158551500.854774,94062671.04901004
+X_3,Core 2 state,883923860.8181909,1789252636.6043031,905328775.7861122
+X_1,Core 0 state,223387924.3475265,2271818654.5769033,2048430730.2293768
+X_2,Core 1 state,-310175106.8877546,2301456845.668397,2611631952.5561514
+X_5,Core 4 state,-562774580.3112887,1139335831.5120652,1702110411.8233538
+X_4,Core 3 state,-696561108.0667683,1783354538.4775958,2479915646.544364
+X_6,Core 5 state,-1659154385.505798,2292403774.1547365,3951558159.660535
+
+
+ Ordered by linear regression coefficients, higher is better 
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_2,Core 1 state,-310175106.8877546,2301456845.668397,2611631952.5561514
+X_6,Core 5 state,-1659154385.505798,2292403774.1547365,3951558159.660535
+X_1,Core 0 state,223387924.3475265,2271818654.5769033,2048430730.2293768
+X_7,Medium Socket or core 6 frequency,1254848553.4219894,1800614477.7153862,545765924.2933967
+X_3,Core 2 state,883923860.8181909,1789252636.6043031,905328775.7861122
+X_4,Core 3 state,-696561108.0667683,1783354538.4775958,2479915646.544364
+X_0,frequency level of Little Socket,1252614171.903784,1158551500.854774,94062671.04901004
+X_5,Core 4 state,-562774580.3112887,1139335831.5120652,1702110411.8233538
+X_8,Big Socket or core 7 frequency,2920195494.4779315,732405270.1277666,2187790224.350165
+
+
+ Ordered by absolute difference, between kernel ridge, and linear coefficients, the first has the maximum non linearity variation  
+X_variable,meaning ,kernel ridge margins,linear regression coefficients,difference
+X_6,Core 5 state,-1659154385.505798,2292403774.1547365,3951558159.660535
+X_2,Core 1 state,-310175106.8877546,2301456845.668397,2611631952.5561514
+X_4,Core 3 state,-696561108.0667683,1783354538.4775958,2479915646.544364
+X_8,Big Socket or core 7 frequency,2920195494.4779315,732405270.1277666,2187790224.350165
+X_1,Core 0 state,223387924.3475265,2271818654.5769033,2048430730.2293768
+X_5,Core 4 state,-562774580.3112887,1139335831.5120652,1702110411.8233538
+X_3,Core 2 state,883923860.8181909,1789252636.6043031,905328775.7861122
+X_7,Medium Socket or core 6 frequency,1254848553.4219894,1800614477.7153862,545765924.2933967
+X_0,frequency level of Little Socket,1252614171.903784,1158551500.854774,94062671.04901004
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_0_state.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_0_state.png
new file mode 100755
index 0000000000000000000000000000000000000000..bcde5df724f1159c3275f08a0cfd6d6906c81b14
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_0_state.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..d89f56c732e776d447cffa2fa2873e838a5c1192
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_6_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..8d486d5c9c5ae94e0a26b1f627fd5b9d6ecda07e
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_core_7_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png
new file mode 100755
index 0000000000000000000000000000000000000000..41b0dc53bf2c3fd8ea09c243286cbdd090c2d3a1
Binary files /dev/null and b/kernel_ridge_linear_model/finding_best_input_dataset_size/marginal_effect_exploration_google__0.88_base_Y/point_wise_marginal_distribution_of_little_socket_frequency_level.png differ
diff --git a/kernel_ridge_linear_model/kernel_ridge.py b/kernel_ridge_linear_model/kernel_ridge.py
index c3e19495e03cc2176f6edabff4ee84f9d22a488e..660aaf47e2a5fcf18d12cf5ecfc234df3902edce 100755
--- a/kernel_ridge_linear_model/kernel_ridge.py
+++ b/kernel_ridge_linear_model/kernel_ridge.py
@@ -230,12 +230,7 @@ def function_to_remove_duplicates(X_user_friendly, X, y, output_data_folder, ene
 def function_to_fill_data_from_folders(consider_automatization_summaries,
                 automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
                  input_format, consider_exact_values_of_frequency, X_format_in_model, 
-                 phone_name, populate_inputs_to_considere_thread_combinations_on_same_socket, 
-                 maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
-                 search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
-                 dichotomic_progression_ratio, 
-                 generate_plots, result_summary_csv_file_name, alpha, 
-                 repeat_experiments):
+                 phone_name):
 
     if consider_automatization_summaries:
         X_user_friendly = utils.get_data_from_summary_folder(automatization_summaries_folder, "configurations", "human_readable_format", maximum_input_size = max_input_size )
@@ -248,6 +243,7 @@ def function_to_fill_data_from_folders(consider_automatization_summaries,
         print ("*** Total energy efficiencies: ", y)
         energy_array =  utils.get_data_from_summary_folder(automatization_summaries_folder, "energy", maximum_input_size = max_input_size )
         print ("*** Total energy : ", energy_array)
+        print("*** Sum of energy:", sum(energy_array))
         workload_array =  utils.get_data_from_summary_folder(automatization_summaries_folder, "workload", maximum_input_size = max_input_size )
         print ("*** Total workload : ", workload_array)
     else:
@@ -262,12 +258,34 @@ def function_to_fill_data_from_folders(consider_automatization_summaries,
         print ("*** Total energy efficiencies: ", y)
 
     if remove_aberrant_points : 
-       X_user_friendly, X, y = function_to_remove_aberrant_points(X_user_friendly, X, y, output_data_folder,  energy_array, workload_array, energy_gap, number_of_neighbour, repeat_experiments)
+       X_user_friendly, X, y = function_to_remove_aberrant_points(X_user_friendly, X, y, output_data_folder,  energy_array, workload_array, 
+                         energy_gap, number_of_neighbour, repeat_experiments)
     if remove_duplicates:
        X_user_friendly, X, y = function_to_remove_duplicates(X_user_friendly, X, y, output_data_folder, energy_array, workload_array, value_to_retain)
 
+    return X_user_friendly, X, X_dict, y, energy_array, workload_array
+
+
+def function_to_train_the_model(phone_name, energy_gap, number_of_neighbour, dataset_size_to_consider,  X_user_friendly, X, X_dict, y, energy_array, workload_array,
+                 input_format, consider_exact_values_of_frequency, X_format_in_model, 
+                  populate_inputs_to_considere_thread_combinations_on_same_socket, 
+                 maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
+                 search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
+                 dichotomic_progression_ratio, 
+                 generate_plots, result_summary_csv_file_name, alpha, 
+                 repeat_experiments):
 
-    # to do generate_equivalent_entries(X,y)
+    ratio_to_throw_away = (len(X) - dataset_size_to_consider)/len(X)
+    if ratio_to_throw_away > 0:
+        X_to_considered, X_to_thrown, y_to_considered, y_to_thrown = train_test_split(X, y, test_size = ratio_to_throw_away, random_state=2)
+        print ("Set to consider (size = " + str(len(X_to_considered) )+  ") : ", X_to_considered)
+        print ("energy by workload to consider  (size = " + str(len(y_to_considered) )+  ") : ", y_to_considered)
+        print ("Set to thrown (size = " + str(len(X_to_thrown) )+  ") : ", X_to_thrown)
+        print ("energy by workload to thrown  (size = " + str(len(y_to_thrown) )+  ") : ", y_to_thrown)
+        X = X_to_considered
+        y = y_to_considered
+
+    print("--- Total energy consumed :", energy_array)
     #################################
 
     X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=2)
@@ -472,21 +490,6 @@ def function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test,
     print("margins",  margins)
     print("pointwise margins",  pointwise_margins)
 
-    # computing the marginal effect of the observation with naive implementation
-    """
-    print (" ***** START computing marginal effects with loop***** ")
-    print ("X = ", X_train)
-    n_pointwise_margins, n_margins = comput_margin.naive_marginal_effect(X_train, c_vector, sigma_2)
-    print (" ***** END computing marginal effects ***** ")
-    print("naive margins",  n_margins)
-    print("margins",  margins)
-    print("naive pointwise margins",  n_pointwise_margins)
-    print("pointwise margins",  pointwise_margins)
-    print("test of correctness means  = " + str(np.sum(n_pointwise_margins[:,0]) / len(X_train)) + 
-        " direct value = ", n_margins[0]  )
-    """
-
-
     # generating linear regression coefficients
     ols = sm.OLS(y_train, X_train)  # warning in the sm OLS function argument format, y is the first parameter. 
     reg = ols.fit()
@@ -496,287 +499,10 @@ def function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test,
     print("linear model parameters  = ",  linear_coefficients)
     print("*** Linear model R2 score  = ", utils.compute_r2_score(y_test, reg_pred_y_test) )
 
-    if phone_name == "samsung_galaxy_s8" :
-
-        linear_coeff_vs_kernel_ridge_margins_file = marginal_effect_exploration_folder + "/linear_coeff_vs_kernel_ridge_margins.csv" # Can change depending on the r2 score
-
-        X_meaning_dictionnary = base_Y__X_meaning_dictionnary if X_format_in_model == "base_Y"  else base_Y_N_on_socket__X_meaning_dictionnary if  X_format_in_model == "base_Y_N_on_socket" else {}                 
-
-        #Capturing linear coefficients and kernel ridge means marginal effect (not pointwise) in a file
-        utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
-        
-        if  X_format_in_model == "base_Y":
-
-            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
-            # plotting histograph
-        
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_0_state.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_level.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,8], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_state.png", 3e-11, 8)
-
-            
-            ### Plotting marginal effect plots
-            ## Regression of d_X_5 over all other variable including X_5 is the frequency of big cores
-            d_X_5_coefficients_file = marginal_effect_exploration_folder + "/d_X_5_linear_coefficients.csv"
-            d_X_5_ols = sm.OLS(pointwise_margins[:,5], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_5_reg = d_X_5_ols.fit()
-            d_X_5_linear_coefficients = d_X_5_reg.params
-            print("d_X_5 linear model parameters  = ",  d_X_5_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 5, 
-                        d_X_i_linear_coefficients = d_X_5_linear_coefficients, 
-                            file_path = d_X_5_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_5 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 5, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-        
-            # processing d_X_0
-            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_0_reg = d_X_0_ols.fit()
-            d_X_0_linear_coefficients = d_X_0_reg.params
-            print("d_X_0 linear model parameters  = ",  d_X_0_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
-                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
-                            file_path = d_X_0_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-
-
-
-
-            # processing d_X_1 (core 0 state)
-
-            d_X_1_coefficients_file = marginal_effect_exploration_folder + "/d_X_1_linear_coefficients.csv"
-            d_X_1_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_1_reg = d_X_1_ols.fit()
-            d_X_1_linear_coefficients = d_X_1_reg.params
-            print("d_X_1 linear model parameters  = ",  d_X_1_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 1, 
-                        d_X_i_linear_coefficients = d_X_1_linear_coefficients, 
-                            file_path = d_X_1_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_1 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-
-
-            # processing d_X_6 (core 6 state)
-
-            d_X_6_coefficients_file = marginal_effect_exploration_folder + "/d_X_6_linear_coefficients.csv"
-            d_X_6_ols = sm.OLS(pointwise_margins[:,6], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_6_reg = d_X_6_ols.fit()
-            d_X_6_linear_coefficients = d_X_6_reg.params
-            print("d_X_6 linear model parameters  = ",  d_X_6_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 6, 
-                        d_X_i_linear_coefficients = d_X_6_linear_coefficients, 
-                            file_path = d_X_6_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_6 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 6, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-           
-           # processing d_X_4 (core 3 state)
-
-            d_X_4_coefficients_file = marginal_effect_exploration_folder + "/d_X_4_linear_coefficients.csv"
-            d_X_4_ols = sm.OLS(pointwise_margins[:,4], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_4_reg = d_X_4_ols.fit()
-            d_X_4_linear_coefficients = d_X_4_reg.params
-            print("d_X_4 linear model parameters  = ",  d_X_4_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 4, 
-                        d_X_i_linear_coefficients = d_X_4_linear_coefficients, 
-                            file_path = d_X_4_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_4 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 4, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-
-
-            # processing d_X_9 (core 7 state)
-            d_X_9_coefficients_file = marginal_effect_exploration_folder + "/d_X_9_linear_coefficients.csv"
-            d_X_9_ols = sm.OLS(pointwise_margins[:,9], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_9_reg = d_X_9_ols.fit()
-            d_X_9_linear_coefficients = d_X_9_reg.params
-            print("d_X_9 linear model parameters  = ",  d_X_9_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 9, 
-                        d_X_i_linear_coefficients = d_X_9_linear_coefficients, 
-                            file_path = d_X_9_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_9 over other variables")
-
-            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 9, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
-
-
-        
-            """
-
-            ## Regression of d_X_7 over all other variable including 
-            d_X_7_coefficients_file = marginal_effect_exploration_folder + "/d_X_7_linear_coefficients.csv"
-            d_X_7_ols = sm.OLS(pointwise_margins[:,7], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_7_reg = d_X_7_ols.fit()
-            d_X_7_linear_coefficients = d_X_7_reg.params
-            print("X_7_d linear model parameters  = ",  d_X_7_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 7, 
-                        d_X_i_linear_coefficients = d_X_7_linear_coefficients, 
-                            file_path = d_X_7_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_7 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 7, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-        
-
-            ## Regression of d_X_0 over all other variable including 
-            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_0_reg = d_X_0_ols.fit()
-            d_X_0_linear_coefficients = d_X_0_reg.params
-            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
-                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
-                            file_path = d_X_0_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-            
-            
-            ## Regression of d_X_0 over all other variable including 
-            d_X_1_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_1_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_1_reg = d_X_1_ols.fit()
-            d_X_1_linear_coefficients = d_X_1_reg.params
-            print("X_0_d linear model parameters  = ",  d_X_1_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 1, 
-                        d_X_i_linear_coefficients = d_X_1_linear_coefficients, 
-                            file_path = d_X_1_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-            """
-             
-        elif X_format_in_model == "base_Y_N_on_socket":
-              ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
-            # plotting histograph
-        
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_actives.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_level.png", 3e-11, 3)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,9], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 4)
-
-            
-            d_X_2_coefficients_file = marginal_effect_exploration_folder + "/d_X_2_linear_coefficients.csv"
-            d_X_2_ols = sm.OLS(pointwise_margins[:,2], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_2_reg = d_X_2_ols.fit()
-            d_X_2_linear_coefficients = d_X_2_reg.params
-            print("X_2_d linear model parameters  = ",  d_X_2_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 2, 
-                        d_X_i_linear_coefficients = d_X_2_linear_coefficients, 
-                            file_path = d_X_2_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-        
-            
-            # plotting of d_X_2, regarding to other_variables with 
-            _, (d_X_2_over_X_0, d_X_2_over_X_1, d_X_2_over_X_3) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
-            d_X_2_over_X_0.scatter(X_train[:,0], pointwise_margins[:,2], c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_0.set_title('d_X_2 over X_0')
-            d_X_2_over_X_0.set_xlabel('X_0 : frequency level of little socket')
-            d_X_2_over_X_0.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
-            d_X_2_over_X_0.tick_params(size=8)
-
-
-            d_X_2_over_X_1.scatter(X_train[:,1], pointwise_margins[:,2],  c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_1.set_title('d_X_2 over X_1')
-            d_X_2_over_X_1.set_xlabel('X_1 : Number of threads on little socket')
-            d_X_2_over_X_1.set_ylabel("d_X_2 ")
-            d_X_2_over_X_1.tick_params(size=8)
-
-        
-            d_X_2_over_X_3.scatter(X_train[:,3], pointwise_margins[:,2],  c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_3.set_title('d_X_2 over X_3')
-            d_X_2_over_X_3.set_xlabel('X_3 : frequency of core 7 (8th core)')
-            d_X_2_over_X_3.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
-            d_X_2_over_X_3.tick_params(size=8)
-
-            #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
-
-            plt.gcf().autofmt_xdate()
-            plt.xticks(fontsize=8)
-            plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_frequency_of_Medium_core_over_frequency_of_little_socket_number_of_thread_on_little_socket_and_8_th_core_frequency.png")
-            plt.clf()
-            plt.cla()
-            plt.close()
-            
-        
+      
     if phone_name == "google_pixel_4a_5g" :
-
         linear_coeff_vs_kernel_ridge_margins_file = marginal_effect_exploration_folder + "/linear_coeff_vs_kernel_ridge_margins.csv" # Can change depending on the r2 score
-        if  X_format_in_model == "base_Y_N_on_socket":
-            X_meaning_dictionnary = base_Y_N_on_socket__X_meaning_dictionnary
-            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
-
-
-            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
-            # plotting histograph
-        
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_actives.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 3)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,3], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 4)
-
-            
-            d_X_2_coefficients_file = marginal_effect_exploration_folder + "/d_X_2_linear_coefficients.csv"
-            d_X_2_ols = sm.OLS(pointwise_margins[:,2], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_2_reg = d_X_2_ols.fit()
-            d_X_2_linear_coefficients = d_X_2_reg.params
-            print("X_2_d linear model parameters  = ",  d_X_2_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 2, 
-                        d_X_i_linear_coefficients = d_X_2_linear_coefficients, 
-                            file_path = d_X_2_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-        
-            
-            # plotting of d_X_2, regarding to other_variables with 
-            _, (d_X_2_over_X_0, d_X_2_over_X_1, d_X_2_over_X_3) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
-            d_X_2_over_X_0.scatter(X_train[:,0], pointwise_margins[:,2], c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_0.set_title('d_X_2 over X_0')
-            d_X_2_over_X_0.set_xlabel('X_0 : frequency level of little socket')
-            d_X_2_over_X_0.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
-            d_X_2_over_X_0.tick_params(size=8)
-
-
-            d_X_2_over_X_1.scatter(X_train[:,1], pointwise_margins[:,2],  c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_1.set_title('d_X_2 over X_1')
-            d_X_2_over_X_1.set_xlabel('X_1 : Number of threads on little socket')
-            d_X_2_over_X_1.set_ylabel("d_X_2 ")
-            d_X_2_over_X_1.tick_params(size=8)
-
-        
-            d_X_2_over_X_3.scatter(X_train[:,3], pointwise_margins[:,2],  c = "blue")
-            # Add title and axis names
-            d_X_2_over_X_3.set_title('d_X_2 over X_3')
-            d_X_2_over_X_3.set_xlabel('X_3 : frequency of core 7 (8th core)')
-            d_X_2_over_X_3.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
-            d_X_2_over_X_3.tick_params(size=8)
-
-            #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
-
-            plt.gcf().autofmt_xdate()
-            plt.xticks(fontsize=8)
-            plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_frequency_of_Medium_core_over_frequency_of_little_socket_number_of_thread_on_little_socket_and_8_th_core_frequency.png")
-            plt.clf()
-            plt.cla()
-            plt.close()
-            
-        elif X_format_in_model == "base_Y":
+        if X_format_in_model == "base_Y":
             if( workstep == "plotting_graphs_for_the_paper"):
                 X_meaning_dictionnary = utils.get_for_the_paper_X_format_meaning_dictionnaries(phone_name)
             else: 
@@ -792,54 +518,7 @@ def function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test,
             utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,7], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 8)
             utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,8], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 8)
 
-            ### Plotting marginal effect plots
-            """
-            ## Regression of d_X_8 over all other variable including
-            d_X_8_coefficients_file = marginal_effect_exploration_folder + "/d_X_8_linear_coefficients.csv"
-            d_X_8_ols = sm.OLS(pointwise_margins[:,8], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_8_reg = d_X_8_ols.fit()
-            d_X_8_linear_coefficients = d_X_8_reg.params
-            print("X_8_d linear model parameters  = ",  d_X_8_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 8, 
-                        d_X_i_linear_coefficients = d_X_8_linear_coefficients, 
-                            file_path = d_X_8_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_8 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 8, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-        
-
-
-            ## Regression of d_X_7 over all other variable including 
-            d_X_7_coefficients_file = marginal_effect_exploration_folder + "/d_X_7_linear_coefficients.csv"
-            d_X_7_ols = sm.OLS(pointwise_margins[:,7], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_7_reg = d_X_7_ols.fit()
-            d_X_7_linear_coefficients = d_X_7_reg.params
-            print("X_7_d linear model parameters  = ",  d_X_7_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 7, 
-                        d_X_i_linear_coefficients = d_X_7_linear_coefficients, 
-                            file_path = d_X_7_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_7 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 7, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-        
-
-            ## Regression of d_X_0 over all other variable including 
-            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_0_reg = d_X_0_ols.fit()
-            d_X_0_linear_coefficients = d_X_0_reg.params
-            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
-                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
-                            file_path = d_X_0_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-            utils.plot_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-            
-            """
-          
+           
             
 
             ## Regression of d_X_1 over all other variable including 
@@ -859,150 +538,8 @@ def function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test,
             avg_marginal_score_table = utils.plot_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder, 
                                  workstep = "plotting_graphs_for_the_paper", paper_fontsize = 28)
             
-        elif X_format_in_model == "base_Y_F":
-            X_meaning_dictionnary = base_Y_F__X_meaning_dictionnary
-            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
-            """
-            {"X_0" : "Little Socket frequency is freed",
-                                    "X_1" : "frequency level of Little Socket",
-                                    "X_2" : "Core 0 state", 
-                                    "X_3" : "Core 1 state", 
-                                    "X_4" : "Core 2 state", 
-                                    "X_5" : "Core 3 state", 
-                                    "X_6" : "Core 4 state",
-                                    "X_7" : "Core 5 state",  
-                                    "X_8" : "Medium Socket frequency is freed",
-                                    "X_9" : "Medium Socket or core 6 frequency",
-                                    "X_10" : "Big Socket frequency is freed",
-                                    "X_11" : "Big Socket or core 7 frequency"} 
-            """
-            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
-            # plotting histograph
-        
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_freed.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
-
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_0_state.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,9], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,11], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 8)
-
-            ### Plotting marginal effect plots
-
-            ## Regression of d_X_0 (frequency of little socket is freed) over all other variable
-            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_0_reg = d_X_0_ols.fit()
-            d_X_0_linear_coefficients = d_X_0_reg.params
-            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
-                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
-                            file_path = d_X_0_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, 9,10,11, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-            
-
-
-            ## Regression of d_X_8 over (frequency of medium socket is freed) all other variable including
-            d_X_8_coefficients_file = marginal_effect_exploration_folder + "/d_X_8_linear_coefficients.csv"
-            d_X_8_ols = sm.OLS(pointwise_margins[:,8], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_8_reg = d_X_8_ols.fit()
-            d_X_8_linear_coefficients = d_X_8_reg.params
-            print("X_8_d linear model parameters  = ",  d_X_8_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 8, 
-                        d_X_i_linear_coefficients = d_X_8_linear_coefficients, 
-                            file_path = d_X_8_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_8 over other variables")
-            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 8, 0, 1, 2, 3,4,5,6,7, 8, 9,10, 11, X_meaning_dictionnary, marginal_effect_exploration_folder)
-        
-
-
-            ## Regression of d_X_10 over (frequency of medium socket is freed) all other variable including
-            d_X_10_coefficients_file = marginal_effect_exploration_folder + "/d_X_10_linear_coefficients.csv"
-            d_X_10_ols = sm.OLS(pointwise_margins[:,10], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_10_reg = d_X_10_ols.fit()
-            d_X_10_linear_coefficients = d_X_10_reg.params
-            print("X_10_d linear model parameters  = ",  d_X_10_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 10, 
-                        d_X_i_linear_coefficients = d_X_10_linear_coefficients, 
-                            file_path = d_X_10_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_10 over other variables")
-            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 10, 0, 1, 2, 3,4,5,6,7, 8, 9,10,11, X_meaning_dictionnary, marginal_effect_exploration_folder)
-                     
-        elif X_format_in_model == "base_Y_F_N_on_socket":
-            """
-            base_Y_F_N_on_socket__X_meaning_dictionnary = {"X_0" : "Little Socket frequency is freed",
-                                    "X_1" : "frequency level of Little Socket",
-                                    "X_2" : "Number of little cores active",  
-                                    "X_3" : "Medium Socket frequency is freed",
-                                    "X_4" : "frequency level of Medium Socket or core 6",
-                                    "X_5" : "Big Socket frequency is freed",
-                                    "X_6" : "frequency level of Big Socket or core 7"} 
-            """
-            X_meaning_dictionnary = base_Y_F_N_on_socket__X_meaning_dictionnary
-            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
-           
-            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
-            # plotting histograph
-        
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_freed.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
-
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_active.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,3], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_medium_socket_frequency_freed.png", 3e-11, 8)
-            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_freed.png", 3e-11, 8)
-
-            ### Plotting marginal effect plots
-
-            ## Regression of d_X_0 (frequency of little socket is freed) over all other variable
-            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
-            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_0_reg = d_X_0_ols.fit()
-            d_X_0_linear_coefficients = d_X_0_reg.params
-            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
-                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
-                            file_path = d_X_0_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_0 over other variables")
-            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
-            
-            
-
-
-            ## Regression of d_X_8 over (frequency of medium socket is freed) all other variable including
-            d_X_3_coefficients_file = marginal_effect_exploration_folder + "/d_X_3_linear_coefficients.csv"
-            d_X_3_ols = sm.OLS(pointwise_margins[:,3], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_3_reg = d_X_3_ols.fit()
-            d_X_3_linear_coefficients = d_X_3_reg.params
-            print("X_3_d linear model parameters  = ",  d_X_3_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 3, 
-                        d_X_i_linear_coefficients = d_X_3_linear_coefficients, 
-                            file_path = d_X_3_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_3 over other variables")
-            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 3, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
-        
-
-
-            ## Regression of d_X_5 over (frequency of medium socket is freed) all other variable including
-            d_X_5_coefficients_file = marginal_effect_exploration_folder + "/d_X_5_linear_coefficients.csv"
-            d_X_5_ols = sm.OLS(pointwise_margins[:,5], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
-            d_X_5_reg = d_X_5_ols.fit()
-            d_X_5_linear_coefficients = d_X_5_reg.params
-            print("X_5_d linear model parameters  = ",  d_X_5_linear_coefficients)
-            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 5, 
-                        d_X_i_linear_coefficients = d_X_5_linear_coefficients, 
-                            file_path = d_X_5_coefficients_file,
-                        X_meaning_dictionnary_ = X_meaning_dictionnary)
-            print("Plotting d_X_5 over other variables")
-            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 5, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
     
-    
-    return pointwise_margins, X_meaning_dictionnary      
+    return pointwise_margins, margins, X_meaning_dictionnary      
   
 
 
@@ -1029,18 +566,204 @@ def special_len(my_list):
         print(" --- Computing special sum and adding value ", i)
         if i is not None:
             result = result + 1
+        else: 
+            print("---- " + str(i) + " is not added")
     return result
 
 
 
-def funtion_to_process_database( marginal_effect_exploration_folder , X_user_friendly, X, y, energy_array, workload_array,  X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, X_meaning_dictionnary):
+
+def compute_global_lin_reg_coef_and_abs_coef_table(X_train, pointwise_margins):
+    # return for all j an  array contaning at each position the list
+    #  [l1_coef,L2_coef,  ..., LM coef]
+    #  [ L1_abs_coef, L2_abs_coef, ... LM_abs_coef]
+    #  
+    #      
+    #   
+    gobal_lin_reg_coef_table = []
+    for i in range(0,9): 
+        d_y_on_d_X_i_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+        d_y_on_d_X_i_reg = d_y_on_d_X_i_ols.fit()
+        d_y_on_d_X_i_linear_coefficients = d_y_on_d_X_i_reg.params
+
+        coef_array = [float(element) for element in d_y_on_d_X_i_linear_coefficients]
+        abs_coef_array = [abs(float(element)) for element in d_y_on_d_X_i_linear_coefficients]
+
+        gobal_lin_reg_coef_table.append([coef_array, abs_coef_array])
+    return gobal_lin_reg_coef_table
+
+
+
+
+def compute_global_avg_dynamic_score_table(conn, X_train, pointwise_margins, X_meaning_dictionnary, marginal_effect_exploration_folder, repeat_experiments):
+    global_avg_margins_and_dynamic_score_table = []
+    for i in range(0,9): 
+        #for i in [1]:                              
+        avg_margin_table = utils.plot_marginal_interactions(X_train, pointwise_margins, i, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder,
+                     workstep = "computing_static_dynamic_score_for_paper", paper_fontsize = 28, repeat_experiments = repeat_experiments)
+        print("--- Avg margin table " + str(i) + ": ", avg_margin_table ) 
+        avg_margin_and_dynamic_score_table = utils_for_validation.validate_lesson_learned(conn, marginal_effect_exploration_folder, avg_marginal_score_table = avg_margin_table)      
+        global_avg_margins_and_dynamic_score_table.append(avg_margin_and_dynamic_score_table)
+        print("--- Interaction table and validation scores of variable " + str(i) + ": ", avg_margin_and_dynamic_score_table )
+    return global_avg_margins_and_dynamic_score_table
+
+
+def get_color_map(n, name='hsv'):
+    '''Returns a function that maps each index in 0, 1, ..., n-1 to a distinct 
+    RGB color; the keyword argument name must be a standard mpl colormap name.'''
+    return plt.cm.get_cmap(name, n)
+
+import sys
+def plot_finalscore_as_a_function_of_best_margin_interact(global_avg_margins_and_dynamic_score_table,
+                                     gobal_lin_reg_coef_table, margins, dataset_size):
+    output_plot_name = "dynamic_score_scheduling_size_according_to_best_covariates_and_best_interactions_" + str(dataset_size) +".png"
+    numbers_of_selected_margins = np.arange(start=1, stop=10, step=1).tolist() # We just limit our self to all the margins
+    numbers_of_selected_interactions = np.arange(start=1, stop=10, step=1).tolist()
+    
+    score_data_set_to_plot = []
+    size_data_set_to_plot = []
+    x_of_data_set = []
+    for i in numbers_of_selected_margins:
+        one_line_size_data_set = []
+        one_line_score_data_set = []
+        one_x_line_of_data_set = []
+        for j in numbers_of_selected_interactions:
+            final_score, selected_global_table , table_size = compute_final_score_for_strong_interaction_and_margins(global_avg_margins_and_dynamic_score_table,
+                                     gobal_lin_reg_coef_table, margins, i, j, dataset_size)
+                                
+            if final_score is not None :
+                one_line_score_data_set.append(final_score)
+                #one_line_size_data_set.append(sys.getsizeof(selected_global_table))
+                one_line_size_data_set.append(table_size/1000)
+                one_x_line_of_data_set.append(j)
+        if(len(one_line_size_data_set) > 0 ):
+            size_data_set_to_plot.append(one_line_size_data_set)
+            score_data_set_to_plot.append(one_line_score_data_set)
+            x_of_data_set.append(one_x_line_of_data_set)
+    paper_fontsize = 20
+
+    
+    fig, ((scores_according_to_margins, score_and_size) ) = plt.subplots(nrows= 1, ncols = 2, sharex = True, figsize=(15, 7))
+    color_map = get_color_map(len(score_data_set_to_plot))
+    for i in range(0,len(score_data_set_to_plot)):
+        scores_according_to_margins.plot(x_of_data_set[i], score_data_set_to_plot[i] , label = r'$m_J$ = ' + str(i+1) , color= color_map(i),marker='o', linestyle='-')
+    scores_according_to_margins.set_xlabel("Number of secondary covariates L \n for J" + r'$\leftrightarrow$ ' +"L  interactions",  fontsize = paper_fontsize )
+    scores_according_to_margins.set_ylabel( "FitsAll dynamic score", fontsize = paper_fontsize)
+    scores_according_to_margins.tick_params(axis='x', which='major' , labelsize= paper_fontsize)
+    scores_according_to_margins.tick_params(axis='y', which='major' , labelsize= paper_fontsize)
+    scores_according_to_margins.tick_params(size=8)
+    scores_according_to_margins.legend(loc = 'upper left', prop={'size': 18})
+    scores_according_to_margins.set_title("Dynamic score computed with a different \n number " +  r'$m_J$'+ " of covariates J selected.", fontsize = paper_fontsize)
+        
+   
+    
+    choosen_number_of_margins = 7-1  # -1 to get the index in dataset
+    score_and_size.plot(x_of_data_set[choosen_number_of_margins], score_data_set_to_plot[choosen_number_of_margins] ,  color='black',marker='o', linestyle='-' )
+    #ax.set_xlabel( "For each covariate, number of other \n  covariates considered when selecting interactions." ,  fontsize = paper_fontsize )
+    score_and_size.set_ylabel( "FitsAll dynamic score", fontsize = paper_fontsize)
+    score_and_size.tick_params(axis='x', which='major' , labelsize= paper_fontsize)
+    score_and_size.tick_params(axis='y', which='major' , labelsize= paper_fontsize)
+    score_and_size.set_xlabel("Number of secondary covariates L \n for J" + r'$\leftrightarrow$ ' +"L  interactions", fontsize = paper_fontsize)
+
+    score_and_size.tick_params(size=8)
+    score_and_size.set_title( "Dynamic score  (in black) and \n size of the produced scheduling data base (blue) ", fontsize = paper_fontsize)
+
+    ax2=score_and_size.twinx()
+    ax2.plot(x_of_data_set[choosen_number_of_margins], size_data_set_to_plot[choosen_number_of_margins] ,  color="blue", marker='o', linestyle='-' )
+    ax2.set_xlabel("Number of secondary covariates L \n for J" + r'$\leftrightarrow$' +"L interactions", color="blue", fontsize = paper_fontsize)
+    ax2.set_ylabel("Scheduling database size (KBytes)", color="blue", fontsize = paper_fontsize)
+
+    #ax2.tick_params(axis='x', which='major' , labelsize= paper_fontsize, color="gray",)
+    ax2.tick_params(axis='y', which='major' , labelsize= paper_fontsize, color="Blue")
+    ax2.tick_params(size=8)
+
+    # Get extents of subplot
+    
+    #plt.subplots_adjust(bottom = 0.15)
+    #fig.text(0.5, 0.04, "For each covariate J, number of other  covariates considered when selecting interactions J " + r'$\leftrightarrow$ = ' +" L.", 
+    #       va='center', ha='center', fontsize=paper_fontsize)
+    #plt.yticks(fontsize=paper_fontsize)
+    #plt.legend(loc="upper left",  fontsize = 12)
+    #ax = plt.gca()
+    #ax.yaxis.get_offset_text().set_fontsize(paper_fontsize)
+    #plt.locator_params(axis='x', nbins=4)
+    plt.tight_layout(pad = 1.5)  
+    #output_plot_name = "dynamic_score_according_to_best_covariates_and_best_interactions" +str(j)+ ".png"     
+    plt.savefig("finding_best_input_dataset_size/"+ output_plot_name )
+    plt.clf()
+    plt.cla()
+    plt.close()
+    
+
+
+def compute_final_score_for_strong_interaction_and_margins(global_avg_margins_and_dynamic_score_table, gobal_lin_reg_coef_table, 
+                 margins,  n_best_covariates = 9, n_strong_interact = 9, dataset_size = 536):
+    final_score = 0
+    # This function first sort each single table in the linear coef global table according to the coefficient of secondary covariates. 
+    # secondly it sort the covariate lists occording to thier means margins
+    #  it compute the dynamic score on the dynamic global table, by retaining only best secondary covariates. 
+    # The best secondly are related to previous computed table 
+    # step 1: sorting linear coefs
+    sorted_gobal_lin_reg_coef_table = []
+    selected_global_avg_margins_and_dynamic_score_table = []
+    table_size = 0
+    for j in range(0,9):                                                                        #1 because we take the abs coeff values table
+        sorted_table_second_cov_rank__coef_value =  sorted(enumerate(gobal_lin_reg_coef_table[j][1]), key=lambda kv: kv[1],  reverse=True) # with original indexes like [ (12, dist_1), (0, dist_2), (4, dist_3)..  ]
+        sorted_gobal_lin_reg_coef_table.append(sorted_table_second_cov_rank__coef_value)
+    
+    # step 2: sorting margins
+    sorted_means_margins = []
+    sorted_means_margins =  sorted(enumerate(margins), key=lambda kv: kv[1],  reverse=True) # with original indexes like [ (12, dist_1), (0, dist_2), (4, dist_3)..  ]
+    
+
+    #step 3: scomputing the score 
+    dynamic_score_list = []
+    number_of_dynamic_scores = 0
+    total_of_dynamic_scores = 0
+    considered_margin_couples = sorted_means_margins[0:n_best_covariates]
+    considered_margins_index = column(considered_margin_couples,0)  # column of index of selected (Lindice, L_coef) couples
+    print("--- considered margins couples ", considered_margin_couples)
+    for j in considered_margins_index: 
+        considered_l_couples = sorted_gobal_lin_reg_coef_table[j][0:n_strong_interact]
+        considered_l_index = column(considered_l_couples,0)  # column of index of selected (Lindice, L_coef) couples
+        print("--- considered L (index, coef) couples ", considered_l_couples)
+        selected_avg_margins_and_dynamic_score_table = []  # to compute the selected table
+        for L_entry_index in considered_l_index:
+            L_entry = global_avg_margins_and_dynamic_score_table[j][L_entry_index]  # now we have an L_entry, with l values, l_avg values and dynamic scores 
+            score_and_transitions_list = L_entry[2]
+            print("--- Only scores and transitions, just to verify : ", score_and_transitions_list) 
+            dynamic_score_list.append(column(score_and_transitions_list,0))
+            number_of_dynamic_scores = number_of_dynamic_scores + special_len(column(score_and_transitions_list,0))  # columns because,  we test only the score, if it is None
+            total_of_dynamic_scores = total_of_dynamic_scores + special_sum(column(score_and_transitions_list,0))  # because score_and_transitions_list is a matrice N_Lvalue * 3  (3 for score , positive_transition, negative_transition)
+            selected_avg_margins_and_dynamic_score_table.append(L_entry)
+            table_size = table_size + sys.getsizeof(L_entry[0]) + sys.getsizeof(L_entry[1]) # L values and interactions avg 
+        selected_global_avg_margins_and_dynamic_score_table.append([j, selected_avg_margins_and_dynamic_score_table]) # Note, the final global table does not have the same format than the original one
+                                                                                 # Because the means margins have been ranked, the J index should be also saved, so each 
+                                                                                 # entry in the final global table should have [j_index, corresponding list of L_entries]
+    if(number_of_dynamic_scores == 0):
+        return None, None, None
+    final_score =  (total_of_dynamic_scores/number_of_dynamic_scores)/100 
+    print("--- AVG and Scores of all selected interactions", global_avg_margins_and_dynamic_score_table) 
+    print("--- Dynamic scores only : ", dynamic_score_list )
+    print("--- Dtatset_size: ", dataset_size)
+    print("--- N Best covariates = " + str(n_best_covariates) + ", N Best interactions = " + str(n_strong_interact))
+    print("--- Final selected table: ", selected_global_avg_margins_and_dynamic_score_table)
+    print("--- size in scheduling database ", table_size)
+    print("--- Final_score : ", final_score)
+    return final_score, selected_global_avg_margins_and_dynamic_score_table, table_size
+
+
+def funtion_to_process_database( marginal_effect_exploration_folder , X_user_friendly, X, y, energy_array, workload_array, 
+  X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, margins, X_meaning_dictionnary, dataset_size = 536, repeat_experiments = False, 
+  n_best_covariates = 7, n_strong_interact = 7):
+    # this function write and make valilation on the database
     os.makedirs(marginal_effect_exploration_folder, exist_ok=True)
     lesson_learned_validation_output_file = "lesson_learned_validation_file.csv"
     static_score_plot_file = "static_score_plot.png"
 
     print("--- Creating / opening data base")
     conn = sqlite3.connect('experiments_and_estimations_results.db')
-    
+
     if repeat_experiments : 
         conn.close()
         print("--- Creating / opening data base")
@@ -1048,124 +771,126 @@ def funtion_to_process_database( marginal_effect_exploration_folder , X_user_fri
         print("--- Opened database successfully")
         utils_for_validation.create_database_and_tables(conn)
         utils_for_validation.fill_database(conn, X_user_friendly, X, y, energy_array, workload_array,  X_train, y_train, X_test, y_test, gauss_process, table_name = "all")
-    #utils_for_validation.validate_lesson_learned(marginal_effect_exploration_folder, lesson_learned_validation_output_file, static_score_plot_file, paper_fontsize, avg_marginal_score_table)      
-    #utils_for_validation.alter_database()
-    # I also plan to add the a colomn to say if a configuration is in train set or in test set (Done)
+
+    global_avg_margins_and_dynamic_score_table = compute_global_avg_dynamic_score_table(conn,  X_train, pointwise_margins, X_meaning_dictionnary, 
+                     marginal_effect_exploration_folder, repeat_experiments)
+    gobal_lin_reg_coef_table = compute_global_lin_reg_coef_and_abs_coef_table(X_train, pointwise_margins)
+    # to uncomment
     
-    # computing global score for the paper
-    avg_margin_global_table = []
-    dynamic_score_list = []
-    avg_margin_global_dynamic_score_table = []
-    number_of_dynamic_scores = 0
-    total_of_dynamic_scores = 0
-    ## Regression of d_X_0 over all other variable including 
-    for i in range(0,9): 
-        #for i in [1]:                              
-        avg_margin_table = utils.plot_marginal_interactions(X_train, pointwise_margins, i, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder,
-                     workstep = "computing_static_dynamic_score_for_paper", paper_fontsize = 28)
-        print("--- Avg margin table " + str(i) + ": ", avg_margin_table ) 
-        avg_margin_global_table.append(avg_margin_table)
-        avg_margin_table_dynamic_score = utils_for_validation.validate_lesson_learned(conn, marginal_effect_exploration_folder, avg_marginal_score_table = avg_margin_table)      
-        avg_margin_global_dynamic_score_table.append(avg_margin_table_dynamic_score)
-        print("--- Interaction table and validation scores of variable " + str(i) + ": ", avg_margin_table_dynamic_score )
-        for L_entry in avg_margin_table_dynamic_score:
-            score_and_transitions_list = L_entry[2]
-            print("--- Only scores and transitions, just to verify : ", score_and_transitions_list) 
-            dynamic_score_list.append(column(score_and_transitions_list,0))
-            number_of_dynamic_scores = number_of_dynamic_scores + special_len(score_and_transitions_list)
-            total_of_dynamic_scores = total_of_dynamic_scores + special_sum(column(score_and_transitions_list,0))  # because score_and_transitions_list is a matrice N_Lvalue * 3  (3 for score , positive_transition, negative_transition)
-    print("--- Scores of all interactions", avg_margin_global_dynamic_score_table) 
-    print("--- Dynamic scores only : ", dynamic_score_list )
-    print("--- Final_score : ", total_of_dynamic_scores/number_of_dynamic_scores )
+    plot_finalscore_as_a_function_of_best_margin_interact(global_avg_margins_and_dynamic_score_table,
+                                    gobal_lin_reg_coef_table, margins, dataset_size)
+
+    final_score, selected_global_table, table_size= compute_final_score_for_strong_interaction_and_margins(global_avg_margins_and_dynamic_score_table, 
+                          gobal_lin_reg_coef_table, margins, n_best_covariates, n_strong_interact, dataset_size)
+
 
     conn.close()
-    return total_of_dynamic_scores/number_of_dynamic_scores
+    return final_score
 
 
 
-def get_dynamic_and_R2_score(consider_automatization_summaries,
-                automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
+def get_dynamic_and_R2_score( phone_name, energy_gap, number_of_neighbour,
+                dataset_size_to_consider,  X_user_friendly, X, X_dict, y, energy_array, workload_array,
                  input_format, consider_exact_values_of_frequency, X_format_in_model, 
-                 phone_name, populate_inputs_to_considere_thread_combinations_on_same_socket, 
+                 populate_inputs_to_considere_thread_combinations_on_same_socket, 
                  maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
                  search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
                  dichotomic_progression_ratio, 
                  generate_plots, result_summary_csv_file_name, alpha, 
-                 repeat_experiments):
+                 repeat_experiments = False , n_best_covariates = 7, n_strong_interact =7):
+   
+
     gauss_process,  X_user_friendly, X, y, energy_array, workload_array, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score \
-            = function_to_fill_data_from_folders(consider_automatization_summaries,
-                automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
+                = function_to_train_the_model(phone_name, energy_gap, number_of_neighbour, 
+                dataset_size_to_consider,  X_user_friendly, X, X_dict, y, energy_array, workload_array,
                  input_format, consider_exact_values_of_frequency, X_format_in_model, 
-                 phone_name, populate_inputs_to_considere_thread_combinations_on_same_socket, 
+                  populate_inputs_to_considere_thread_combinations_on_same_socket, 
                  maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
                  search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
                  dichotomic_progression_ratio, 
                  generate_plots, result_summary_csv_file_name, alpha, 
                  repeat_experiments)
     
-    pointwise_margins, X_meaning_dictionnary = function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score, 
+    pointwise_margins, margins, X_meaning_dictionnary = function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score, 
               base_Y__X_meaning_dictionnary, base_Y_N_on_socket__X_meaning_dictionnary, base_Y_F__X_meaning_dictionnary, base_Y_F_N_on_socket__X_meaning_dictionnary, 
             X_format_in_model, workstep, phone_name, repeat_experiments)  
         
     dynamic_score = funtion_to_process_database( marginal_effect_exploration_folder , X_user_friendly, X, y, energy_array, workload_array,
-       X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, X_meaning_dictionnary)
-    return  R2_score, dynamic_score, marginal_effect_exploration_folder
+       X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, margins, X_meaning_dictionnary, dataset_size_to_consider, repeat_experiments, n_best_covariates, n_strong_interact)
+    return  R2_score, dynamic_score
 
 
 
 if one_experiment: 
     if fill_data_from_folders:
+        X_user_friendly, X, X_dict, y, energy_array, workload_array =  function_to_fill_data_from_folders(consider_automatization_summaries,
+                automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
+                 input_format, consider_exact_values_of_frequency, X_format_in_model, 
+                 phone_name)
+
         gauss_process,  X_user_friendly, X, y, energy_array, workload_array, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score \
-                = function_to_fill_data_from_folders(consider_automatization_summaries,
-                    automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
-                    input_format, consider_exact_values_of_frequency, X_format_in_model, 
-                    phone_name, populate_inputs_to_considere_thread_combinations_on_same_socket, 
-                    maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
-                    search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
-                    dichotomic_progression_ratio, 
-                    generate_plots, result_summary_csv_file_name, alpha, 
-                    repeat_experiments)
+                = function_to_train_the_model(phone_name,  energy_gap, number_of_neighbour, dataset_size_to_consider,  X_user_friendly, X, X_dict, y, energy_array, workload_array,
+                 input_format, consider_exact_values_of_frequency, X_format_in_model, 
+                 populate_inputs_to_considere_thread_combinations_on_same_socket, 
+                 maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
+                 search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
+                 dichotomic_progression_ratio, 
+                 generate_plots, result_summary_csv_file_name, alpha, 
+                 repeat_experiments)
        
     if compute_marginal_effect:   
-        pointwise_margins, X_meaning_dictionnary = function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score, 
+        pointwise_margins, margins, X_meaning_dictionnary = function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test, y_test, sigma_2,
+                marginal_effect_exploration_folder, R2_score, 
                 base_Y__X_meaning_dictionnary, base_Y_N_on_socket__X_meaning_dictionnary, base_Y_F__X_meaning_dictionnary, base_Y_F_N_on_socket__X_meaning_dictionnary, 
                 X_format_in_model, workstep, phone_name, repeat_experiments)  
                         
     # parameter are :
     if process_database:
         dynamic_score = funtion_to_process_database( marginal_effect_exploration_folder , X_user_friendly, X, y, energy_array, workload_array,  
-                  X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, X_meaning_dictionnary)
+                  X_train, y_train, X_test, y_test, gauss_process, pointwise_margins, margins,  X_meaning_dictionnary, len(X_train), repeat_experiments)
 
 
 if repeat_experiments:
-    output_plot_name = "R_2_and_dynamic_score_according_to_input_dataset_size.png"
-    input_dataset_size = [779]
-    #input_dataset_size = np.arange(start=200, stop=779, step=50).tolist()
+
+    X_user_friendly, X, X_dict, y, energy_array, workload_array =  function_to_fill_data_from_folders(consider_automatization_summaries,
+                automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
+                 input_format, consider_exact_values_of_frequency, X_format_in_model, 
+                 phone_name)
+    n_best_covariates = 7
+    n_strong_interact = 3            
+    output_plot_name = "R_2_and_dynamic_score_according_to_input_dataset_size_n_cov_"+ str(n_best_covariates) + "_n_strong_interact_" + str(n_strong_interact) + ".png"
+    #input_dataset_size = [len(X)]
+    input_dataset_size = np.arange(start=100, stop=len(X), step=25).tolist()
     R2_score = []
     dynamic_score = []
-    for max_input_size in input_dataset_size: 
+    for dataset_size_to_consider in input_dataset_size: 
        
         print("--- Resetting the kernel matrix")
-        R2_, dynamic_ , marginal_effect_exploration_folder = get_dynamic_and_R2_score(consider_automatization_summaries,
-                automatization_summaries_folder, max_input_size, energy_gap, number_of_neighbour,
+        R2_, dynamic_  = get_dynamic_and_R2_score(phone_name, energy_gap, number_of_neighbour,
+                    dataset_size_to_consider,  X_user_friendly, X, X_dict, y, energy_array, workload_array,
                  input_format, consider_exact_values_of_frequency, X_format_in_model, 
-                 phone_name, populate_inputs_to_considere_thread_combinations_on_same_socket, 
+                  populate_inputs_to_considere_thread_combinations_on_same_socket, 
                  maximum_number_of_combination, one_hot_encoding_of_frequency,standartize_inputs,
                  search_ridge_coeff, search_strategy, number_of_iteration_during_exploration, l_o_o_on_alpha_exploration, ltolerance,lambda_min, max_iterations,sequential_gap,
                  dichotomic_progression_ratio, 
                  generate_plots, result_summary_csv_file_name, alpha, 
-                 repeat_experiments)
+                 repeat_experiments, n_best_covariates, n_strong_interact )
         
         R2_score.append(R2_)
         dynamic_score.append(dynamic_)
+    print("--- Plotting R2 score and dynamic score.")
+    print("--- List of input dataset sizes: ", input_dataset_size)
+    print("--- R2 score  list:", R2_score )
+    print("--- Dynamic score list:", dynamic_score )
     paper_fontsize = 16
     static_score_plot = plt.figure()
     plt.plot(input_dataset_size, R2_score ,  color='black', marker='o', linestyle='-' , label =  r'$R^2$' + " score")
-    plt.plot(input_dataset_size, R2_score ,  color='orange', marker='o', linestyle='-', label = "dynamic score" )
-    plt.title( "FitsAll R2 and dynamic score according to \n the input dataset N", fontsize = paper_fontsize)
+    plt.plot(input_dataset_size, dynamic_score ,  color='orange', marker='o', linestyle='-', label = "dynamic score" )
+    plt.title( "FitsAll R2 and dynamic scores according to \n the input dataset sise N", fontsize = paper_fontsize)
     plt.legend(loc="upper left",  fontsize = paper_fontsize)
     plt.yticks(fontsize=paper_fontsize)
-    plt.xlabel( "Acceptance degree" ,  fontsize = paper_fontsize )
+    #plt.xticks(fontsize=paper_fontsize)
+    plt.xlabel( "Dataset size" ,  fontsize = paper_fontsize )
     ax = plt.gca()
     ax.yaxis.get_offset_text().set_fontsize(paper_fontsize)
     #plt.locator_params(axis='x', nbins=4)
diff --git a/kernel_ridge_linear_model/kernel_ridge_prediction_on_google_pixel_4a_5g.png b/kernel_ridge_linear_model/kernel_ridge_prediction_on_google_pixel_4a_5g.png
index f502386a7612ed2f8030acfe15aaf55c592859e0..920601ab8a03625233a787a98f01e8763eba671d 100755
Binary files a/kernel_ridge_linear_model/kernel_ridge_prediction_on_google_pixel_4a_5g.png and b/kernel_ridge_linear_model/kernel_ridge_prediction_on_google_pixel_4a_5g.png differ
diff --git a/kernel_ridge_linear_model/log_file_compute_static_score_for_the_paper.txt b/kernel_ridge_linear_model/log_file_compute_static_score_for_the_paper.txt
index 6a771466c6c82ddcc27e3ec45df8d1b7025afcdf..2ceee7e6bc827f10fe08c2325d0d424cd9d5d451 100755
Binary files a/kernel_ridge_linear_model/log_file_compute_static_score_for_the_paper.txt and b/kernel_ridge_linear_model/log_file_compute_static_score_for_the_paper.txt differ
diff --git a/kernel_ridge_linear_model/old_codes_templates b/kernel_ridge_linear_model/old_codes_templates
deleted file mode 100755
index 5f580cf1b50ea741125ded7ee3d6164fddb4c5b4..0000000000000000000000000000000000000000
--- a/kernel_ridge_linear_model/old_codes_templates
+++ /dev/null
@@ -1,402 +0,0 @@
- 
-        
-        """
-        # Caprices de Vlad
-        print("--- Number of input with fourth core activated: " + repr(utils.count_number_of_input_with_fourth_core_on(X_train)))
-        print("--- Size of X train: " + repr(len(X_train)))
-        print("--- Ratio of input with fourth core activated: " + repr(float(utils.count_number_of_input_with_fourth_core_on(X_train)) / float(len(X_train))))
-        
-        input_to_look_at = utils.inputs_where_d_X_index_is_negative(pointwise_margins, 8, X_train)
-        print("--- Inputs where d_X_8 is negative: " , repr(input_to_look_at))
-        print("--- Size: ",  repr(len(input_to_look_at)) )
-        print("--- Size of X train: " + repr(len(X_train)))
-        """
-        
-
-
-
-    #print(" ********** d_X_1 np array:", pointwise_margins[:,0])
-    #print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
-    #print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
-
-        """
-        # plotting of d_X_1, regarding to other_variables with 
-        _, (d_X_1_over_X_0, d_X_1_over_X_1, d_X_1_over_X_8) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
-        d_X_1_over_X_0.scatter(X_train[:,0], pointwise_margins[:,1], c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_0.set_title('d_X_1 over X_0')
-        d_X_1_over_X_0.set_xlabel('X_0 : frequency level of little socket')
-        d_X_1_over_X_0.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
-        d_X_1_over_X_0.tick_params(size=8)
-
-
-        d_X_1_over_X_1.scatter(X_train[:,1], pointwise_margins[:,1],  c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_1.set_title('d_X_1 over X_1')
-        d_X_1_over_X_1.set_xlabel('X_1 : state of core 0 (1rst core)')
-        d_X_1_over_X_1.set_ylabel("d_X_1 ")
-        d_X_1_over_X_1.tick_params(size=8)
-
-    
-        d_X_1_over_X_8.scatter(X_train[:,8], pointwise_margins[:,1],  c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_8.set_title('d_X_1 over X_8')
-        d_X_1_over_X_8.set_xlabel('X_8 : frequency of core 7 (8th core)')
-        d_X_1_over_X_8.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
-        d_X_1_over_X_8.tick_params(size=8)
-
-        #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
-
-        plt.gcf().autofmt_xdate()
-        plt.xticks(fontsize=8)
-        plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_core_1_state_over_little_socket__1_srt_and_8_th_cores.png")
-        plt.clf()
-        plt.cla()
-        plt.close()
-
-        print(" ********** d_X_1 np array:", n_pointwise_margins[:,0])
-        print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
-        print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
-
-        """
-
-
-
-        """
-        # plotting of d_X_1, regarding to other_variables with 
-        _, (d_X_1_over_X_0, d_X_1_over_X_1, d_X_1_over_X_8) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
-        d_X_1_over_X_0.scatter(X_train[:,0], pointwise_margins[:,1], c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_0.set_title('d_X_1 over X_0')
-        d_X_1_over_X_0.set_xlabel('X_0 : frequency level of little socket')
-        d_X_1_over_X_0.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
-        d_X_1_over_X_0.tick_params(size=8)
-
-
-        d_X_1_over_X_1.scatter(X_train[:,1], pointwise_margins[:,1],  c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_1.set_title('d_X_1 over X_1')
-        d_X_1_over_X_1.set_xlabel('X_1 : state of core 0 (1rst core)')
-        d_X_1_over_X_1.set_ylabel("d_X_1 ")
-        d_X_1_over_X_1.tick_params(size=8)
-
-    
-        d_X_1_over_X_8.scatter(X_train[:,8], pointwise_margins[:,1],  c = "blue")
-        # Add title and axis names
-        d_X_1_over_X_8.set_title('d_X_1 over X_8')
-        d_X_1_over_X_8.set_xlabel('X_8 : frequency of core 7 (8th core)')
-        d_X_1_over_X_8.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
-        d_X_1_over_X_8.tick_params(size=8)
-
-        #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
-
-        plt.gcf().autofmt_xdate()
-        plt.xticks(fontsize=8)
-        plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_core_1_state_over_little_socket__1_srt_and_8_th_cores.png")
-        plt.clf()
-        plt.cla()
-        plt.close()
-
-        print(" ********** d_X_1 np array:", n_pointwise_margins[:,0])
-        print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
-        print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
-
-        """
-
-
-
-
-
-
-
-
-"""
-####################################  Prediction on samsung galaxy s8
-X_user_friendly = data.X_user_friendly_samsung_galaxy_s8
-print ("*** Total configurations user friendly: ", X_user_friendly)
-X =data.X_samsung_galaxy_s8
-print ("*** Total Configurations formatted: ", X)
-X_dict = data.X_dict_samsung_galaxy_s8
-print ("*** Total Configurations dictionnary: ", X_dict)
-y = data.y_samsung_galaxy_s8
-print("*** Ratio energy by wokload : ", y)
-
-
-
-
-# to do generate_equivalent_entries(X,y)
-#################################
-
-
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=2)
-X_user_friendly_train = utils.get_X_user_friendly_from_X(X_train, X_dict)
-X_user_friendly_test = utils.get_X_user_friendly_from_X(X_test, X_dict)
-
-
-print ("Train set Configurations : ", X_train)
-print ("Train set energy by workload : ", y_train)
-print ("Test set Configurations : ", X_test)
-print ("Test set energy by workload : ", y_test)
-print ("Train set Configurations in user friendly mode : ", X_user_friendly_train)
-print ("Test set Configurations in user friendly mode : ", X_user_friendly_test)
-
-
-############## now using kernel ridge to train data
-krr = KernelRidge(alpha=1.0, kernel="rbf") #gamma=10)
-krr.fit(X_train, y_train)
-krr_y_test = krr.predict(X_test)
-
-
-_, (orig_data_ax, testin_data_ax, kernel_ridge_ax) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
-orig_data_ax.bar(X_user_friendly_train,y_train, width=0.4)
-# Add title and axis names
-orig_data_ax.set_title('Training datas energy/workload ratio')
-orig_data_ax.set_xlabel('Configuration')
-orig_data_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
-orig_data_ax.tick_params(size=8)
-
-testin_data_ax.bar(X_user_friendly_test,y_test, width=0.4)
-# Add title and axis names
-testin_data_ax.set_title('Testing datas energy/workload ratio')
-testin_data_ax.set_xlabel('Configuration')
-testin_data_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
-testin_data_ax.tick_params(size=8)
-
-kernel_ridge_ax.bar(X_user_friendly_test,krr_y_test, width=0.4)
-# Add title and axis names
-kernel_ridge_ax.set_title('Predited energy/workload ratio')
-kernel_ridge_ax.set_xlabel('Configuration')
-kernel_ridge_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
-kernel_ridge_ax.tick_params(size=8)
-
-_ = kernel_ridge_ax.set_title("Predicted data\n using kernel ridge, R2 = " + str(krr.score(X_test, y_test)))
-
-print("error = ", krr.score(X_test, y_test))
-print("parrams = " ,  krr.get_params(False))
-print("regressors = " ,  krr)
-plt.gcf().autofmt_xdate()
-plt.xticks(fontsize=8)
-plt.savefig("kernel_ridge_prediction_on_samsung_galaxy_s8.png")
-plt.clf()
-plt.cla()
-plt.close()
-"""
-
-####### This code was used to test the avalaible source code of the statmodels class  kernridgeregress_class from this
-# https://github.com/statsmodels/statsmodels/blob/825581cf17f1e79118592f15f49be7ad890a7104/statsmodels/sandbox/regression/kernridgeregress_class.py#L9
-
-"""
- # code coming from sklearn
-krr = KernelRidge(alpha=1.0, kernel="rbf") #gamma=10)
-krr.fit(X_train, y_train)
-krr_y_test = krr.predict(X_test)
-
-
-
-
-#Code coming from the stasmodels kernelrige class source code
-m,k = 10,4
-##m,k = 50,4
-upper = 6
-scale = 10
-xs = np.linspace(1,upper,m)[:,np.newaxis]
-#xs1 = xs1a*np.ones((1,4)) + 1/(1.0+np.exp(np.random.randn(m,k)))
-#xs1 /= np.std(xs1[::k,:],0)   # normalize scale, could use cov to normalize
-##y1true = np.sum(np.sin(xs1)+np.sqrt(xs1),1)[:,np.newaxis]
-xs1 = np.sin(xs)#[:,np.newaxis]
-y1true = np.sum(xs1 + 0.01*np.sqrt(np.abs(xs1)),1)[:,np.newaxis]
-y1 = y1true + 0.10 * np.random.randn(m,1)
-
-stride = 3 #use only some points as trainig points e.g 2 means every 2nd
-xstrain = xs1[::stride,:]
-ystrain = y1[::stride,:]
-ratio = int(m/2)
-print("ratio = ", ratio)
-xstrain = np.r_[xs1[:ratio,:], xs1[ratio+10:,:]]
-ystrain = np.r_[y1[:ratio,:], y1[ratio+10:,:]]
-index = np.hstack((np.arange(m/2), np.arange(m/2+10,m)))
-print("Their own X", xstrain)
-
-# added for standartization
-xstrain_ = utils.standartize(xstrain)
-print("Their own X", xstrain)
-print ("Standartized X", xstrain_)
-xstrain = xstrain_
-#end of standartization
-
-# added for lambda exploration
-utils.find_regularization_parameter(xstrain, ystrain)
-# end added for lambda exploration 
-
-
-
-
-print("Their own y", ystrain)
-gp1 = GaussProcess(xstrain, ystrain, #kernel=kernel_euclid,
-                   ridgecoeff=5*1e-4)
-gp1.fit(ystrain)
-krr_y_test = gp1.predict(np.asarray(xstrain))
-print("Predicted y test = ", krr_y_test)
-print(" Computed c values  = ", gp1.parest)
-c_vector = gp1.parest
-sigma_2 = 0.5
-X = xstrain
-#End of code coming from the stasmodels kernelrige class source code
-
-
-
-
-
-
- 
- n_samples, n_features = 10, 2
-rng = np.random.RandomState(0)
-#y = rng.randn(n_samples)
-y = np.random.randint(1,9,n_samples)
-X = rng.randn(n_samples, n_features)
-print("X", X)
-X_error =  X[:,np.newaxis,:]
-print("X_error", X_error)
-
-gauss_process = GaussProcess(X, y,
-                   ridgecoeff=5*1e-4)
-
-krr = gauss_process.fit(y) 
-
-"""
-
-####### this code was used to debug the data set splitting 
-"""
-_, (train_ax, test_ax) = plt.subplots(nrows=2,  sharex=True, sharey=True, figsize=(11, 10))
-
-
-train_ax.bar(X_user_friendly_train,y_train, width=0.4)
-# Add title and axis names
-train_ax.set_title('Energy/ Workload according to the configuration')
-train_ax.set_xlabel('Number of CPUs')
-train_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
-train_ax.tick_params( size=8)
-
-test_ax.bar(X_user_friendly_test,y_test, width=0.4)
-# Add title and axis names
-test_ax.set_title('Energy/ Workload according to the configuration')
-test_ax.set_xlabel('Number of CPUs')
-test_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
-test_ax.tick_params(size=8)
-
-_ = test_ax.set_title("Testing data")
-
-
-plt.gcf().autofmt_xdate()
-plt.xticks(fontsize=8)
-
-plt.savefig("kernel_ridge_training_and_testing_configuration_data__plot.png")
-
-plt.clf()
-plt.cla()
-plt.close()
-"""
-
-########### adated version - before integrating powertool results
-"""
-from sklearn.kernel_ridge import KernelRidge
-from sklearn.model_selection import train_test_split
-import matplotlib.pyplot as plt
-
-
-import numpy as np
-n_samples, n_features = 100, 2
-rng = np.random.RandomState(0)
-#y = rng.randn(n_samples)
-y = np.random.randint(1,9,n_samples)
-
-X = rng.randn(n_samples, n_features)
-
-print("X values")
-print (X)
-
-print("y values")
-print(y)
-
-
-
-
-
-# X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
-#X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
-
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=2)
-
-_, (train_ax, test_ax) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(8, 4))
-
-
-train_ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train)
-train_ax.set_ylabel("Y values")
-train_ax.set_xlabel("X values")
-train_ax.set_title("Training data")
-
-test_ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test)
-test_ax.set_xlabel("X values")
-_ = test_ax.set_title("Testing data")
-
-
-
-plt.savefig("kernel_ridge_training_and_testing_random_data__plot.png")
-
-plt.clf()
-plt.cla()
-plt.close()
-
-############## now using kernel ridge to train data
-
-krr = KernelRidge(alpha=1.0) #gamma=10)
-krr.fit(X_train, y_train)
-
-krr_y_test = krr.predict(X_test)
-
-
-# %%
-fig, (orig_data_ax, testin_data_ax, kernel_ridge_ax) = plt.subplots(
-    ncols=3, figsize=(14, 4)
-)
-
-
-orig_data_ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train)
-orig_data_ax.set_ylabel("Y values")
-orig_data_ax.set_xlabel("X values")
-orig_data_ax.set_title("training data")
-
-testin_data_ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test)
-testin_data_ax.set_ylabel("Y tested values")
-testin_data_ax.set_xlabel("X tested values")
-testin_data_ax.set_title("testing datas")
-
-kernel_ridge_ax.scatter(X_test[:, 0], X_test[:, 1], c=krr_y_test)
-kernel_ridge_ax.set_ylabel("Y predicted values on tested sample")
-kernel_ridge_ax.set_xlabel("X tested values")
-_ = kernel_ridge_ax.set_title("Projection of testing data\n using kernel ridge")
-
-print("error = ", krr.score(X_test, krr_y_test))
-
-plt.savefig("kernel_ridge_training_testing_predict_on_random_data__plot.png")
-
-plt.clf()
-plt.cla()
-plt.close()
-"""
-
-
-
-############ unmodified version 
-"""
-from sklearn.kernel_ridge import KernelRidge
-import numpy as np
-n_samples, n_features = 10, 5
-rng = np.random.RandomState(0)
-y = rng.randn(n_samples)
-X = rng.randn(n_samples, n_features)
-krr = KernelRidge(alpha=1.0)
-krr.fit(X, y)
-param = krr.get_params(1)
-print(param)
-"""
diff --git a/kernel_ridge_linear_model/old_codes_templates.py b/kernel_ridge_linear_model/old_codes_templates.py
new file mode 100755
index 0000000000000000000000000000000000000000..2c0c5c8d66e8d580327ebd5c9e6cb5344ba54371
--- /dev/null
+++ b/kernel_ridge_linear_model/old_codes_templates.py
@@ -0,0 +1,959 @@
+ 
+        
+       def function_to_compute_marginal_effect(gauss_process, X_train, y_train, X_test, y_test, sigma_2, marginal_effect_exploration_folder, R2_score, 
+              base_Y__X_meaning_dictionnary, base_Y_N_on_socket__X_meaning_dictionnary, base_Y_F__X_meaning_dictionnary, base_Y_F_N_on_socket__X_meaning_dictionnary,
+            X_format_in_model, workstep, phone_name, repeat_experiments = False): 
+
+    # computing marginal effect based on formulas (7) and (8) of the paper Kernel-Based Regularized Least Squares in R (KRLS) and Stata (krls). 
+
+    # Note : The index i represent the observation and j represent the variable. 
+    #        we have N observations and M variables
+    # getting the coef_i vector and sigma_2, in this case, I don't know why the format returned by gauss_process.parest is not the same as in this exemple,
+    #              so I add M lines, to have the format (M,1), where M is the number of observation.  
+    c_vector = (gauss_process.parest)[:,np.newaxis]
+    print("Computed c values  = ", c_vector)
+
+    # computing the marginal effect of the observation with "optimized" approaoch
+    print (" ***** START computing marginal effects with matrix***** ")
+    print ("X = ", X_train)
+    pointwise_margins, margins = comput_margin.marginal_effect(X_train, c_vector, sigma_2, repeat_experiments)
+    print (" ***** END computing marginal effects ***** ")
+    print("margins",  margins)
+    print("pointwise margins",  pointwise_margins)
+
+    # computing the marginal effect of the observation with naive implementation
+    """
+    print (" ***** START computing marginal effects with loop***** ")
+    print ("X = ", X_train)
+    n_pointwise_margins, n_margins = comput_margin.naive_marginal_effect(X_train, c_vector, sigma_2)
+    print (" ***** END computing marginal effects ***** ")
+    print("naive margins",  n_margins)
+    print("margins",  margins)
+    print("naive pointwise margins",  n_pointwise_margins)
+    print("pointwise margins",  pointwise_margins)
+    print("test of correctness means  = " + str(np.sum(n_pointwise_margins[:,0]) / len(X_train)) + 
+        " direct value = ", n_margins[0]  )
+    """
+
+
+    # generating linear regression coefficients
+    ols = sm.OLS(y_train, X_train)  # warning in the sm OLS function argument format, y is the first parameter. 
+    reg = ols.fit()
+    reg_pred_y_test = reg.predict(X_test)
+    linear_coefficients = reg.params
+    print("Predicted y test = ", reg_pred_y_test)
+    print("linear model parameters  = ",  linear_coefficients)
+    print("*** Linear model R2 score  = ", utils.compute_r2_score(y_test, reg_pred_y_test) )
+
+    if phone_name == "samsung_galaxy_s8" :
+
+        linear_coeff_vs_kernel_ridge_margins_file = marginal_effect_exploration_folder + "/linear_coeff_vs_kernel_ridge_margins.csv" # Can change depending on the r2 score
+
+        X_meaning_dictionnary = base_Y__X_meaning_dictionnary if X_format_in_model == "base_Y"  else base_Y_N_on_socket__X_meaning_dictionnary if  X_format_in_model == "base_Y_N_on_socket" else {}                 
+
+        #Capturing linear coefficients and kernel ridge means marginal effect (not pointwise) in a file
+        utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
+        
+        if  X_format_in_model == "base_Y":
+
+            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_0_state.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,8], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_state.png", 3e-11, 8)
+
+            
+            ### Plotting marginal effect plots
+            ## Regression of d_X_5 over all other variable including X_5 is the frequency of big cores
+            d_X_5_coefficients_file = marginal_effect_exploration_folder + "/d_X_5_linear_coefficients.csv"
+            d_X_5_ols = sm.OLS(pointwise_margins[:,5], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_5_reg = d_X_5_ols.fit()
+            d_X_5_linear_coefficients = d_X_5_reg.params
+            print("d_X_5 linear model parameters  = ",  d_X_5_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 5, 
+                        d_X_i_linear_coefficients = d_X_5_linear_coefficients, 
+                            file_path = d_X_5_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_5 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 5, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+        
+            # processing d_X_0
+            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_0_reg = d_X_0_ols.fit()
+            d_X_0_linear_coefficients = d_X_0_reg.params
+            print("d_X_0 linear model parameters  = ",  d_X_0_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
+                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
+                            file_path = d_X_0_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+
+
+
+
+            # processing d_X_1 (core 0 state)
+
+            d_X_1_coefficients_file = marginal_effect_exploration_folder + "/d_X_1_linear_coefficients.csv"
+            d_X_1_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_1_reg = d_X_1_ols.fit()
+            d_X_1_linear_coefficients = d_X_1_reg.params
+            print("d_X_1 linear model parameters  = ",  d_X_1_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 1, 
+                        d_X_i_linear_coefficients = d_X_1_linear_coefficients, 
+                            file_path = d_X_1_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_1 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+
+
+            # processing d_X_6 (core 6 state)
+
+            d_X_6_coefficients_file = marginal_effect_exploration_folder + "/d_X_6_linear_coefficients.csv"
+            d_X_6_ols = sm.OLS(pointwise_margins[:,6], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_6_reg = d_X_6_ols.fit()
+            d_X_6_linear_coefficients = d_X_6_reg.params
+            print("d_X_6 linear model parameters  = ",  d_X_6_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 6, 
+                        d_X_i_linear_coefficients = d_X_6_linear_coefficients, 
+                            file_path = d_X_6_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_6 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 6, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+           
+           # processing d_X_4 (core 3 state)
+
+            d_X_4_coefficients_file = marginal_effect_exploration_folder + "/d_X_4_linear_coefficients.csv"
+            d_X_4_ols = sm.OLS(pointwise_margins[:,4], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_4_reg = d_X_4_ols.fit()
+            d_X_4_linear_coefficients = d_X_4_reg.params
+            print("d_X_4 linear model parameters  = ",  d_X_4_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 4, 
+                        d_X_i_linear_coefficients = d_X_4_linear_coefficients, 
+                            file_path = d_X_4_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_4 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 4, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+
+
+            # processing d_X_9 (core 7 state)
+            d_X_9_coefficients_file = marginal_effect_exploration_folder + "/d_X_9_linear_coefficients.csv"
+            d_X_9_ols = sm.OLS(pointwise_margins[:,9], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_9_reg = d_X_9_ols.fit()
+            d_X_9_linear_coefficients = d_X_9_reg.params
+            print("d_X_9 linear model parameters  = ",  d_X_9_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 9, 
+                        d_X_i_linear_coefficients = d_X_9_linear_coefficients, 
+                            file_path = d_X_9_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_9 over other variables")
+
+            utils.plot_ten_marginal_interactions(X_train, pointwise_margins, 9, 0, 1, 2, 3,4,5,6,7, 8, 9, X_meaning_dictionnary, marginal_effect_exploration_folder, acceptable_marginal_mean_value)
+
+
+        
+            """
+
+            ## Regression of d_X_7 over all other variable including 
+            d_X_7_coefficients_file = marginal_effect_exploration_folder + "/d_X_7_linear_coefficients.csv"
+            d_X_7_ols = sm.OLS(pointwise_margins[:,7], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_7_reg = d_X_7_ols.fit()
+            d_X_7_linear_coefficients = d_X_7_reg.params
+            print("X_7_d linear model parameters  = ",  d_X_7_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 7, 
+                        d_X_i_linear_coefficients = d_X_7_linear_coefficients, 
+                            file_path = d_X_7_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_7 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 7, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+        
+
+            ## Regression of d_X_0 over all other variable including 
+            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_0_reg = d_X_0_ols.fit()
+            d_X_0_linear_coefficients = d_X_0_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
+                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
+                            file_path = d_X_0_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+            
+            
+            ## Regression of d_X_0 over all other variable including 
+            d_X_1_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_1_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_1_reg = d_X_1_ols.fit()
+            d_X_1_linear_coefficients = d_X_1_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_1_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 1, 
+                        d_X_i_linear_coefficients = d_X_1_linear_coefficients, 
+                            file_path = d_X_1_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+            """
+             
+        elif X_format_in_model == "base_Y_N_on_socket":
+              ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_actives.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_level.png", 3e-11, 3)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,9], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 4)
+
+            
+            d_X_2_coefficients_file = marginal_effect_exploration_folder + "/d_X_2_linear_coefficients.csv"
+            d_X_2_ols = sm.OLS(pointwise_margins[:,2], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_2_reg = d_X_2_ols.fit()
+            d_X_2_linear_coefficients = d_X_2_reg.params
+            print("X_2_d linear model parameters  = ",  d_X_2_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 2, 
+                        d_X_i_linear_coefficients = d_X_2_linear_coefficients, 
+                            file_path = d_X_2_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+        
+            
+            # plotting of d_X_2, regarding to other_variables with 
+            _, (d_X_2_over_X_0, d_X_2_over_X_1, d_X_2_over_X_3) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
+            d_X_2_over_X_0.scatter(X_train[:,0], pointwise_margins[:,2], c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_0.set_title('d_X_2 over X_0')
+            d_X_2_over_X_0.set_xlabel('X_0 : frequency level of little socket')
+            d_X_2_over_X_0.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
+            d_X_2_over_X_0.tick_params(size=8)
+
+
+            d_X_2_over_X_1.scatter(X_train[:,1], pointwise_margins[:,2],  c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_1.set_title('d_X_2 over X_1')
+            d_X_2_over_X_1.set_xlabel('X_1 : Number of threads on little socket')
+            d_X_2_over_X_1.set_ylabel("d_X_2 ")
+            d_X_2_over_X_1.tick_params(size=8)
+
+        
+            d_X_2_over_X_3.scatter(X_train[:,3], pointwise_margins[:,2],  c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_3.set_title('d_X_2 over X_3')
+            d_X_2_over_X_3.set_xlabel('X_3 : frequency of core 7 (8th core)')
+            d_X_2_over_X_3.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
+            d_X_2_over_X_3.tick_params(size=8)
+
+            #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
+
+            plt.gcf().autofmt_xdate()
+            plt.xticks(fontsize=8)
+            plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_frequency_of_Medium_core_over_frequency_of_little_socket_number_of_thread_on_little_socket_and_8_th_core_frequency.png")
+            plt.clf()
+            plt.cla()
+            plt.close()
+            
+        
+    if phone_name == "google_pixel_4a_5g" :
+
+        linear_coeff_vs_kernel_ridge_margins_file = marginal_effect_exploration_folder + "/linear_coeff_vs_kernel_ridge_margins.csv" # Can change depending on the r2 score
+        if  X_format_in_model == "base_Y_N_on_socket":
+            X_meaning_dictionnary = base_Y_N_on_socket__X_meaning_dictionnary
+            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
+
+
+            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_actives.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 3)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,3], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 4)
+
+            
+            d_X_2_coefficients_file = marginal_effect_exploration_folder + "/d_X_2_linear_coefficients.csv"
+            d_X_2_ols = sm.OLS(pointwise_margins[:,2], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_2_reg = d_X_2_ols.fit()
+            d_X_2_linear_coefficients = d_X_2_reg.params
+            print("X_2_d linear model parameters  = ",  d_X_2_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 2, 
+                        d_X_i_linear_coefficients = d_X_2_linear_coefficients, 
+                            file_path = d_X_2_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+        
+            
+            # plotting of d_X_2, regarding to other_variables with 
+            _, (d_X_2_over_X_0, d_X_2_over_X_1, d_X_2_over_X_3) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
+            d_X_2_over_X_0.scatter(X_train[:,0], pointwise_margins[:,2], c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_0.set_title('d_X_2 over X_0')
+            d_X_2_over_X_0.set_xlabel('X_0 : frequency level of little socket')
+            d_X_2_over_X_0.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
+            d_X_2_over_X_0.tick_params(size=8)
+
+
+            d_X_2_over_X_1.scatter(X_train[:,1], pointwise_margins[:,2],  c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_1.set_title('d_X_2 over X_1')
+            d_X_2_over_X_1.set_xlabel('X_1 : Number of threads on little socket')
+            d_X_2_over_X_1.set_ylabel("d_X_2 ")
+            d_X_2_over_X_1.tick_params(size=8)
+
+        
+            d_X_2_over_X_3.scatter(X_train[:,3], pointwise_margins[:,2],  c = "blue")
+            # Add title and axis names
+            d_X_2_over_X_3.set_title('d_X_2 over X_3')
+            d_X_2_over_X_3.set_xlabel('X_3 : frequency of core 7 (8th core)')
+            d_X_2_over_X_3.set_ylabel("d_X_2 : pointwise marginal effect of frequency of Medium core")
+            d_X_2_over_X_3.tick_params(size=8)
+
+            #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
+
+            plt.gcf().autofmt_xdate()
+            plt.xticks(fontsize=8)
+            plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_frequency_of_Medium_core_over_frequency_of_little_socket_number_of_thread_on_little_socket_and_8_th_core_frequency.png")
+            plt.clf()
+            plt.cla()
+            plt.close()
+            
+        elif X_format_in_model == "base_Y":
+            if( workstep == "plotting_graphs_for_the_paper"):
+                X_meaning_dictionnary = utils.get_for_the_paper_X_format_meaning_dictionnaries(phone_name)
+            else: 
+                X_meaning_dictionnary = base_Y__X_meaning_dictionnary
+            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
+        
+            
+            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_0_state.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,7], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,8], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 8)
+
+            ### Plotting marginal effect plots
+            """
+            ## Regression of d_X_8 over all other variable including
+            d_X_8_coefficients_file = marginal_effect_exploration_folder + "/d_X_8_linear_coefficients.csv"
+            d_X_8_ols = sm.OLS(pointwise_margins[:,8], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_8_reg = d_X_8_ols.fit()
+            d_X_8_linear_coefficients = d_X_8_reg.params
+            print("X_8_d linear model parameters  = ",  d_X_8_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 8, 
+                        d_X_i_linear_coefficients = d_X_8_linear_coefficients, 
+                            file_path = d_X_8_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_8 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 8, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+        
+
+
+            ## Regression of d_X_7 over all other variable including 
+            d_X_7_coefficients_file = marginal_effect_exploration_folder + "/d_X_7_linear_coefficients.csv"
+            d_X_7_ols = sm.OLS(pointwise_margins[:,7], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_7_reg = d_X_7_ols.fit()
+            d_X_7_linear_coefficients = d_X_7_reg.params
+            print("X_7_d linear model parameters  = ",  d_X_7_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 7, 
+                        d_X_i_linear_coefficients = d_X_7_linear_coefficients, 
+                            file_path = d_X_7_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_7 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 7, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+        
+
+            ## Regression of d_X_0 over all other variable including 
+            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_0_reg = d_X_0_ols.fit()
+            d_X_0_linear_coefficients = d_X_0_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
+                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
+                            file_path = d_X_0_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            utils.plot_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+            
+            """
+          
+            
+
+            ## Regression of d_X_1 over all other variable including 
+            print(" X train size: ", len(X_train))
+            print(" Margin size ", len(pointwise_margins[:,1]))
+            print(" Repeat experiments ", repeat_experiments)
+            d_X_1_coefficients_file = marginal_effect_exploration_folder + "/d_X_1_linear_coefficients.csv"
+            d_X_1_ols = sm.OLS(pointwise_margins[:,1], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_1_reg = d_X_1_ols.fit()
+            d_X_1_linear_coefficients = d_X_1_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_1_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 1, 
+                        d_X_i_linear_coefficients = d_X_1_linear_coefficients, 
+                            file_path = d_X_1_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            avg_marginal_score_table = utils.plot_marginal_interactions(X_train, pointwise_margins, 1, 0, 1, 2, 3,4,5,6,7, 8, X_meaning_dictionnary, marginal_effect_exploration_folder, 
+                                 workstep = "plotting_graphs_for_the_paper", paper_fontsize = 28)
+            
+        elif X_format_in_model == "base_Y_F":
+            X_meaning_dictionnary = base_Y_F__X_meaning_dictionnary
+            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
+            """
+            {"X_0" : "Little Socket frequency is freed",
+                                    "X_1" : "frequency level of Little Socket",
+                                    "X_2" : "Core 0 state", 
+                                    "X_3" : "Core 1 state", 
+                                    "X_4" : "Core 2 state", 
+                                    "X_5" : "Core 3 state", 
+                                    "X_6" : "Core 4 state",
+                                    "X_7" : "Core 5 state",  
+                                    "X_8" : "Medium Socket frequency is freed",
+                                    "X_9" : "Medium Socket or core 6 frequency",
+                                    "X_10" : "Big Socket frequency is freed",
+                                    "X_11" : "Big Socket or core 7 frequency"} 
+            """
+            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_freed.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_0_state.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,9], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_6_frequency_level.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,11], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_core_7_frequency_level.png", 3e-11, 8)
+
+            ### Plotting marginal effect plots
+
+            ## Regression of d_X_0 (frequency of little socket is freed) over all other variable
+            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_0_reg = d_X_0_ols.fit()
+            d_X_0_linear_coefficients = d_X_0_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
+                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
+                            file_path = d_X_0_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6,7, 8, 9,10,11, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+            
+
+
+            ## Regression of d_X_8 over (frequency of medium socket is freed) all other variable including
+            d_X_8_coefficients_file = marginal_effect_exploration_folder + "/d_X_8_linear_coefficients.csv"
+            d_X_8_ols = sm.OLS(pointwise_margins[:,8], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_8_reg = d_X_8_ols.fit()
+            d_X_8_linear_coefficients = d_X_8_reg.params
+            print("X_8_d linear model parameters  = ",  d_X_8_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 8, 
+                        d_X_i_linear_coefficients = d_X_8_linear_coefficients, 
+                            file_path = d_X_8_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_8 over other variables")
+            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 8, 0, 1, 2, 3,4,5,6,7, 8, 9,10, 11, X_meaning_dictionnary, marginal_effect_exploration_folder)
+        
+
+
+            ## Regression of d_X_10 over (frequency of medium socket is freed) all other variable including
+            d_X_10_coefficients_file = marginal_effect_exploration_folder + "/d_X_10_linear_coefficients.csv"
+            d_X_10_ols = sm.OLS(pointwise_margins[:,10], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_10_reg = d_X_10_ols.fit()
+            d_X_10_linear_coefficients = d_X_10_reg.params
+            print("X_10_d linear model parameters  = ",  d_X_10_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 10, 
+                        d_X_i_linear_coefficients = d_X_10_linear_coefficients, 
+                            file_path = d_X_10_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_10 over other variables")
+            utils.plot_twelve_marginal_interactions(X_train, pointwise_margins, 10, 0, 1, 2, 3,4,5,6,7, 8, 9,10,11, X_meaning_dictionnary, marginal_effect_exploration_folder)
+                     
+        elif X_format_in_model == "base_Y_F_N_on_socket":
+            """
+            base_Y_F_N_on_socket__X_meaning_dictionnary = {"X_0" : "Little Socket frequency is freed",
+                                    "X_1" : "frequency level of Little Socket",
+                                    "X_2" : "Number of little cores active",  
+                                    "X_3" : "Medium Socket frequency is freed",
+                                    "X_4" : "frequency level of Medium Socket or core 6",
+                                    "X_5" : "Big Socket frequency is freed",
+                                    "X_6" : "frequency level of Big Socket or core 7"} 
+            """
+            X_meaning_dictionnary = base_Y_F_N_on_socket__X_meaning_dictionnary
+            utils.capture_kernel_means_marginal_and_linear_model_coeff(margins, linear_coefficients, linear_coeff_vs_kernel_ridge_margins_file, X_meaning_dictionnary)
+           
+            ### Plotting X_1 distribution plot (Note, it is the activation state of the first core! because we are in Base_Y format of X).
+            # plotting histograph
+        
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,0], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_freed.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,1], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_little_socket_frequency_level.png", 3e-11, 8)
+
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,2], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_number_of_little_cores_active.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,3], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_medium_socket_frequency_freed.png", 3e-11, 8)
+            utils.plot_marginal_effect_histogramm_graph(pointwise_margins[:,5], marginal_effect_exploration_folder + "/point_wise_marginal_distribution_of_big_socket_frequency_freed.png", 3e-11, 8)
+
+            ### Plotting marginal effect plots
+
+            ## Regression of d_X_0 (frequency of little socket is freed) over all other variable
+            d_X_0_coefficients_file = marginal_effect_exploration_folder + "/d_X_0_linear_coefficients.csv"
+            d_X_0_ols = sm.OLS(pointwise_margins[:,0], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_0_reg = d_X_0_ols.fit()
+            d_X_0_linear_coefficients = d_X_0_reg.params
+            print("X_0_d linear model parameters  = ",  d_X_0_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 0, 
+                        d_X_i_linear_coefficients = d_X_0_linear_coefficients, 
+                            file_path = d_X_0_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_0 over other variables")
+            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 0, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
+            
+            
+
+
+            ## Regression of d_X_8 over (frequency of medium socket is freed) all other variable including
+            d_X_3_coefficients_file = marginal_effect_exploration_folder + "/d_X_3_linear_coefficients.csv"
+            d_X_3_ols = sm.OLS(pointwise_margins[:,3], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_3_reg = d_X_3_ols.fit()
+            d_X_3_linear_coefficients = d_X_3_reg.params
+            print("X_3_d linear model parameters  = ",  d_X_3_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 3, 
+                        d_X_i_linear_coefficients = d_X_3_linear_coefficients, 
+                            file_path = d_X_3_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_3 over other variables")
+            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 3, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
+        
+
+
+            ## Regression of d_X_5 over (frequency of medium socket is freed) all other variable including
+            d_X_5_coefficients_file = marginal_effect_exploration_folder + "/d_X_5_linear_coefficients.csv"
+            d_X_5_ols = sm.OLS(pointwise_margins[:,5], X_train )  # warning in the sm OLS function argument format, y is the first parameter. 
+            d_X_5_reg = d_X_5_ols.fit()
+            d_X_5_linear_coefficients = d_X_5_reg.params
+            print("X_5_d linear model parameters  = ",  d_X_5_linear_coefficients)
+            utils.capture_d_X_i_linear_coefficient_on_others_X_variables(d_X_i_indice = 5, 
+                        d_X_i_linear_coefficients = d_X_5_linear_coefficients, 
+                            file_path = d_X_5_coefficients_file,
+                        X_meaning_dictionnary_ = X_meaning_dictionnary)
+            print("Plotting d_X_5 over other variables")
+            utils.plot_seven_marginal_interactions(X_train, pointwise_margins, 5, 0, 1, 2, 3,4,5,6, X_meaning_dictionnary, marginal_effect_exploration_folder)
+    
+    
+    return pointwise_margins, X_meaning_dictionnary      
+  
+
+       
+       
+       
+        """
+        # Caprices de Vlad
+        print("--- Number of input with fourth core activated: " + repr(utils.count_number_of_input_with_fourth_core_on(X_train)))
+        print("--- Size of X train: " + repr(len(X_train)))
+        print("--- Ratio of input with fourth core activated: " + repr(float(utils.count_number_of_input_with_fourth_core_on(X_train)) / float(len(X_train))))
+        
+        input_to_look_at = utils.inputs_where_d_X_index_is_negative(pointwise_margins, 8, X_train)
+        print("--- Inputs where d_X_8 is negative: " , repr(input_to_look_at))
+        print("--- Size: ",  repr(len(input_to_look_at)) )
+        print("--- Size of X train: " + repr(len(X_train)))
+        """
+        
+
+
+
+    #print(" ********** d_X_1 np array:", pointwise_margins[:,0])
+    #print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
+    #print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
+
+        """
+        # plotting of d_X_1, regarding to other_variables with 
+        _, (d_X_1_over_X_0, d_X_1_over_X_1, d_X_1_over_X_8) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
+        d_X_1_over_X_0.scatter(X_train[:,0], pointwise_margins[:,1], c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_0.set_title('d_X_1 over X_0')
+        d_X_1_over_X_0.set_xlabel('X_0 : frequency level of little socket')
+        d_X_1_over_X_0.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
+        d_X_1_over_X_0.tick_params(size=8)
+
+
+        d_X_1_over_X_1.scatter(X_train[:,1], pointwise_margins[:,1],  c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_1.set_title('d_X_1 over X_1')
+        d_X_1_over_X_1.set_xlabel('X_1 : state of core 0 (1rst core)')
+        d_X_1_over_X_1.set_ylabel("d_X_1 ")
+        d_X_1_over_X_1.tick_params(size=8)
+
+    
+        d_X_1_over_X_8.scatter(X_train[:,8], pointwise_margins[:,1],  c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_8.set_title('d_X_1 over X_8')
+        d_X_1_over_X_8.set_xlabel('X_8 : frequency of core 7 (8th core)')
+        d_X_1_over_X_8.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
+        d_X_1_over_X_8.tick_params(size=8)
+
+        #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
+
+        plt.gcf().autofmt_xdate()
+        plt.xticks(fontsize=8)
+        plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_core_1_state_over_little_socket__1_srt_and_8_th_cores.png")
+        plt.clf()
+        plt.cla()
+        plt.close()
+
+        print(" ********** d_X_1 np array:", n_pointwise_margins[:,0])
+        print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
+        print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
+
+        """
+
+
+
+        """
+        # plotting of d_X_1, regarding to other_variables with 
+        _, (d_X_1_over_X_0, d_X_1_over_X_1, d_X_1_over_X_8) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
+        d_X_1_over_X_0.scatter(X_train[:,0], pointwise_margins[:,1], c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_0.set_title('d_X_1 over X_0')
+        d_X_1_over_X_0.set_xlabel('X_0 : frequency level of little socket')
+        d_X_1_over_X_0.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
+        d_X_1_over_X_0.tick_params(size=8)
+
+
+        d_X_1_over_X_1.scatter(X_train[:,1], pointwise_margins[:,1],  c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_1.set_title('d_X_1 over X_1')
+        d_X_1_over_X_1.set_xlabel('X_1 : state of core 0 (1rst core)')
+        d_X_1_over_X_1.set_ylabel("d_X_1 ")
+        d_X_1_over_X_1.tick_params(size=8)
+
+    
+        d_X_1_over_X_8.scatter(X_train[:,8], pointwise_margins[:,1],  c = "blue")
+        # Add title and axis names
+        d_X_1_over_X_8.set_title('d_X_1 over X_8')
+        d_X_1_over_X_8.set_xlabel('X_8 : frequency of core 7 (8th core)')
+        d_X_1_over_X_8.set_ylabel("d_X_1 : pointwise marginal effect of core 0 state")
+        d_X_1_over_X_8.tick_params(size=8)
+
+        #_ = d_X_0_over_X_5.set_title("Point wise marginal effect of frequency of core 0 according to the one of core 1, 2 and 3")
+
+        plt.gcf().autofmt_xdate()
+        plt.xticks(fontsize=8)
+        plt.savefig(marginal_effect_exploration_folder + "/point_wise_marginal_effect_of_core_1_state_over_little_socket__1_srt_and_8_th_cores.png")
+        plt.clf()
+        plt.cla()
+        plt.close()
+
+        print(" ********** d_X_1 np array:", n_pointwise_margins[:,0])
+        print(" ********** d_X_1 dataframe:", pandas.DataFrame(n_pointwise_margins[:,0]))
+        print(" ********** d_X_1 description: " + str (pandas.DataFrame(n_pointwise_margins[:,0]).describe()))
+
+        """
+
+
+
+
+
+
+
+
+"""
+####################################  Prediction on samsung galaxy s8
+X_user_friendly = data.X_user_friendly_samsung_galaxy_s8
+print ("*** Total configurations user friendly: ", X_user_friendly)
+X =data.X_samsung_galaxy_s8
+print ("*** Total Configurations formatted: ", X)
+X_dict = data.X_dict_samsung_galaxy_s8
+print ("*** Total Configurations dictionnary: ", X_dict)
+y = data.y_samsung_galaxy_s8
+print("*** Ratio energy by wokload : ", y)
+
+
+
+
+# to do generate_equivalent_entries(X,y)
+#################################
+
+
+X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=2)
+X_user_friendly_train = utils.get_X_user_friendly_from_X(X_train, X_dict)
+X_user_friendly_test = utils.get_X_user_friendly_from_X(X_test, X_dict)
+
+
+print ("Train set Configurations : ", X_train)
+print ("Train set energy by workload : ", y_train)
+print ("Test set Configurations : ", X_test)
+print ("Test set energy by workload : ", y_test)
+print ("Train set Configurations in user friendly mode : ", X_user_friendly_train)
+print ("Test set Configurations in user friendly mode : ", X_user_friendly_test)
+
+
+############## now using kernel ridge to train data
+krr = KernelRidge(alpha=1.0, kernel="rbf") #gamma=10)
+krr.fit(X_train, y_train)
+krr_y_test = krr.predict(X_test)
+
+
+_, (orig_data_ax, testin_data_ax, kernel_ridge_ax) = plt.subplots(nrows=3, sharex=True, sharey=True, figsize=(12, 13))
+orig_data_ax.bar(X_user_friendly_train,y_train, width=0.4)
+# Add title and axis names
+orig_data_ax.set_title('Training datas energy/workload ratio')
+orig_data_ax.set_xlabel('Configuration')
+orig_data_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
+orig_data_ax.tick_params(size=8)
+
+testin_data_ax.bar(X_user_friendly_test,y_test, width=0.4)
+# Add title and axis names
+testin_data_ax.set_title('Testing datas energy/workload ratio')
+testin_data_ax.set_xlabel('Configuration')
+testin_data_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
+testin_data_ax.tick_params(size=8)
+
+kernel_ridge_ax.bar(X_user_friendly_test,krr_y_test, width=0.4)
+# Add title and axis names
+kernel_ridge_ax.set_title('Predited energy/workload ratio')
+kernel_ridge_ax.set_xlabel('Configuration')
+kernel_ridge_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
+kernel_ridge_ax.tick_params(size=8)
+
+_ = kernel_ridge_ax.set_title("Predicted data\n using kernel ridge, R2 = " + str(krr.score(X_test, y_test)))
+
+print("error = ", krr.score(X_test, y_test))
+print("parrams = " ,  krr.get_params(False))
+print("regressors = " ,  krr)
+plt.gcf().autofmt_xdate()
+plt.xticks(fontsize=8)
+plt.savefig("kernel_ridge_prediction_on_samsung_galaxy_s8.png")
+plt.clf()
+plt.cla()
+plt.close()
+"""
+
+####### This code was used to test the avalaible source code of the statmodels class  kernridgeregress_class from this
+# https://github.com/statsmodels/statsmodels/blob/825581cf17f1e79118592f15f49be7ad890a7104/statsmodels/sandbox/regression/kernridgeregress_class.py#L9
+
+"""
+ # code coming from sklearn
+krr = KernelRidge(alpha=1.0, kernel="rbf") #gamma=10)
+krr.fit(X_train, y_train)
+krr_y_test = krr.predict(X_test)
+
+
+
+
+#Code coming from the stasmodels kernelrige class source code
+m,k = 10,4
+##m,k = 50,4
+upper = 6
+scale = 10
+xs = np.linspace(1,upper,m)[:,np.newaxis]
+#xs1 = xs1a*np.ones((1,4)) + 1/(1.0+np.exp(np.random.randn(m,k)))
+#xs1 /= np.std(xs1[::k,:],0)   # normalize scale, could use cov to normalize
+##y1true = np.sum(np.sin(xs1)+np.sqrt(xs1),1)[:,np.newaxis]
+xs1 = np.sin(xs)#[:,np.newaxis]
+y1true = np.sum(xs1 + 0.01*np.sqrt(np.abs(xs1)),1)[:,np.newaxis]
+y1 = y1true + 0.10 * np.random.randn(m,1)
+
+stride = 3 #use only some points as trainig points e.g 2 means every 2nd
+xstrain = xs1[::stride,:]
+ystrain = y1[::stride,:]
+ratio = int(m/2)
+print("ratio = ", ratio)
+xstrain = np.r_[xs1[:ratio,:], xs1[ratio+10:,:]]
+ystrain = np.r_[y1[:ratio,:], y1[ratio+10:,:]]
+index = np.hstack((np.arange(m/2), np.arange(m/2+10,m)))
+print("Their own X", xstrain)
+
+# added for standartization
+xstrain_ = utils.standartize(xstrain)
+print("Their own X", xstrain)
+print ("Standartized X", xstrain_)
+xstrain = xstrain_
+#end of standartization
+
+# added for lambda exploration
+utils.find_regularization_parameter(xstrain, ystrain)
+# end added for lambda exploration 
+
+
+
+
+print("Their own y", ystrain)
+gp1 = GaussProcess(xstrain, ystrain, #kernel=kernel_euclid,
+                   ridgecoeff=5*1e-4)
+gp1.fit(ystrain)
+krr_y_test = gp1.predict(np.asarray(xstrain))
+print("Predicted y test = ", krr_y_test)
+print(" Computed c values  = ", gp1.parest)
+c_vector = gp1.parest
+sigma_2 = 0.5
+X = xstrain
+#End of code coming from the stasmodels kernelrige class source code
+
+
+
+
+
+
+ 
+ n_samples, n_features = 10, 2
+rng = np.random.RandomState(0)
+#y = rng.randn(n_samples)
+y = np.random.randint(1,9,n_samples)
+X = rng.randn(n_samples, n_features)
+print("X", X)
+X_error =  X[:,np.newaxis,:]
+print("X_error", X_error)
+
+gauss_process = GaussProcess(X, y,
+                   ridgecoeff=5*1e-4)
+
+krr = gauss_process.fit(y) 
+
+"""
+
+####### this code was used to debug the data set splitting 
+"""
+_, (train_ax, test_ax) = plt.subplots(nrows=2,  sharex=True, sharey=True, figsize=(11, 10))
+
+
+train_ax.bar(X_user_friendly_train,y_train, width=0.4)
+# Add title and axis names
+train_ax.set_title('Energy/ Workload according to the configuration')
+train_ax.set_xlabel('Number of CPUs')
+train_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
+train_ax.tick_params( size=8)
+
+test_ax.bar(X_user_friendly_test,y_test, width=0.4)
+# Add title and axis names
+test_ax.set_title('Energy/ Workload according to the configuration')
+test_ax.set_xlabel('Number of CPUs')
+test_ax.set_ylabel(r'Energy consumed/Workload ($\times 10E-11$)')
+test_ax.tick_params(size=8)
+
+_ = test_ax.set_title("Testing data")
+
+
+plt.gcf().autofmt_xdate()
+plt.xticks(fontsize=8)
+
+plt.savefig("kernel_ridge_training_and_testing_configuration_data__plot.png")
+
+plt.clf()
+plt.cla()
+plt.close()
+"""
+
+########### adated version - before integrating powertool results
+"""
+from sklearn.kernel_ridge import KernelRidge
+from sklearn.model_selection import train_test_split
+import matplotlib.pyplot as plt
+
+
+import numpy as np
+n_samples, n_features = 100, 2
+rng = np.random.RandomState(0)
+#y = rng.randn(n_samples)
+y = np.random.randint(1,9,n_samples)
+
+X = rng.randn(n_samples, n_features)
+
+print("X values")
+print (X)
+
+print("y values")
+print(y)
+
+
+
+
+
+# X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
+#X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
+
+X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=2)
+
+_, (train_ax, test_ax) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(8, 4))
+
+
+train_ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train)
+train_ax.set_ylabel("Y values")
+train_ax.set_xlabel("X values")
+train_ax.set_title("Training data")
+
+test_ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test)
+test_ax.set_xlabel("X values")
+_ = test_ax.set_title("Testing data")
+
+
+
+plt.savefig("kernel_ridge_training_and_testing_random_data__plot.png")
+
+plt.clf()
+plt.cla()
+plt.close()
+
+############## now using kernel ridge to train data
+
+krr = KernelRidge(alpha=1.0) #gamma=10)
+krr.fit(X_train, y_train)
+
+krr_y_test = krr.predict(X_test)
+
+
+# %%
+fig, (orig_data_ax, testin_data_ax, kernel_ridge_ax) = plt.subplots(
+    ncols=3, figsize=(14, 4)
+)
+
+
+orig_data_ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train)
+orig_data_ax.set_ylabel("Y values")
+orig_data_ax.set_xlabel("X values")
+orig_data_ax.set_title("training data")
+
+testin_data_ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test)
+testin_data_ax.set_ylabel("Y tested values")
+testin_data_ax.set_xlabel("X tested values")
+testin_data_ax.set_title("testing datas")
+
+kernel_ridge_ax.scatter(X_test[:, 0], X_test[:, 1], c=krr_y_test)
+kernel_ridge_ax.set_ylabel("Y predicted values on tested sample")
+kernel_ridge_ax.set_xlabel("X tested values")
+_ = kernel_ridge_ax.set_title("Projection of testing data\n using kernel ridge")
+
+print("error = ", krr.score(X_test, krr_y_test))
+
+plt.savefig("kernel_ridge_training_testing_predict_on_random_data__plot.png")
+
+plt.clf()
+plt.cla()
+plt.close()
+"""
+
+
+
+############ unmodified version 
+"""
+from sklearn.kernel_ridge import KernelRidge
+import numpy as np
+n_samples, n_features = 10, 5
+rng = np.random.RandomState(0)
+y = rng.randn(n_samples)
+X = rng.randn(n_samples, n_features)
+krr = KernelRidge(alpha=1.0)
+krr.fit(X, y)
+param = krr.get_params(1)
+print(param)
+"""
diff --git a/kernel_ridge_linear_model/utils_functions.py b/kernel_ridge_linear_model/utils_functions.py
index 3d1b6a4693edd90c13bfa33a9fdb19e13ed51729..235de9164f46aaea905dc52c8a93249dfdca30d7 100755
--- a/kernel_ridge_linear_model/utils_functions.py
+++ b/kernel_ridge_linear_model/utils_functions.py
@@ -1848,7 +1848,8 @@ def plot_single_marginal_plot(name_in_global_plot, X_train, pointwise_margins, i
 
 
 
-def plot_marginal_interactions (X_train, pointwise_margins, cibled_indice, indice_0, indice_1, indice_2,  indice_3, indice_4, indice_5, indice_6, indice_7, indice_8 , X_meaning_dictionnary_, marginal_effect_exploration_folder_, workstep =  "" , paper_fontsize = 12):
+def plot_marginal_interactions (X_train, pointwise_margins, cibled_indice, indice_0, indice_1, indice_2,  indice_3, 
+           indice_4, indice_5, indice_6, indice_7, indice_8 , X_meaning_dictionnary_, marginal_effect_exploration_folder_, workstep =  "" , paper_fontsize = 12, repeat_experiments = False):
 
     transparency = 0.007
     J_L_mapping = []
@@ -1867,8 +1868,8 @@ def plot_marginal_interactions (X_train, pointwise_margins, cibled_indice, indic
        
         plt.tight_layout()       
 
-
-        plt.savefig(marginal_effect_exploration_folder_ + "/"+  X_meaning_dictionnary_["X_" + str(cibled_indice)].replace(" ","_")[-16:] + \
+        if not repeat_experiments:
+            plt.savefig(marginal_effect_exploration_folder_ + "/"+  X_meaning_dictionnary_["X_" + str(cibled_indice)].replace(" ","_")[-16:] + \
                                               "_over_" +  X_meaning_dictionnary_["X_" + str(indice_1)].replace(" ","_")[-16:] + ".png")
 
         plt.savefig(marginal_effect_exploration_folder_ + "/"+  "X_" + str(cibled_indice) + \
@@ -1968,8 +1969,10 @@ def plot_marginal_interactions (X_train, pointwise_margins, cibled_indice, indic
    
     
     #plt.gcf().autofmt_xdate()
-    plt.savefig(marginal_effect_exploration_folder_ + "/"+ picture_name)#, format="png", bbox_inches="tight")
-    plt.savefig(marginal_effect_exploration_folder_ + "/"+ reduced_picture_name)#, format="png", bbox_inches="tight")
+    
+    if not repeat_experiments:
+        plt.savefig(marginal_effect_exploration_folder_ + "/"+ picture_name)#, format="png", bbox_inches="tight")
+        plt.savefig(marginal_effect_exploration_folder_ + "/"+ reduced_picture_name)#, format="png", bbox_inches="tight")
     plt.clf()
     plt.cla()
     plt.close()