for i in range(0, len(par_names)):
        temp = []
        for j in range(0, len(lambdas)):
            temp.append(reg_path_temp[z+j])
        reg_path.append(temp)
        z += len(lambdas)

    return [reg_path, lambdas, par_names, conv_points]


file_name = ['logicle5_1']

obj_list = [obj_logicle]

threshold_linear = 1e-10
threshold_logicle = logicleTransform([threshold_linear], T=1, end_lin=1e-5)[0]
# threshold_logE = np.log10(1+threshold_linear)
threshold_list = [threshold_logicle] #, threshold_logE, threshold_linear]

#par_linear = visualize.get_opt_par_list(100, path='modelSelection/linear/')
par_logicle = visualize.get_opt_par_list(200, path='modelSelection/logicle5_1/')
#par_logE = visualize.get_opt_par_list(100, path='modelSelection/logE_1/')
par_list = [par_logicle]

reg_path_list = []
lambdas_list = []
par_names_list = []
conv_list = []
ms_list = []

for j in range(0, len(file_name)):
Esempio n. 2
0
import LogicleScale
from LogicleScale import logicleTransform
import numpy as np

# logicle_object = LogicleScale.LogicleObject(T=3, end_lin=1e-5)

par = np.linspace(0, 100, 100)

l = logicleTransform(par, T=100.0, end_lin=1e-5)

l1 = LogicleScale.logicleInverseTransform(l[0], l[1])

l2 = LogicleScale.logicleGradient(l[0], l[1])

l3 = LogicleScale.logicleInverseGradient(1, l[1])
Esempio n. 3
0
"""
    Generating the grafic from the thesis
"""

import numpy as np
import matplotlib.pyplot as plt

from LogicleScale import logicleTransform, logicleInverseTransform

par = np.linspace(0, 1000, 1000)

T = 1000
W = 2

par_logicle = logicleTransform(par=par, T=T, M=4.5, W=W, A=-W)

fontsize = 12

fig, (ax1, ax2) = plt.subplots(nrows=1,
                               ncols=2,
                               constrained_layout=True,
                               figsize=(9, 4))

# generate parameters
par = [0.0]
p2 = np.linspace(1e-20, 1e-3, 1000)
p3 = [1000.0]

for i in range(0, len(p2)):
    par.append(p2[i])
par.append(p3[0])
    # ax.set_xscale('log')
    ax.set_ylim(-0.5, 20.5)

    if i == 0:
        paper_log = np.log10(np.array(best_par_paper_1))
        plot_par(paper_log, lb, ub, best_par, axs.flatten()[0])
        ax.set_title('$\log_{10}$', fontsize=16)#, weight='bold')
        ax.set_ylabel('parameter name', fontsize=16)
        ax.text(-0.08, 1.01, 'A', transform=ax.transAxes, size=22, weight='bold')
        ax.set_xticks([-10,-5, 0,  3])
        for j in range(0, 9):
            ax.get_yticklabels()[j].set_color('red')


    if i == 1:
        paper_logicle = logicleTransform(best_par_paper, T=100, end_lin=1e-6)[0]
        plot_par(paper_logicle, lb, ub, best_par, axs.flatten()[1])
        ax.set_title('logicle', fontsize=16)#, weight='bold')
        ax.text(-0.08, 1.01,  'B', transform=ax.transAxes, size=22, weight='bold')
        ax.set_xticks([0,0.25,0.5,0.75,1])

    if i == 2:
        paper_logE = np.log10(np.array(best_par_paper_logE) - 1e-5)
        print('lin', 10 ** np.array(best_par) - 1e-5)
        plot_par(paper_logE, lb, ub, best_par, axs.flatten()[2])
        ax.set_title('$\log_{10}(\\theta+10^{-5})$', fontsize=16)#, weight='bold')
        ax.text(-0.08, 1.01,  'C', transform=ax.transAxes, size=22, weight='bold')
        ax.set_xticks([-5, -2, 0, 2])

    i += 1