def run_nn_dmi(args): set_global_seeds(args['seed']) dataset = DataLoader(args['dataset'], args) X_train, X_test, X_val, y_train, y_test, y_val = dataset.prepare_train_test_val( args) mlp = MLP( feature_dim=X_train.shape[-1], hidsizes=args['hidsize'], dropout=args['dropout'], outputs=2, ) classifier = DMIClassifier( model=mlp, learning_rate=args['lr'], ) results = classifier.fit( X_train, y_train, X_test, y_test, batchsize=args['batchsize'], episodes=args['episodes'], logger=logger if args['seeds'] == 1 else None, ) return results
def run_c_svm(args): set_global_seeds(args['seed']) dataset = DataLoader(args['dataset'], args) X_train, X_test, X_val, y_train, y_test, y_val = dataset.prepare_train_test_val( args) model = SVC(gamma='auto', class_weight={0: 1., 1: args['C1']}) model.fit(X_train, y_train) return model.score(X_test, y_test)
def run_pam(args): set_global_seeds(args['seed']) dataset = DataLoader(args['dataset']) X_train, X_test, X_val, y_train, y_test, y_val = dataset.prepare_train_test_val( args) model = Perceptron(feature_dim=X_train.shape[-1], margin=args['margin']) model.fit(X_train, y_train) return model.score(X_test, y_test)
def find_best_c1(args): set_global_seeds(args['seed']) dataset = DataLoader(args['dataset'], args) X_train, X_test, X_val, y_train, y_test, y_val = dataset.prepare_train_test_val( args) results = [] for c1 in CLASS_WEIGHTS: model = SVC(gamma='auto', class_weight={0: 1., 1: c1}) model.fit(X_train, y_train) results.append(model.score(X_val, y_val)) return results
def find_best_margin(args): """ return `best_margin / 0.1` """ set_global_seeds(args['seed']) dataset = DataLoader(args['dataset']) X_train, X_test, X_val, y_train, y_test, y_val = dataset.prepare_train_test_val( args) results = [] for margin in MARGINS: model = Perceptron(feature_dim=X_train.shape[-1], margin=margin) model.fit(X_train, y_train) results.append(model.score(X_val, y_val)) return results