Apprentissage automatique-03K algorithme moyen

1) Le processus de clustering k-means du jeu manuel des cartes à jouer:> 30 cartes, 3 types

 

                                                Figure 1 Tableau statistique

 

                                     Figure 2 Situation réelle du premier tour

 

                               Figure 3 Situation réelle du deuxième tour

2). * L'algorithme K-means est écrit de manière indépendante, le regroupement est effectué sur les données de longueur des pétales d'iris et affiché avec un nuage de points. (Points positifs)

ps: Le professeur d'intelligence artificielle a déjà enseigné cet algorithme, donc le code est fondamentalement le même.

Code source:   

# Importer l'ensemble 
de données à partir de sklearn.datasets import load_iris 
import numpy as np 

data = load_iris (). Data 
n = len (data) # Calculer le nombre total d'échantillons 
m = data.shape [1] # Le nombre d'attributs d'échantillon 
k = 3 #Sélectionner la classe Le nombre de centres 
dist = np.zeros ([n, k + 1]) #Initialiser la matrice de distance, la dernière colonne stocke la catégorie de chaque échantillon 

center = data [: k 
,: ] center_new = np.zeros ([k, m] ) 
tandis que True: 

    pour i dans la plage (n): 
        pour j dans la plage (k): 
            dist [i, j] = np.sqrt (sum ((data [i,:] - center [j ,:]) ** 2)) 

        dist [i, k] = np.argmin (dist [i ,: k]) 

    pour i dans la plage (k): 
        index = dist [:, k] == i # 
        center_new [i ,:] = data [index 

    ,: ]. moyenne (axe = 0) si np.all ((centre == centre_nouveau)):
        break  
    autrement:
        center = center_new 
print ("Classification de 150 échantillons \ n", dist [:, k])

 

                                          Figure 4 Résultats du clustering

3) Utilisez sklearn.cluster.KMeans et les données de longueur des pétales d'iris pour le regroupement et l'affichage avec un nuage de points.

Code source:

depuis sklearn.datasets importez load_iris 
depuis sklearn.cluster importez KMeans 
importez matplotlib.pyplot sous plt 

iris = load_iris () 
data = iris.data [:, 1] 
x = data.reshape (-1,1) # 
y = KMeans (n_clusters = 3) # Introduire la construction du modèle KMeans avec un nombre centroïde de 3 
y.fit (x) #Former le modèle et calculer le clustering k-means 

y_pre = y.predict (x) #Predict selon le modèle formé, c'est-à-dire calculer le cluster Centrer et prédire l'indice de clustering de chaque échantillon 

plt.scatter (x [:, 0], x [:, 0], c = y_pre, s = 50, cmap = 'rainbow') 
plt.show ()

 

 

 

 

                                                              Figure 5 Code et diagramme de dispersion

4) Les données complètes des fleurs d'iris sont regroupées et affichées avec un nuage de points.

Code source:

from sklearn.datasets import load_iris 
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

iris = load_iris ()
x = iris.data
y = KMeans (n_clusters = 3) # Introduisez la construction du modèle KMeans avec un nombre centroïde de 3
y.fit ( x)
#Former le modèle et calculer le clustering k-means y_pre = y.predict (x) #Predict selon le modèle formé, c'est-à-dire calculer le centre du cluster et prédire l'
impression de l' index de clustering ("résultat de prédiction: \ n" , y_pre)
plt.scatter (x [:, 2], x [:, 3], c = y_pre, s = 100, cmap = 'rainbow', alpha = 0.5)
plt.show ()

  

                                          Figure 6 Résultats prévus et leurs diagrammes de dispersion

5) Pensez à ce qui est utilisé dans l'algorithme k-means?

Réponse: Le clustering k-means est l'algorithme de clustering le plus connu, et de par sa simplicité et son efficacité, il est le plus largement utilisé parmi tous les algorithmes de clustering. Étant donné un ensemble de points de données et le nombre requis de clusters k, k étant spécifié par l'utilisateur, l'algorithme k-means divise à plusieurs reprises les données en k clusters selon une certaine fonction de distance. La vie peut être utilisée pour classer et classer les choses selon certaines caractéristiques, telles que l'analyse du niveau de l'équipe de football chinoise selon les données des années précédentes, la prévision de la qualité des semences de cette année en fonction de la qualité des semences de l'année précédente et la classification des données.

Je suppose que tu aimes

Origine www.cnblogs.com/lcj170/p/12709350.html
conseillé
Classement