Exemple #1
0
def baye_voisin(data, labels, ts):
    train_data, test_data, train_labels, test_labels = train_test_split(data, labels, test_size = ts / 100, random_state = 42)

    # GAUSSIENNE
    g = GaussianBayes()

    evaltime()
    g.fit(train_data, train_labels)
    somme_bayes.append(evaltime())
    
    # - Score:
    score_baye = g.score(test_data, test_labels)
    Z = g.predict(test_data)
    cfmat_bayes = confusion_matrix(test_labels, Z, labels=np.unique(test_labels))

    # K-NN
    n_neighbors = 10
    clf = neighbors.KNeighborsClassifier(n_neighbors, weights='uniform')

    evaltime()
    clf.fit(train_data, train_labels)
    somme_knn.append(evaltime())


    # - Score:
    score_voisin = clf.score(test_data, test_labels)
    Z = clf.predict(test_data)
    cfmat_knn = confusion_matrix(test_labels, Z, labels=np.unique(test_labels))
    
    return score_baye, cfmat_bayes, score_voisin, cfmat_knn
Exemple #2
0
def cross_validation(path):
    kf = KFold(n_splits=5)
    z = np.zeros(100)
    data, labels = load_dataset(join(DATA, path[0]))
    data = np.array(data)
    labels = np.array(labels)
    for train, test in kf.split(data):
        """
        train_data = []
        train_labels = []
        test_data = []
        test_labels = []
        for indice in train:
            train_data.append(data[indice])
            train_labels.append(labels[indice])
        for indice in test:
            test_data.append(data[indice])
            test_labels.append(labels[indice])
        print(train)
        print(test)

        train_data = np.array(train_data)
        train_labels = np.array(train_labels)
        test_data = np.array(test_data)
        test_labels = np.array(test_labels)"""

        #train_data = data[0:800]
        #train_labels = labels[0:800]
        #test_data = data[801:999]
        #test_labels = labels[801:999]
        train_data = data[train]
        train_labels = labels[train]
        test_data = data[test]
        test_labels = labels[test]
        print(len(train_data))
        print(len(train_labels))
        print(len(test_data))
        print(len(test_labels))
        #print(train_data)
        #print(train_labels)
        #print(test_data)
        #print(test_labels)

        # GAUSSIENNE
        g = GaussianBayes()
        g.fit(train_data, train_labels)

        # - Score:
        score_baye = g.score(test_data, test_labels)

        # K-NN
        n_neighbors = 10
        clf = neighbors.KNeighborsClassifier(n_neighbors, weights='uniform')
        clf.fit(train_data, train_labels)

        # - Score:
        score_voisin = clf.score(test_data, test_labels)

        print(score_voisin)
        break
Exemple #3
0
def baye_voisin(data, labels, ts):
    train_data, test_data, train_labels, test_labels = train_test_split(
        data, labels, train_size=ts / 100, random_state=42)
    print("test taille:", len(test_data), " train test:", len(train_data),
          " test size: ", ts)
    # GAUSSIENNE
    g = GaussianBayes()
    g.fit(train_data, train_labels)

    # - Score:
    score_baye = g.score(test_data, test_labels)
    Z = g.predict(test_data)
    cfmat_bayes = confusion_matrix(test_labels,
                                   Z,
                                   labels=np.unique(test_labels))

    # K-NN
    n_neighbors = 10
    clf = neighbors.KNeighborsClassifier(n_neighbors, weights='uniform')
    clf.fit(train_data, train_labels)

    # - Score:
    score_voisin = clf.score(test_data, test_labels)
    Z = clf.predict(test_data)
    cfmat_knn = confusion_matrix(test_labels, Z, labels=np.unique(test_labels))

    return score_baye, cfmat_bayes, score_voisin, cfmat_knn
Exemple #4
0
def main():
    train_data, train_labels = load_dataset("./data/train.csv")
    test_data, test_labels = load_dataset("./data/test.csv")

    #affichage
    plot_scatter_hist(train_data, train_labels)

    # Instanciation de la classe GaussianB
    g = GaussianBayes(priors=[0.3, 0.3, 0.3], diag=True)

    # Apprentissage
    g.fit(train_data, train_labels)

    # Score
    score = g.score(test_data, test_labels)
    print("precision : {:.2f}".format(score))

    input("Press any key to exit...")
