Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
1 result

Target

Select target project
  • saidia/image-classification
1 result
Select Git revision
  • main
1 result
Show changes
Commits on Source (4)
#Libraries
import numpy as np
import matplotlib.pyplot as plt
import math
import random
from read_cifar import *
#Functions
def distance_matrix(Y , X):
#This function takes as parameters two matrices X and Y
......@@ -26,7 +30,7 @@ def knn_predict(dists, labels_train, k):
def evaluate_knn(data_train, labels_train, data_test, labels_test, k):
#This function evaluates the knn classifier rate
labels_test__pred=knn_predict(distance_matrix(data_train, data_test), labels_train, k)
labels_test_pred=knn_predict(distance_matrix(data_train, data_test), labels_train, k)
num_samples= data_test.shape[0]
num_correct= (labels_test == labels_test_pred).sum().item()
accuracy= 100 * (num_correct / num_samples) #The accuracy is the percentage of the correctly predicted classes
......
import numpy as np
import matplotlib.pyplot as plt
import math
import random
from read_cifar import *
#We are using the segmoid activation function
def segmoid(x):
return 1/(1+np.exp(-x))
......@@ -19,7 +23,7 @@ def learn_once_mse(w1,b1,w2,b2,data,targets,learning_rate):
A2=segmoid(np.matmul(A1,w2) + b2)
#Let calculate the partial derivates
#2
D_A2=2*(A2-tragets)
D_A2=2*(A2-targets)
D_A2_T=np.matmul(A2,(1-A2).T)
D_Z2=np.matmul(D_A2_T,D_A2)
D_W2=np.matmul(A1.T,D_Z2)
......
......@@ -29,13 +29,13 @@ def read_cifar(directory_path):
for i in range(len(files)):
fichier=directory_path+files[i]
data_dict=unpickle(fichier)
M=data_dict[b'data']
D=data_dict[b'data']
L=data_dict[b'labels']
L=np.array(L)
data=np.vstack((X,M))
labels=np.hstack((Y,L))
data=X[N:2*N,]
labels=Y[A:,]
data=np.vstack((data,D))
labels=np.hstack((labels,L))
data=data[N:2*N,]
labels=labels[A:,]
return data,labels
def split_dataset(data,labels,split):
......
results/accuracy_knn.png

1.24 KiB