Example #1
0
# standardize x and y
autoscaled_variables_train = (variables_train - variables_train.mean(axis=0)
                              ) / variables_train.std(axis=0, ddof=1)
autoscaled_variables_test = (variables_test - variables_train.mean(axis=0)
                             ) / variables_train.std(axis=0, ddof=1)

# optimize hyperparameter in GTMR with CV
model = GTM()
model.gtmr_cv_opt(autoscaled_variables_train, numbers_of_y,
                  candidates_of_shape_of_map,
                  candidates_of_shape_of_rbf_centers,
                  candidates_of_variance_of_rbfs,
                  candidates_of_lambda_in_em_algorithm, fold_number,
                  number_of_iterations)
model.display_flag = display_flag
print('optimized shape of map :', model.shape_of_map)
print('optimized shape of RBF centers :', model.shape_of_rbf_centers)
print('optimized variance of RBFs :', model.variance_of_rbfs)
print('optimized lambda in EM algorithm :', model.lambda_in_em_algorithm)

# construct GTMR model
model.fit(autoscaled_variables_train)
if model.success_flag:
    # calculate of responsibilities
    responsibilities = model.responsibility(autoscaled_variables_train)
    means = responsibilities.dot(model.map_grids)
    modes = model.map_grids[responsibilities.argmax(axis=1), :]

    plt.rcParams['font.size'] = 18
    for y_number in numbers_of_y: