Source code for pulsar_playground.models

""" Module for defining models based on parameters.py file. """
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.wrappers.scikit_learn import KerasClassifier
from .parameters import *


[docs]def keras_model(n, m, input_dim, drop_visible, drop_hidden): """ Function to build a sequential neural network. Parameters ------- n : int Number of hidden layers (network width). m : int Number of units per layer (network height). input_dim: int Length of feature vector. """ model = Sequential() model.add(Dropout(drop_visible, input_shape=(input_dim,))) model.add(Dense(m, kernel_initializer='uniform', activation='relu')) model.add(Dropout(drop_hidden)) for i in range(n-1): model.add(Dense(m, kernel_initializer='uniform', activation='relu')) model.add(Dropout(drop_hidden)) model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) return model
model_dict = {} """ dictionary: Stores the available models. """ model_dict['knn'] = (KNeighborsClassifier(), knn_params) model_dict['lgr'] = (LogisticRegression(), lgr_params) model_dict['xgb'] = (XGBClassifier(), xgb_params) model_dict['xgb_gpu'] = (XGBClassifier(), xgb_gpu_params) model_dict['ann'] = (KerasClassifier(build_fn=keras_model), ann_params)