def auc_score(y_true, y_pred): fpr, tpr, thresholds = metrics.roc_curve(y_true=y_true, y_score=y_pred, pos_label=1) return metrics.auc(fpr, tpr) if __name__ == '__main__': input_option = read_args().parse_args() input_help = read_args().print_help() # commits = loading_variable('train_all_recent_data_unknown_labels') # commits = loading_variable('train_all_recent_new_data_unknown_labels') commits = loading_variable('train_all_recent_new_data_unknown_labels_ver1') train_data, test_data, dict_ = commits train_labels, train_commits = train_data test_labels, test_commits = test_data print(train_labels.shape, train_commits.shape, len(dict_)) print(test_labels.shape, test_commits.shape) path_file_model, model_name, model_variation = "./keras_model/", "lstm_cnn_all-", 50 path_file_save = './keras_model_results/' for i in xrange(1, model_variation + 1): print(path_file_model + model_name + '{:02d}'.format(int(i)) + ".hdf5") model = lstm_cnn_model(dictionary_size=len(dict_), FLAGS=input_option) model.load_weights(path_file_model + model_name + '{:02d}'.format(int(i)) + ".hdf5") y_pred = model.predict(test_commits,
from params import read_args from keras_pickel_data import loading_variable from keras_model import lstm_cnn_all_data def load_info_label(data): data = list(data) pos = [1 for d in data if d == 1] neg = [0 for d in data if d == 0] return len(pos), len(neg) def train_all_model(commits, params): labels, pad_, dict_ = commits print('Number of commits for training model: %i' % (len(labels))) print('Dictionary: %i' % (len(dict_))) print('Pos -- Neg -- ', load_info_label(data=labels)) params.vocab_msg = len(dict_) lstm_cnn_all_data(x_train=pad_, y_train=labels, FLAGS=params) if __name__ == '__main__': # creating pickle data for training and testing input_option = read_args().parse_args() input_help = read_args().print_help() train_all_model(commits=loading_variable('train_all_recent_keras'), params=input_option)
params.filter_sizes = [int(k) for k in params.filter_sizes.split(',')] params.save_dir = os.path.join( params.save_dir, datetime.datetime.now().strftime('%lY-%m-%d_%H-%M-%S')) params.vocab_msg = len(dict_) if len(labels.shape) == 1: params.class_num = 1 else: params.class_num = labels.shape[1] print("\nParameters:") for attr, value in sorted(params.__dict__.items()): print("\t{}={}".format(attr.upper(), value)) # Device configuration params.device = torch.device( 'cuda' if torch.cuda.is_available() else 'cpu') model = CNN(args=params) if torch.cuda.is_available(): model = model.cuda() running_all_model(batches=batches, model=model, params=params) if __name__ == '__main__': # creating pickle data for training and testing input_option = read_args().parse_args() input_help = read_args().print_help() train_all_model(commits=loading_variable('train_all_recent_keras'), params=input_option)
from keras_model import lstm_cnn_model import numpy as np from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score from sklearn import metrics def auc_score(y_true, y_pred): fpr, tpr, thresholds = metrics.roc_curve(y_true=y_true, y_score=y_pred, pos_label=1) return metrics.auc(fpr, tpr) if __name__ == '__main__': input_option = read_args().parse_args() input_help = read_args().print_help() commits = loading_variable('train_split_recent_keras') train_data, test_data, dict_ = commits train_labels, train_commits = train_data test_labels, test_commits = test_data print(train_labels.shape, train_commits.shape, len(dict_)) print(test_labels.shape, test_commits.shape) path_file_model, model_name, model_variation = "./keras_model/", "lstm_cnn_split-", 50 path_file_save = './keras_model_results/' for i in xrange(1, model_variation + 1): print(path_file_model + model_name + '{:02d}'.format(int(i)) + ".hdf5") model = lstm_cnn_model(dictionary_size=len(dict_), FLAGS=input_option) model.load_weights(path_file_model + model_name + '{:02d}'.format(int(i)) + ".hdf5") y_pred = model.predict(test_commits, batch_size=input_option.batch_size) y_pred = np.ravel(y_pred)