Browse Source

Les 3 fonction nécessaire aux k plus proches voisin

master
mathis.philippot 1 week ago
parent
commit
0a5ec570d4
  1. 26
      k_plus_proche.py

26
k_plus_proche.py

@ -0,0 +1,26 @@
from math import *
def distance(point1,point2):
d1=abs(point1[0]-point2[0])
d2=365-d1
return sqrt((min(d1,d2)**2)+((point1[1]-point2[1])**2)+((point1[2]-point2[2])**2))
def kPlusProche(point,lst_representative):
"""Paramètres d’entrée : Un tuple (Numéro du jour, Température moyenne, température de référence) correspondant au point à vérifier
Une liste représentative du jeu de données original chaque ligne contient un tuple (Numéro du jour, Température moyenne, Température de référence) et la consommation électrique
Paramètres de sortie :
Une liste triée en fonction de la distance dont les éléments sont des tuples (distance, indice du tableau original)"""
voisins = []
for i in range(len(lst_representative)):
d = distance(point, lst_representative[i] )
voisins.append((d, i))
voisins.sort() # Pour un couple, sort trie d'abord en fonction de la première valeur, donc la distance
return voisins
def PuissanceMoyenne(lst_trie):
somme=0
if k > len(lst_tri):
k = len(lst_trie)
for i in range(0,k):
somme=somme+lst_ref(lst_trie[i](1))
return somme/k
Loading…
Cancel
Save