diff --git a/lang/fr/notebooks/else/run_rwalk_symonly.py b/lang/fr/notebooks/else/run_rwalk_symonly.py new file mode 100644 index 0000000..8c929e6 --- /dev/null +++ b/lang/fr/notebooks/else/run_rwalk_symonly.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Sun Dec 23 16:56:44 2018 + +@author: ljia +""" + +import functools +from libs import * +import multiprocessing + +from gklearn.kernels.rwalk_sym import randomwalkkernel +from gklearn.utils.kernels import deltakernel, gaussiankernel, kernelproduct + +import numpy as np + + +dslist = [ + {'name': 'Letter-med', 'dataset': '../datasets/Letter-med/Letter-med_A.txt'}, + # node nsymb + {'name': 'ENZYMES', 'dataset': '../datasets/ENZYMES_txt/ENZYMES_A_sparse.txt'}, + # node symb/nsymb +] +estimator = randomwalkkernel +param_grid = [{'C': np.logspace(-10, 10, num=41, base=10)}, + {'alpha': np.logspace(-10, 10, num=41, base=10)}] + +for ds in dslist: + print() + print(ds['name']) + for compute_method in ['conjugate', 'fp']: + if compute_method == 'sylvester': + param_grid_precomputed = {'compute_method': ['sylvester'], +# 'weight': np.linspace(0.01, 0.10, 10)} + 'weight': np.logspace(-1, -10, num=10, base=10)} + elif compute_method == 'conjugate': + mixkernel = functools.partial(kernelproduct, deltakernel, gaussiankernel) + param_grid_precomputed = {'compute_method': ['conjugate'], + 'node_kernels': + [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}], + 'edge_kernels': + [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}], + 'weight': np.logspace(-1, -10, num=10, base=10)} + elif compute_method == 'fp': + mixkernel = functools.partial(kernelproduct, deltakernel, gaussiankernel) + param_grid_precomputed = {'compute_method': ['fp'], + 'node_kernels': + [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}], + 'edge_kernels': + [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}], + 'weight': np.logspace(-3, -10, num=8, base=10)} + elif compute_method == 'spectral': + param_grid_precomputed = {'compute_method': ['spectral'], + 'weight': np.logspace(-1, -10, num=10, base=10), + 'sub_kernel': ['geo', 'exp']} + model_selection_for_precomputed_kernel( + ds['dataset'], + estimator, + param_grid_precomputed, + (param_grid[1] if ('task' in ds and ds['task'] + == 'regression') else param_grid[0]), + (ds['task'] if 'task' in ds else 'classification'), + NUM_TRIALS=30, + datafile_y=(ds['dataset_y'] if 'dataset_y' in ds else None), + extra_params=(ds['extra_params'] if 'extra_params' in ds else None), + ds_name=ds['name'], + n_jobs=multiprocessing.cpu_count(), + read_gm_from_file=False) + print() \ No newline at end of file