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
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
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
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...")
(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...")
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))
#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"