#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Sun Dec 23 16:40:52 2018 @author: ljia """ import functools from libs import * import multiprocessing from pygraph.kernels.ssp_sym import structuralspkernel from pygraph.utils.kernels import deltakernel, gaussiankernel, kernelproduct 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 = structuralspkernel mixkernel = functools.partial(kernelproduct, deltakernel, gaussiankernel) param_grid_precomputed = {'node_kernels': [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}], 'edge_kernels': [{'symb': deltakernel, 'nsymb': gaussiankernel, 'mix': mixkernel}]} 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']) 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()