diff --git a/KNN_Mark1.py b/KNN_Mark1.py index a1e7a47..dde42b4 100644 --- a/KNN_Mark1.py +++ b/KNN_Mark1.py @@ -5,7 +5,7 @@ def lancer(k, date, temp_moy, temp_ref, temp_num_jour): donnees_point = [date, temp_moy, temp_ref] print(k) print(donnees_point) - print(temp_num_jour) + #print(temp_num_jour) kPlusProches(k, donnees_point, temp_num_jour) #estBissextile(an) @@ -25,27 +25,44 @@ def lecture(fichier): def estBissextile(an): """Fonction estBissextile qui prend en paramètre l’année à vérifier et qui renvoie True si elle est bissextile, False sinon""" - an_base = an - an = an//4 - if an*4 == an_base: - return True - else: - return False - -def kPlusProches(k, donnees_point, temp_num_jour): +# an_base = an +# an = an//4 +# if an*4 == an_base: +# return True +# else: +# return False + return an % 4 == 0 + +def kPlusProches(k,donnees_point,donnees): """Fonction qui prend en paramètre un tuple correspondant au point à vérifier, une liste du jeu de données et la conso électrique. Renvoie une liste triée en fonction de la distance dont les éléments sont des tuples.""" - voisins = [] - if k > len(temp_num_jour[0]): - k = len(temp_num_jour[0]) - energy = temp_num_jour.pop() - energy.sort - for i in range(len(temp_num_jour[0])): - d = distance(temp_num_jour[i],donnees_point) - voisins.append((d, i)) - voisins.sort() - return [voisins[i][1] for i in range(k)] + if k > len(donnees): #par sécurité on réduit k + k = len(donnees) + voisin=[] + for i in range(len(donnees)): + voisin.append(distance(donnees, donnees_point)) + voisin.sorted + return [voisins[i] for i in range(k)] + + +# for j in range(k): +# voisin.append([None]) + +# for i in range(len(temp_num_jour)): +# MN = distance(temp_num_jour[i],donnees_point) +# for l in range(k): +# if voisin[l][1] == None or MN d2: + d_final = d2 + + + y1 = temp_num_jour[2] y2 = donneespoint[1] - z1 = temp_jour[2] + z1 = temp_num_jour[3] z2 = donneespoint[2] - dist = ((x1-x2)**2)+((y1-y2)**2)+((z1-z2)**2) - return dist + return ((d_final)**2)+((y1-y2)**2)+((z1-z2)**2) -def PuissanceMoyenne(lst,distance): +def PuissanceMoyenne(lst,dist): """Calcule la moyenne de distances entre les points """ lecture("pic-journalier-consommation.csv") - moy = sum() / len() + conso_moy = sum() / len() def recup1(): - k = value1.get() + k = 5 #value1.get() return k def recup2(): - date = '2016-08-24' + date = value2.get() return date def recup3(): diff --git a/Test_tk.py b/Test_tk.py new file mode 100644 index 0000000..27deefe --- /dev/null +++ b/Test_tk.py @@ -0,0 +1,51 @@ +from tkinter import * + +fenetre = Tk() + +canvas1 = Canvas(fenetre) + +label1 = Label(fenetre, text="Choisissez le nombre de voisins (k) :",font = + ('calibri', 10, 'bold', 'underline'),bg ='#fd9f9f',foreground="#4c75e3") +value1 = IntVar() +entree1 = Entry(fenetre, textvariable=value1) + +label2 = Label(fenetre, text="Veuillez entrez la date (format 'aaaa-mm-jj'):",font = + ('calibri', 10, 'bold', 'underline'),bg ='#fd9f9f',foreground="#4c75e3") +value2 = IntVar() +entree2 = Entry(fenetre, textvariable=value2) + +label3 = Label(fenetre, text="Veuillez entrez la température moyenne (en °C):",font = + ('calibri', 10, 'bold', 'underline'),bg ='#fd9f9f',foreground="#4c75e3") +value3 = IntVar() +entree3 = Entry(fenetre, textvariable=value3) + +label4 = Label(fenetre, text="Veuillez entrez la température de référence (en °C) :",font = + ('calibri', 10, 'bold', 'underline'),bg ='#fd9f9f',foreground="#4c75e3") +value4 = IntVar() +entree4 = Entry(fenetre, textvariable=value4) + +label1.grid(pady=10) +entree1.grid() + +label2.grid(pady=10) +entree2.grid() + +label3.grid(pady=10) +entree3.grid() + +label4.grid(pady=10) +entree4.grid() + +label9= Label(fenetre, text="Conso", bg="#7a817f") + +bouton1 = Button(canvas1, text="Tester", command=fenetre.destroy,height=2,width=10 ,bg="#4e93de", font = + ('calibri', 12, 'bold', 'underline')).grid() + +canvas1.grid(pady = 15) +label9.grid() + +fenetre.title("IHM KNN") +fenetre.iconbitmap('icon.ico') +fenetre['bg'] = '#fd9f9f' +fenetre.geometry('300x350') +fenetre.mainloop()