Browse Source

distance

master
gabrie.chataigner 3 years ago
parent
commit
0451abfb19
  1. 55
      KNN_Mark1.py
  2. BIN
      Thumbs.db

55
KNN_Mark1.py

@ -25,28 +25,35 @@ def lecture(fichier):
def estBissextile(an): 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""" """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_base = an
an = an//4 # an = an//4
if an*4 == an_base: # if an*4 == an_base:
return True # return True
else: # else:
return False # return False
return an % 4 == 0
def kPlusProches(k,donnees_point,temp_num_jour):
def kPlusProches(k,donnees_point,donnees):
"""Fonction qui prend en paramètre un tuple correspondant au point à vérifier, """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 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.""" en fonction de la distance dont les éléments sont des tuples."""
if k > len(donnees): #par sécurité on réduit k
if k > len(temp_num_jour): k = len(donnees)
k = len(temp_num_jour)
voisin=[] voisin=[]
for j in range(k): for i in range(len(donnees)):
voisin.append([None]) 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)): # for i in range(len(temp_num_jour)):
MN = distance(temp_num_jour[i],donnees_point) # MN = distance(temp_num_jour[i],donnees_point)
for l in range(k): # for l in range(k):
if voisin[l][1] == None or MN<voisin[l][4]: # if voisin[l][1] == None or MN<voisin[l][4]:
# pass
# print(voisin) # print(voisin)
# for m in range(k-l): # for m in range(k-l):
# print(voisin) # print(voisin)
@ -128,17 +135,23 @@ def distance(temp_num_jour, donneespoint):
"""Fonction qui dit qu'en prenant des points et ben on peut trouver une distance entre 2 point""" """Fonction qui dit qu'en prenant des points et ben on peut trouver une distance entre 2 point"""
x1 = temp_num_jour[0] x1 = temp_num_jour[0]
x2 = donneespoint[0] x2 = donneespoint[0]
d1 = x1-x2
d2 = 365 - d1
d_final = d1
if d1 > d2:
d_final = d2
y1 = temp_num_jour[2] y1 = temp_num_jour[2]
y2 = donneespoint[1] y2 = donneespoint[1]
z1 = temp_num_jour[3] z1 = temp_num_jour[3]
z2 = donneespoint[2] z2 = donneespoint[2]
MN = ((x1-x2)**2)+((y1-y2)**2)+((z1-z2)**2) return ((d_final)**2)+((y1-y2)**2)+((z1-z2)**2)
return MN
def PuissanceMoyenne(lst,distance): def PuissanceMoyenne(lst,dist):
"""Calcule la moyenne de distances entre les points """ """Calcule la moyenne de distances entre les points """
lecture("pic-journalier-consommation.csv") lecture("pic-journalier-consommation.csv")
moy = sum() / len() conso_moy = sum() / len()
def recup1(): def recup1():
k = 5 #value1.get() k = 5 #value1.get()

BIN
Thumbs.db

Binary file not shown.
Loading…
Cancel
Save