Browse Source

commit pour pull

master
amaury-charl.reyt 3 years ago
parent
commit
726a9536c8
  1. 81
      KNN_Mark1.py
  2. 51
      Test_tk.py

81
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<voisin[l][4]:
# pass
# print(voisin)
# for m in range(k-l):
# print(voisin)
# a_placer = voisin[l]
# print(voisin)
# voisin[m][1] = [temp_num_jour[i][0], temp_num_jour[i][1], temp_num_jour[i][2], temp_num_jour[i][4], MN]
# print(voisin)
# voisin[m+1][1]= a_placer
# return voisin
def numeroJour(date):
an_mois_jour = list(date.split("-"))
@ -114,28 +131,34 @@ def moyenne_liste():
temp_num_jour.append([temp_jour[l-1][0], moy_conso, moy_temp_moy, moy_temp_ref])
return temp_num_jour
def distance(temp_jour, donneespoint):
def distance(temp_num_jour, donneespoint):
"""Fonction qui dit qu'en prenant des points et ben on peut trouver une distance entre 2 point"""
x1 = temp_jour[0]
x1 = temp_num_jour[0]
x2 = donneespoint[0]
y1 = temp_jour[1]
d1 = x1-x2
d2 = 365 - d1
d_final = d1
if d1 > 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():

51
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()
Loading…
Cancel
Save