Dans la science humaine de l'application statistique du test statistique de 1ère année en 2019, il y avait un problème concernant la dépendance de la valeur initiale de la méthode des k-moyennes, mais ici, afin de confirmer que les k-moyennes dépendent en fait de la valeur initiale, J'ai écrit du code python pour un cas super simple.
Définissez le statut comme suit. Ensemble à classifier: ensemble dont les éléments sont des nombres réels (en nombre fini). Nombre de clusters: 2.
python
print("Saisissez d'abord le nombre d'éléments dans l'ensemble catégorisé.")
n = int(input())
print("Entrez ensuite les éléments de l'ensemble que vous souhaitez classer.")
a = [float(input()) for _ in range(n)]
print("Ensuite, entrez deux valeurs initiales.")
b = [float(input()) for _ in range(2)]
A = []
B = []
'''
print(A)
print(B)
'''
for i in range(n):
if abs(b[0] - a[i]) <= abs(b[1] - a[i]):
A.append(a[i])
else:
B.append(a[i])
if len(A) == 0 or len(B) == 0:
print("Le premier cluster est")
print(A)
print("Le deuxième cluster est")
print(B)
else:
c = sum(A)/len(A)
d = sum(B)/len(B)
while c != b[0] or d != b[1]:
b[0] = c
b[1] = d
A = []
B = []
for i in range(n):
if abs(b[0] - a[i]) <= abs(b[1] - a[i]):
A.append(a[i])
else:
B.append(a[i])
c = sum(A)/len(A)
d = sum(B)/len(B)
print("Le premier cluster est")
print(A)
print("Le deuxième cluster est")
print(B)
Vous trouverez ci-dessous deux exemples d'exécution de ce code avec des valeurs initiales différentes.
Ainsi, il a été confirmé que le cluster final sera différent si la valeur initiale est réellement modifiée. ∩ (・ ω ・) ∩ Vous devez faire attention lorsque vous effectuez une analyse de cluster à l'aide de la méthode k-mean.
Recommended Posts