Aprendizaje automático - 3

El algoritmo K-means se compila independientemente, la agrupación se realiza en los datos de longitud del pétalo del iris y se muestra con un diagrama de dispersión. 
from numpy import *
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_iris

data = load_iris ()
iris_l = data.data [:, 1: 2]

y = len (iris_l) # 150
m = iris_l.shape [1] # 1
k = 3
dist = np.zeros ([y, k + 1])

#center
def initcent (x, k):
centro = x [: k ,: ]
centro de retorno

#oushijuli
def más cercano (x, centro):
a = []
para j en el rango (k):
a.append (abs (x-center [j,:]))
# print (a)
devuelve un

#julei
def xclassify (x, dist, center):
para i en rango (x.shape [0]):
dist [i
,: k] = más cercano (x [i ,: ], center) dist [i, k] = np.argmin (dist [i,: k])
return dist

def kcmean (x, dist, center, k ):
centerNew = np.zeros ([k, m])
para c en el rango (k):
q = np.where (dist [:, k] == c)
n = np.mean (x [q])
if centerNew [c]! = n:
centerNew [c] = n
return np.array (centerNew)

center = initcent (iris_l, k)
while True:
xclas = xclassify (iris_l, dist, center)
centerNew = kcmean (iris_l, xclas, center, k)
if all (center == centerNew):
break
else:
center = centerNew

a = iris_l.flatten ()
plt.scatter (a, a, c = array (xclas [:, k]), s = 50, cmap = 'rainbow', marker = 'p', alpha = 0.5)
plt.show ()

 

 

 

 

Use sklearn.cluster.KMeans, datos de longitud de pétalo de iris para la agrupación y muéstrelo con un diagrama de dispersión

from sklearn.datasets import load_iris 
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
iris = load_iris ()
data = iris ['data']
long = data [:, 1]
long = long.reshape (-1,1)

model = KMeans (n_clusters = 3) .fit (long)
pre = model.predict (long)
center = model.cluster_centers_
# print (long [:, 0])

plt.scatter (long [:, 0], long [: , 0], c = pre, s = 50, cmap = 'arcoiris', marcador = 'p', alfa = 0.5)
plt.show ()

 

 

 

 


Los datos completos de las flores de iris se agrupan y se muestran con un diagrama de dispersión.
from sklearn.datasets import load_iris 
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
iris = load_iris ()
data = iris ['data']

model = KMeans (n_clusters = 3) .fit (data)
pre = model.predict ( data)
center = model.cluster_centers_

plt.scatter (data [:, 0], data [:, 1], c = pre, s = 50, cmap = 'rainbow', marker = 'p', alpha = 0.5)
plt .show()

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/zzkai/p/12697485.html
Recomendado
Clasificación