def METHOD_NAME(X_train, y_train, X_test, classifier):
  """
  """
  if classifier == 'lr2':
    clf = linear_model.LogisticRegression(class_weight='balanced', random_state=848)
    clf.fit(X_train, y_train)
    y_test = clf.predict_proba(X_test)[:,1]
    return y_test
  elif classifier == 'lr1':
    clf = linear_model.LogisticRegression(random_state=848)
    clf.fit(X_train, y_train)
    y_test = clf.predict_proba(X_test)[:,1]
    return y_test
  elif classifier == 'par':
    clf = linear_model.PassiveAggressiveRegressor(max_iter=100, random_state=848)
  elif classifier == 'ridge':
    clf = linear_model.Ridge(random_state=848)
  elif classifier == 'sgdr':
    clf = linear_model.SGDRegressor(max_iter=1000, random_state=848)
  elif classifier == 'sgdc':
    clf = linear_model.SGDClassifier(loss='log', class_weight='balanced', max_iter=10, random_state=848)
    clf.fit(X_train, y_train)
    y_test = clf.predict_proba(X_test)[:,1]
    return y_test
  elif classifier == 'mlp':
    clf = neural_network.MLPRegressor(learning_rate_init=0.0005, max_iter=5, random_state=848)
  elif classifier == 'svm':
    clf = svm.SVC(kernel='linear', class_weight='balanced', probability=True, random_state=848)
    clf.fit(X_train, y_train)
    y_test = clf.predict_proba(X_test)[:,1]
    return y_test
  elif classifier == 'svr':
    clf = svm.SVR()
  elif classifier == 'linearsvr':
    clf = svm.LinearSVR(random_state=848)
  elif classifier == 'nusvr':
    clf = svm.NuSVR()
  elif classifier == 'lgb':
    param = {
      'num_leaves':15, 
      'num_iterations':100, 
      'max_depth': 5,
      'objective':'binary',
      'is_unbalance': True,
      'metric': ['auc', 'binary_logloss'],
      'verbose': -1,
      'seed': 848
    }
    train_data = lgb.Dataset(X_train, label=y_train)
    clf = lgb.train(param, train_data)
    y_test = clf.predict(X_test)
    return y_test
  elif classifier == 'rf':
    clf = RandomForestClassifier(
      n_estimators=200,
      class_weight='balanced',
      max_depth=3,
      random_state=848
    )
    clf.fit(X_train, y_train)
    y_test = clf.predict_proba(X_test)[:,1]
    return y_test
  else:
    raise Exception('Wrong classifier')
  clf.fit(X_train, y_train)
  y_test = clf.predict(X_test)
  return y_test