Exemple #1
0
def get_c1_score(y_inp, y_pre, msk):
    y_predicted = []
    y_actual = []
    for i in range(len(y_pre)):
        if (msk[i // 700][i % 700 + 50] == 1):
            y_predicted.append(np.argmax(y_pre[i], 0))
            y_actual.append(y_inp[i // 700][i % 700 + 50])
    print("F1 score results : \n", c_metric(y_actual, y_predicted))
    print("Predicted : \n", c_metric(y_predicted, y_predicted))
def res_on_cv_data():
    no_of_batches = len(data_cv) // batch_size
    shuffle(data_cv)
    correct = 0
    y_actual = []
    y_predicted = []

    for batch_no in range(5):
        x = []
        y = []
        max_length = 0
        seq_length = []
        for data in data_cv[batch_no * batch_size:batch_no * batch_size +
                            batch_size]:
            seq_length.append(len(data[0]))
            max_length = max(max_length, len(data[0]))
            x.append(data[0])
            y.append(data[1])
        x_padded = np.array(
            [row + [-1] * (max_length - len(row)) for row in x])
        for y_ in y:
            y_actual.append(y_)
            print("Appending in y_actual", y_)
        y = np.array(y)
        accuracy_known = model.cross_validate(x_padded, y, seq_length)
        y_predicted_ = model.predict(x_padded, y, seq_length)
        for y_ in y_predicted_:
            print("Appending in y_preicted", y_)
            y_predicted.append(y_)
        correct += accuracy_known * batch_size
    accuracy = (correct * 100) / (batch_size * no_of_batches)
    print("Accuracy on train data : ", accuracy)
    print(c_metric(y_actual, y_predicted))
Exemple #3
0
def res_on_cv_data(model, data_cv):
    no_of_batches = len(data_cv.keys())
    y_predicted = []
    y_actual = []
    correct = 0
    total_samples = 0
    for batch_no in range(no_of_batches - 1, -1, -1):
        print("Iteration number, batch number : ", epoch, batch_no)
        data_batch = data_cv[batch_no]
        batch_size = len(data_batch[1])
        x = data_batch[0]
        y = data_batch[1]
        freq = data_batch[2]
        seq_length = data_batch[3]
        x = np.array(x)
        y_actual.extend(y)
        y = np.array(y)
        freq = np.array(freq)
        accuracy_kmown = model.cross_validate(x, y, seq_length, freq)
        y_predicted_ = model.predict(x, y, seq_length, freq)
        y_predicted.extend(y_predicted_)
        correct += accuracy_kmown * batch_size
        total_samples += batch_size
    accuracy = (correct * 100) / (total_samples)
    correct_1 = len([i for i, j in zip(y_actual, y_predicted) if i == j])
    print("Accuracy on cv data : ", accuracy, correct, correct_1)
    print("Lengths of y_actual and y_predicted : ", len(y_actual),
          len(y_predicted))
    print(c_metric(y_actual, y_predicted))
Exemple #4
0
def res_on_cv_data():
    no_of_batches = len(data_cv) // batch_size
    no_of_batches = 3
    shuffle(data_cv)
    zero_100_list = [[0] * 100]
    correct = 0
    y_actual = []
    y_predicted = []

    for batch_no in range(no_of_batches):
        if (batch_no % 5 == 0):
            print("res_on_cv_data : ", batch_no)
        x = []
        y = []
        max_length = 0
        seq_length = []
        for data in data_cv[batch_no * batch_size:batch_no * batch_size +
                            batch_size]:
            seq_length.append(len(data[0]))
            max_length = max(max_length, len(data[0]))
            x.append(data[0])
            y.append(data[1])
        x_n = [row + (zero_100_list) * (max_length - len(row)) for row in x]
        x_padded = np.array(x_n)
        y_actual.extend(y)
        y = np.array(y)
        accuracy_known = model.cross_validate(x_padded, y, seq_length)
        y_predicted_ = model.predict(x_padded, y, seq_length)
        y_predicted.extend(y_predicted_)
        correct += accuracy_known * batch_size
    accuracy = (correct * 100) / (batch_size * no_of_batches)
    correct_1 = len([i for i, j in zip(y_actual, y_predicted)])
    print("Accuracy on train data : ", accuracy, correct, correct_1)
    print(c_metric(y_actual, y_predicted))