Code python de la méthode k-means super simple

code python pour un cas super simple de la méthode k-means

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. image.png

image.png

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

Code python de la méthode k-means super simple
Notes pour la mise en œuvre d'un co-filtrage simple en Python
Paramètres de codage Python avec Visual Studio Code
GRPC simple en Python
classe de cas en python
Méthode Simplex (méthode unique) en Python
Méthode privée en python
Ecrire un programme de dynamique moléculaire super simple en python
[Python] Pas de valeur pour l'argument lui-même dans un appel de méthode non lié
Expose settings.json pour un codage Python efficace avec VS Code
Mémo de code personnel Python
Structure super minuscule en Python
Techniques de tri en Python
Python #function 2 pour les super débutants
[Python] Exemple de code pour la grammaire Python
Serveur HTTP simple pour python
#List Python pour les super débutants
Suppression des substitutions de méthode en Python
Client IRC simple avec python
À propos de "for _ in range ():" de python
Insérez l'instruction Import requise pour la complétion du code Python dans Neovim
Liste des informations sur les arguments de méthode pour les classes et les modules en Python
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Rechercher les fuites de mémoire dans Python
Rechercher des commandes externes avec python
Première analyse de régression simple en Python
[Python] Générer un code QR en mémoire
OAuth 2 simple avec Python (urllib + oauthlib)
Python pour les super débutants Super débutants Python # dictionnaire type 1
Formater automatiquement le code Python avec Vim
Python #index pour les super débutants, tranches
Implémentation de la méthode de propagation d'étiquettes en Python
Simuler la méthode Monte Carlo en Python
Ecrire le code de test du sélénium en python
Fonction Python #len pour les super débutants
Méthode Hash (méthode d'adresse ouverte) en Python
Implémentation d'un algorithme simple en Python 2
[Python] Raison du remplacement à l'aide de super ()
Exécutez unittest en Python (pour les débutants)
Exécutez un algorithme simple en Python
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
Logique gacha simple écrite en Python
Tests de code dans le temps en Python
Lire le fichier Python # .txt pour Python super débutant super débutant avec travail .py
À propos du code Python pour une moyenne mobile simple en supposant l'utilisation de Numba
Lecture de code de Safe, une bibliothèque pour examiner la force des mots de passe en Python
Un client HTTP simple implémenté en Python
Inject est recommandé pour DDD en Python
Essayez de dessiner une animation simple en Python
Créer une application GUI simple en Python
Conseils pour gérer les binaires en Python
Simulation au microscope électronique en Python: méthode multi-coupes (1)
Résumé de diverses instructions for en Python
Mettons ensemble Python pour les super débutants
Méthode de description pour réutiliser des variables dans shellscript
(Pour moi) Mettez Flask dans VS Code
Modèle pour l'écriture de scripts batch en python
Simulation au microscope électronique en Python: méthode multi-coupes (2)