精华内容
下载资源
问答
  • 简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。 复制代码 代码如下:import pylab as pl #calc Euclid squiredef calc_e_squire(a, b): return (a[0]- b[0]) ** 2 + (a[1] – b[1]) **2 #init the ...
  • Matlab基于K均值聚类的神经网络-基于K均值聚类的RBF神经网络.rar 基于K均值聚类的RBF神经网络
  • 实现k均值聚类,只需简单修改一两个参数就可以实现聚类效果
  • k均值聚类python实现

    2018-10-18 09:30:23
    k-means(k均值)算法的python代码实现,可以显示聚类效果与聚类的迭代次数,初学者使用更方便。
  • Matlab基于k均值聚类学习算法的rbf神经网络实现-基于k均值聚类学习算法的rbf神经网络实现.rar 基于k均值聚类学习算法的rbf神经网络实现
  • 基于k均值的分类算法 MATLAB程序 通过各个数据之间的距离进行均值聚类
  • k均值聚类分析

    2018-10-28 21:06:19
    本程序为MATLAB程序,适用于用k均值聚类法对数据分类,有数据为例,下载即可使用,可根据自己需要进行修改,效果较好
  • K-MEANS(K均值聚类算法,C均值算法) K-MEANS(K均值聚类算法,C均值算法) K-MEANS(K均值聚类算法,C均值算法)
  • K均值聚类算法PPT

    2017-08-24 10:04:22
    K均值聚类算法的PPT,包含最基本的K均值算法,以及改进性算法:K-means++算法 ,Isodate算法,二分K均值算法
  • 主要为大家详细介绍了Python机器学习算法之k均值聚类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • K均值聚类算法.ppt

    2020-03-02 23:00:46
    主 讲 单 位电子信息工程学院 K均值聚类算法 目 录 K均值聚类简介 K均值聚类的原理 K均值算法的优缺点 K均值聚类的MATLAB实现 待聚类样本的分类结果 结论 一.K均值聚类简介 K均值聚类发明于1956年该算法最常见的形式...
  • K均值聚类,多维度

    2018-11-17 20:14:27
    K均值聚类算法 ,可以用于多类别的数据分类,比如mnist的
  • 1、在matlab中,对k均值聚类算法的原理进行仿真实现; 2、在不同信道(AWGN, Rayleigh…),不同信噪比下,比较接收QAM信号的星座图;
  • 针对复杂图像背景下的多目标定位问题,采用K均值聚类-粒子群优化联合算法,应用排挤机制确定初始聚类质心;根据特征向量将目标粒子种群分为若干个子群,在每个目标子群中进行粒子优化更新;重复进行聚类和子群优化,...
  • k均值聚类的扩展,带核函数的k均值聚类以及多核k均值聚类
  • 使用Opencv实现区域增长法、K均值聚类算法、模糊C均值聚类算法对图像处理;可处理单通道图像以及多通道图像。用法:建立Opencv工程后添加此cpp文件,在该工程中添加lena .jpg图片即可运行程序(当然也可以自己修改...
  • 基于自适应K均值聚类的关键帧提取,李秀环,,视频关键帧通常会反映一个视频的主要内容, 能大大减少视频索引的数据量, 是视频分析和基于内容视频检索的重要基础之一。本文提出��
  • 本文实例为大家分享了python K均值聚类的具体代码,供大家参考,具体内容如下 #-*- coding:utf-8 -*- #!/usr/bin/python ''''' k Means K均值聚类 ''' # 测试 # K均值聚类 import kMeans as KM KM.kMeansTest() #...
  • k均值聚类算法分类

    2016-03-15 14:56:03
    采用K均值聚类算法将一组二维模式集分为3类、4类的MATLAB代码,并有2层神经元采用自组织映射(SOFM)对上述模式进行聚类,包含完整的程序,分类效果比较理想
  • 文档提供了一个完整的k均值聚类算法MATLAB程序,已运行无误,且有超级详细的注释
  • K-Means算法是典型的基于距离的聚类算法,其中k代表类簇个数,means代表类簇内数据对象的均值(这种均值是一种对类簇中心的描述),因此,K-Means算法又称为k-均值算法。K-Means算法是一种基于划分的聚类算法,以...
  • 针对复杂图像背景及光照导致的肤色检测率不高的问题,提出一种基于分裂式K均值聚类的椭圆模型肤色检测方法。该方法对图像进行光线补偿处理,采用Gray World方法对图像进行颜色均衡,选择建立检测效率较高的椭圆肤色...
  • K均值算法的注意事项和MATLAB代码的实现
  • 利用图像方差能很好地反映目标边缘信息的特点,提出一种基于方差的K均值聚类红外目标检测算法。利用形态学方法对红外图像进行预处理,运用相应的模板计算得到红外图像的方差图像,利用K均值聚类算法对方差图像进行聚类,...
  • 特别是,我们提出了一种基于图形处理单元(GPU)的并行加权k均值聚类算法(PW-kmeans),该算法使我们能够利用GPU的并行计算功能来加速传统加权k均值算法的运行过程。 PW-kmeans通过将加权k均值的运算转换为向量或...
  • K均值聚类

    千次阅读 2021-01-28 11:14:47
    K均值聚类将样本集合划分为k个子集,构成k个类,将n个样本分到k个类中,每个样本到其所属类的中心距离最小,每个样本仅属于一个类,这就是k均值聚类,同时根据一个样本仅属于一个类,也表示了k均值聚类是一种硬聚类...

    K-均值聚类算法

    1. 什么是K均值聚类算法

    K均值聚类(k-means)是基于样本集合划分的聚类算法。K均值聚类将样本集合划分为k个子集,构成k个类,将n个样本分到k个类中,每个样本到其所属类的中心距离最小,每个样本仅属于一个类,这就是k均值聚类,同时根据一个样本仅属于一个类,也表示了k均值聚类是一种硬聚类算法。

    2:K均值聚类算法的过程

    2.1 k均值聚类的算法过程

    输入:n个样本的集合

    输出:样本集合的聚类

    过程:

    (1)初始化。随机选择k的样本作为初始聚类的中心。

    (2)对样本进行聚类。针对初始化时选择的聚类中心,计算所有样本到每个中心的距离,默认欧式距离,将每个样本聚集到与其最近的中心的类中,构成聚类结果。

    (3)计算聚类后的类中心,计算每个类的质心,即每个类中样本的均值,作为新的类中心。

    (4)然后重新执行步骤(2)(3),直到聚类结果不再发生改变。

    K均值聚类算法的时间复杂度是O(nmk),n表示样本个数,m表示样本维数,k表示类别个数。
    K均值聚类算法流程图

    3:K均值聚类算法的习题

    3.1 例题

    五个样本的集合,使用K均值聚类算法,将五个样本聚于两类,五个样本分别是(0,2)(0,0)(1,0)(5,0)(5,2)。

    例题图示

    3.2 初始化

    初始化。随机选择2个样本作为初始聚类的中心。
    初始化聚类中心

    3.3 聚类

    对样本进行聚类。计算每个样本距离每个中心的距离,将每个样本聚集到与其最近的中心的类中,构成两类。
    根据距离判定属于红色的中心点
    相同的方法对剩余两个点进行聚类,结果如下:
    第一次聚类结果

    3.4 寻找新的类中心

    计算新的类中心。对新的类计算样本的均值,作为新的类中心。
    新的中心点

    3.5 再次聚类

    对样本进行聚类。计算每个样本距离每个中心的距离,将每个样本聚集到与其最近的中心的类中,构成新的类。
    根据距离判定属于蓝色的中心点
    使用相同的方法对其余四个点进行聚类,结果如下:
    第二次聚类结果

    3.6 结果

    第二次聚类结果与第一次聚类结果相同,则聚类停止。得到最终的结果。

    3.7 例题

    若选择不同的初识聚类中心,会出现什么结果。初始化聚类中心
    选择不同的初始中心,会得到不同的聚类结果。

    4:K均值聚类算法的实现

    4.1 K均值聚类算法

    导入聚类库:

    from sklearn.cluster import KMeans

    聚类语法:

    class sklearn.cluster.KMeans(n_clusters=8, *, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='deprecated', verbose=0, random_state=None, copy_x=True, n_jobs='deprecated', algorithm='auto')

    参数解释:

    • n_clusters:簇的个数,即你想聚成几类
    • init: 初始簇中心的获取方法
    • n_init: 获取初始簇中心的更迭次数,为了弥补初始质心的影响,算法默认会初始10次质心,实现算法,然后返回最好的结果。
    • max_iter: 最大迭代次数(因为kmeans算法的实现需要迭代)
    • tol: 容忍度,即kmeans运行准则收敛的条件
    • precompute_distances:是否需要提前计算距离,这个参数会在空间和时间之间做权衡,如果是True 会把整个距离矩阵都放到内存中,auto 会默认在数据样本大于featurs*samples 的数量大于12e6 的时候False,False 时核心实现的方法是利用Cpython 来实现的
    • verbose: 冗长模式
    • random_state: 随机生成簇中心的状态条件。
    • copy_x: 对是否修改数据的一个标记,如果True,即复制了就不会修改数据。bool 在scikit-learn 很多接口中都会有这个参数的,就是是否对输入数据继续copy 操作,以便不修改用户的输入数据。这个要理解Python 的内存机制才会比较清楚。
    • n_jobs: 并行设置
    • algorithm: kmeans的实现算法,有:‘auto’, ‘full’, ‘elkan’, 其中 'full’表示用EM方式实现

    属性:

    • cluster_centers_:聚类中心点
    • labels_:每个样本所属的聚类标签
    • inertia_:样本到其最近的聚类中心的平方距离的总和
    • n_iter_:运行的迭代次数

    方法:

    • fit(X[,y]):训练样本
    • fit_predict(X[,y]):计算聚类中心并预测每个样本的聚类索引
    • fit_transform(X[,y]):计算聚类并将X转换为聚类距离空间
    • predict(X):预测X中每个样本所属的最近簇。
    4.2 对鸢尾花数据进行聚类
    # 导入所需要的库,绘图库,numpy库,sklearn机器学习库内的数据集,聚类,划分数据集方法
    import matplotlib.pyplot as plt  
    import numpy as np  
    from sklearn.cluster import KMeans
    from sklearn.model_selection import train_test_split
    from sklearn.datasets import load_iris 
    
    iris=load_iris()   # 导入鸢尾花数据集
    X = iris.data[:, 2:4] ##表示我们只取特征空间中的后两个维度
    y = iris.target     # 将鸢尾花的标签赋值给y
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)  # 划分鸢尾花数据集,其中训练集占70%,测试集占30%
    #绘制数据分布图
    plt.scatter(X[:, 0], X[:, 1], c = "red", marker='o', label='iris')  
    plt.xlabel('petal length')  
    plt.ylabel('petal width')  
    plt.legend(loc=2)  
    plt.show()  
    estimator = KMeans(n_clusters=3) # 构造聚类器,将样本聚于3类
    estimator.fit(X_train)     # 开始聚类
    label_pred = estimator.labels_   # 获取聚类标签
    print(estimator.cluster_centers_)   # 获取聚类中心点
    #绘制k-means结果,将训练集聚类后的结果绘图展示,三种颜色表示三类,红色表示第一类,绿色表示第二类,蓝色表示第三类
    x0 = X_train[label_pred == 0]
    x1 = X_train[label_pred == 1]
    x2 = X_train[label_pred == 2]
    plt.scatter(x0[:, 0], x0[:, 1], c = "red", marker='o', label='label0')  
    plt.scatter(x1[:, 0], x1[:, 1], c = "green", marker='*', label='label1')  
    plt.scatter(x2[:, 0], x2[:, 1], c = "blue", marker='+', label='label2')  
    plt.xlabel('petal length')       # 坐标轴属性
    plt.ylabel('petal width')  
    plt.legend(loc=2)  
    plt.show()
    print(estimator.predict(X_test))    # 使用训练出的KMeans模型预测测试集中的数据属于哪一类
    #绘制k-means预测结果,将测试集集聚类后的结果绘图展示,三种颜色表示三类,橘色表示第一类,天蓝色表示第二类,蓝绿色表示第三类。
    predict_0=X_test[estimator.predict(X_test) == 0]
    predict_1=X_test[estimator.predict(X_test) == 1]
    predict_2=X_test[estimator.predict(X_test) == 2]
    plt.scatter(predict_0[:, 0], predict_0[:, 1], c = "tomato", marker='o', label='predict0')  
    plt.scatter(predict_1[:, 0], predict_1[:, 1], c = "skyblue", marker='*', label='predict1')  
    plt.scatter(predict_2[:, 0], predict_2[:, 1], c = "greenyellow", marker='+', label='predict2')  
    plt.xlabel('petal length')  
    plt.ylabel('petal width')  
    plt.legend(loc=2)  
    plt.show()
    

    程序结果

    展开全文
  • KMeans集群 使用Python的K均值聚类
  • 针对k均值聚类算法存在的缺点,提出了一种新的聚类算法———基于粒子群的k 均值聚类算法,并将此算法与现有的基于遗传算法的k均值聚类算法进行比较, 理论分析和数据实验证明,该算法有较好的全局收敛性,不仅能有效...
  • 自编K均值聚类算法matlab程序,可供初学者实用
  • PCA特征提取K均值聚类matlab代码.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,417
精华内容 12,566
关键字:

k均值聚类