|
@ -34,8 +34,8 @@ def kPlusProches(echantillon, donnees, k): |
|
|
""" à reprendre : CHAOS """ |
|
|
""" à reprendre : CHAOS """ |
|
|
voisins = [] |
|
|
voisins = [] |
|
|
for i in range(len(donnees)): |
|
|
for i in range(len(donnees)): |
|
|
date, conso, t_moy = donnees[i] |
|
|
date, t_moy, t_ref = donnees[i] |
|
|
d = distance(echantillon, (date, conso, t_moy)) |
|
|
d = distance(echantillon, (date, t_moy, t_ref)) |
|
|
voisins.append((d, i)) |
|
|
voisins.append((d, i)) |
|
|
voisins = sorted(voisins) |
|
|
voisins = sorted(voisins) |
|
|
return [voisins[i][1] for i in range(k)] |
|
|
return [voisins[i][1] for i in range(k)] |
|
@ -51,9 +51,12 @@ def numeroJour(date): |
|
|
mois = (0,31,59,90,120,151,181,212,243,273,304,334,365) |
|
|
mois = (0,31,59,90,120,151,181,212,243,273,304,334,365) |
|
|
return mois[m-1] + j |
|
|
return mois[m-1] + j |
|
|
|
|
|
|
|
|
def PuissanceMoyenne(lst): |
|
|
def PuissanceMoyenne(consos, i_voisins): |
|
|
"""renvoie la puissance moyenne, prend en entrée une liste triée en fonction de la distance""" |
|
|
"""renvoie la puissance moyenne, prend en entrée une liste triée en fonction de la distance""" |
|
|
|
|
|
res = 0 |
|
|
|
|
|
for el in i_voisins: |
|
|
|
|
|
res += consos[i_voisins] |
|
|
|
|
|
return res/(len(i_voisins)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def triAvecIndices(lst): |
|
|
def triAvecIndices(lst): |
|
@ -71,3 +74,4 @@ for date in dates: |
|
|
coords = list(zip(num_jour, t_moys, t_refs)) |
|
|
coords = list(zip(num_jour, t_moys, t_refs)) |
|
|
print(coords) |
|
|
print(coords) |
|
|
print(kPlusProches((80, 14, 9), coords, 4)) |
|
|
print(kPlusProches((80, 14, 9), coords, 4)) |
|
|
|
|
|
print(PuissanceMoyenne(consos, kPlusProches((80, 14, 9), coords, 4))) |
|
|