Beruflich Dokumente
Kultur Dokumente
import csv
file=open("C:/Users/AdMin/OneDrive/Bureau/boston.csv","r")
R=csv.reader(file,delimiter=";")
data=[]
for e in R :
T=[]
T.append(float(e[i]))
data.append(T)
print(data)
#############################################################DISTANCE
def distance(X,Y):
n=len(X)
s=0
s=s+(X[i]-Y[i])**2
return s**(1/2)
print(distance([2,3,4,5],[2,24,5,4]))
###########################################################
def centroide_depart(data,k):
C=[]
while len(C)<k :
i=randint(0,len(data)-1)
return C
##########################################################
def centroide_proche(m,C):
i=0
d=distance(m,C[0])
for j in range(1,len(C)):
x=distance(m,C[j])
if x < d :
i=j
d=x
return i
C=centroide_depart(data,4)
print(centroide_proche(data[0],C))
##########################################################
def partitions(data,C):
for i in range(len(data)):
p=centroide_proche(data[i],C)
D[p].append(data[i])
return D
print(partitions(data,C))
############################################################
def calcul_centroide(L):
n=len(L)
p=len(L[0])
c=[0]*p
for m in L:
for j in range(p):
c[j]=c[j]+m[j]
for j in range(p):
c[j]=round(c[j]/n,2)
return c
######################################################
def maj_centroides(D):
C=[]
k=len(D)
for i in range(k):
c=calcul_centroide(D[i])
C.append(c)
return C
#################################################
def k_means(data,k,n):
C0=centroides_depart(data,k)
D=partitions(data,C0)
C1=maj_centroides(D)
c=1
c=c+1
C0=C1
D=partitions(data,C0)
C1=maj_centroides(D)
return C1,D
###################################################