机器学习--原型聚类

整体思路:创建随机据类数据集,然后对其进行分类,然后画散点图

####小编第一次自己用python写的东西,在这里先说明一下,注意矩阵到list转化,注意注意注意#####

import numpy as np 
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
X, y = make_blobs(n_samples=300, n_features=2, centers=[[1,1], [5,5], [2,9]], cluster_std=[0.4, 0.5, 0.2])
这里面的X是生成的数据(300*2),y 为种类这里我没有用到
avg1=X[0:3,:] #这是三个类别的平均值,开始随机选的三个点作为开始的平均值。
L=[4]*len(X)#装数据种类用的
distance=[4]*(len(X))#每个点到最近的那个点的距离
#print(distance)
def plant(s1,s2,s3):
    plt.scatter(s1[:, 0], s1[:, 1], marker='x', c='r')
    # print(s2)
    plt.scatter(s2[:, 0], s2[:, 1], marker='v', c='b')
    plt.scatter(s3[:, 0], s3[:, 1], marker='o', c='g')
    plt.show()
for x in range(2):#这里用了最少的两次,想不明白为什么两次就可以分开????????????
    s1=[]  #用来存分完类的数据
    s2=[]
    s3=[]
    l=len(X)
    for j in range(l):
        L[j]=0
        distance[j]=np.linalg.norm(X[j] - avg1[0])#计算两个向量之间的距离
        AVG=avg1[1:3,:]
        i1=1;
        for j1 in AVG :                       #求得最小距离
            dis=np.linalg.norm(X[j] - j1)     #
            if(dis 
  
机器学习--原型聚类_第1张图片 散点图

 

你可能感兴趣的:(机器学习--原型聚类)