Пример #1
0

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,
Пример #2
0
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)
Пример #3
0
    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)