Exemple #5
0
            (labelstest, total_labels[labelteststart:labeltestend]))
        valeurstest = np.concatenate(
            (valeurstest, total_data[labelteststart:labeltestend]))
        labelstrain = np.concatenate(
            (np.concatenate(
                (labelstrain, total_labels[labelstrainstart:labelteststart])),
             total_labels[labeltestend:labeltrainend]))
        valeurstrain = np.concatenate((np.concatenate(
            (valeurstrain, total_data[labelstrainstart:labelteststart])),
                                       total_data[labeltestend:labeltrainend]))

    g = GaussianBayes(priors=None, diag=False)
    # Apprentissage
    g.fit(valeurstrain, labelstrain)

    # Score
    gaussianresult = gaussianresult + g.score(valeurstest, labelstest)

    neigh = KNeighborsClassifier(n_neighbors=3,
                                 weights='uniform',
                                 algorithm='brute')
    neigh.fit(valeurstrain, labelstrain)
    KNNresult = KNNresult + np.sum(
        labelstest == neigh.predict(valeurstest)) / len(labelstest)
gaussianresult = gaussianresult / K
KNNresult = KNNresult / K
print("gaussian average precision")
print(gaussianresult)
print("K-NN average precision")
print(KNNresult)
input("Press any key to exit...")
Exemple #6
0
    print(i)
    labelstest = np.concatenate(
        (labelstest, total_labels[labelteststart:labeltestend]))
    valeurstest = np.concatenate(
        (valeurstest, total_data[labelteststart:labeltestend]))
    labelstrain = np.concatenate(
        (labelstrain, total_labels[labeltestend:labeltrainend]))
    valeurstrain = np.concatenate(
        (valeurstrain, total_data[labeltestend:labeltrainend]))

g = GaussianBayes(priors=None, diag=False)
# Apprentissage
g.fit(valeurstrain, labelstrain)

# Score
score = g.score(valeurstest, labelstest)
print("precision : {:.2f}".format(score))

neigh = KNeighborsClassifier(n_neighbors=3,
                             weights='uniform',
                             algorithm='brute')
neigh.fit(valeurstrain, labelstrain)
KNeighborsClassifier()
print(np.sum(labelstest == neigh.predict(valeurstest)) / len(labelstest))

#Confusion matrixes
print("confusion matrix for K-NN")
print(confusionmatrixcreator(neigh.predict(valeurstest), labelstest))

print("confusion matrix for the gaussian method")
print(confusionmatrixcreator(g.predict(valeurstest), labelstest))
    print(i)
    labelstest = np.concatenate(
        (labelstest, labeltempfin[0:proportionseparation]))
    valeurstest = np.concatenate(
        (valeurstest, datatempfin[0:proportionseparation]))
    labelstrain = np.concatenate(
        (labelstrain, labeltempfin[proportionseparation:100]))
    valeurstrain = np.concatenate(
        (valeurstrain, datatempfin[proportionseparation:100]))

g = GaussianBayes(priors=None, diag=True)
# Apprentissage
g.fit(valeurstrain, labelstrain)

# Score
score = g.score(valeurstest, labelstest)
print("precision : {:.2f}".format(score))
score = g.score(valeurstrain, labelstrain)
#sur les donnees d'entrainement j'obtiens usuellement des valeurs dans les alentours de 0.73(0.77 pour le cas diagonal)
print("precision : {:.2f}".format(score))

neigh = KNeighborsClassifier(n_neighbors=3,
                             weights='uniform',
                             algorithm='brute')
neigh.fit(valeurstrain, labelstrain)
KNeighborsClassifier()
print(np.sum(labelstest == neigh.predict(valeurstest)) / len(labelstest))

#Confusion matrixes
print("confusion matrix for K-NN")
print(confusionmatrixcreator(neigh.predict(valeurstest), labelstest))
Exemple #8
0
#plot_training(color,labels)

# Instanciation de la classe GaussianB
g = GaussianBayes(priors=[0.33, 0.3, 0.326])

# Apprentissage
mu, sig = g.fit(color, labels)

#tab_proba = g.predict(color)

#affichage vraissemblance
#plot_vraissemblance(color,labels,tab_proba)

g.predict(color)

print(g.score(color, labels))
"""
for i in range(n_fleurs):
    file_name = "ch"
    name = file_name + str(i+1) + ".png"
    a, b, c = PretraitementAmeliore(name)
    print(a,",",b,",",c,",",0)

for i in range(n_fleurs):
    file_name = "oe"
    name = file_name + str(i+1) + ".png"
    a, b, c = PretraitementAmeliore(name)
    print(a,",",b,",",c,",",1)

for i in range(n_fleurs):
    file_name = "pe"