Exemplo n.º 1
0
def cross_val_group(data, msk, folds=10):
    train, test = split_for_train_test(data, msk, 2)
    fold_size = 0
    if len(train) > 1:
        fold_size = floor(len(train[0]) / folds)
    else:
        fold_size = floor(len(train) / folds)

    # msk = rand(fold_size) < acc
    pool = range(folds)

    list_folds = []

    for i in range(fold_size):
        l_fold = sample(list(pool), k=len(pool))
        for j in range(len(l_fold)):
            list_folds.append(l_fold[j])

    return train, test, list_folds
Exemplo n.º 2
0
            # print(row[13])
            if row[2] == '1':
                spiral_1[0].append(float(row[0]))
                spiral_1[1].append(float(row[1]))
                spiral_t.append(row[2])
            elif row[2] == '2':
                spiral_2[0].append(float(row[0]))
                spiral_2[1].append(float(row[1]))
                spiral_t.append(row[2])
            else:
                print(row)
    folds = 10
    msk = rand(len(spiral_1[0])) < 0.9

    sp1_train, sp1_test, sp_list = cross_val_group(spiral_1, msk)
    sp2_train, sp2_test = split_for_train_test(spiral_2, msk, 2)
    spt_train, spt_test = split_for_train_test(spiral_t, msk)

    # print(spt_test)
    cross_rslts = []
    folds_dict = {}

    for i in range(folds):
        rslts = []
        train_test_fold = array([x != i for x in sp_list])
        train_fold_1 = [
            list(compress(sp1_train[0], train_test_fold)),
            list(compress(sp1_train[1], train_test_fold))
        ]
        test_fold_1 = [
            list(compress(sp1_train[0], ~train_test_fold)),
Exemplo n.º 3
0
            'C:\\Users\\vinic\\OneDrive\\Faculdade\\Reconhecimento de padrões\\exercicios\\heart.csv',
            'r',
            newline='') as csv_heart:
        csv_reader = csv.reader(csv_heart, delimiter=',')
        for row in csv_reader:
            # print(row[13])
            if row[13] == '1':
                heart_1.append([float(row[i]) for i in range(len(row) - 1)])
            elif row[13] == '2':
                heart_2.append([float(row[i]) for i in range(len(row) - 1)])
            else:
                print(row)

    msk = rand(len(heart_1)) < tax

    train_1, test_1 = split_for_train_test(heart_1, msk)
    train_2, test_2 = split_for_train_test(heart_2, msk)

    priori_1 = len(heart_1) / (len(heart_1) + len(heart_2))
    priori_2 = len(heart_2) / (len(heart_1) + len(heart_2))

    u1 = mean(train_1, axis=0)
    u2 = mean(train_2, axis=0)

    cov1 = cov(train_1, rowvar=False)
    cov2 = cov(train_2, rowvar=False)

    rslt = []
    rslt.append(
        classifier_N(test_1,
                     u1,
Exemplo n.º 4
0
    dist_y = normal(4, std_d_2, points)
    dist_p2 = [dist_x, dist_y]

    dist_x = normal(2, std_d_3, points)
    dist_y = normal(4, std_d_3, points)
    dist_p3 = [dist_x, dist_y]

    dist_x = normal(4, std_d_4, points)
    dist_y = normal(2, std_d_4, points)
    dist_p4 = [dist_x, dist_y]

    # separação dos dados

    msk = rand(points) < 0.9

    train_1, test_1 = split_for_train_test(dist_p1, msk, 2)
    train_2, test_2 = split_for_train_test(dist_p2, msk, 2)
    train_3, test_3 = split_for_train_test(dist_p3, msk, 2)
    train_4, test_4 = split_for_train_test(dist_p4, msk, 2)

    # treinamento
    u = []
    s = []

    u.append(mean(train_1, axis=1))
    u.append(mean(train_2, axis=1))
    u.append(mean(train_3, axis=1))
    u.append(mean(train_4, axis=1))

    s.append(std(train_1, axis=1))
    s.append(std(train_2, axis=1))
Exemplo n.º 5
0
        concatenate((dist_2_x, dist_3_x)),
        concatenate((dist_2_y, dist_3_y))
    ]

    dist_4_x = normal(-2, std_d_2, points)
    dist_4_y = normal(-2, std_d_2, points)
    dist_1_x = normal(2, std_d_2, points)
    dist_1_y = normal(2, std_d_2, points)
    dist_p2 = [
        concatenate((dist_1_x, dist_4_x)),
        concatenate((dist_1_y, dist_4_y))
    ]

    msk = rand(points * 2) < 0.9

    train_x, test_x = split_for_train_test(dist_p1[0], msk)
    train_y, test_y = split_for_train_test(dist_p1[1], msk)

    train_1 = [train_x, train_y]
    test_1 = [test_x, test_y]

    train_x, test_x = split_for_train_test(dist_p2[0], msk)
    train_y, test_y = split_for_train_test(dist_p2[1], msk)

    train_2 = [train_x, train_y]
    test_2 = [test_x, test_y]

    u1 = mean(train_1, axis=1)
    u2 = mean(train_2, axis=1)
    s1 = std(train_1, axis=1)
    s2 = std(train_2, axis=1)