小言_互联网的博客

【数据聚类】基于粒子群、遗传和差分算法实现数据聚类附matlab代码

315人阅读  评论(0)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

聚类问题的特点是事先不知道一批样品中每一个样品的类别或其他的先验知识,唯一的分类就是根据样品的特性进行分类。聚类通常作为数据挖掘的第一步。当今社会,伴随着大量数据日积月累,我们的生活逐渐被海量数据所淹没,从大量的数据中分析和挖掘出人类需要的有效信息已经变得迫切而有必要,例如,在电子商务中人类需要知道消费者对哪一类产品的满意度最高,首先需要将整个消费群体随机分组在不同的类里,然后根据一定的规律、特征,应用聚类算法进行聚类分析,并对不同类里的客户需求进行促销,会取得更好的促销效果和商业盈利。文章介绍了粒子群算法和聚类分析的研究背景、原理和算法流程描述以及粒子群算法在函数优化、数据聚类中的应用,并在MATLABR2013a编程环境下,分别编程实现了粒子群算法在函数优化、数据聚类中的应用。自然界是人类各类思想、工程原理以及发明创造的源泉,在向自然界学习的过程中,人类社会不断获得灵感,并促进了哲学思想、医学、军事科学、计算机科学、信息管理与控制等各学科的发展与进步。智能计算就是人类不断向生物界学习和探索的结果。

⛄ 部分代码

%

function [DB, out] = DBIndex(m, X)

    k = size(m,1);

    % Calculate Distance Matrix

    d = pdist2(X, m);

    

    % Assign Clusters and Find Closest Distances

    [dmin, ind] = min(d, [], 2);

    

    q=2;

    S=zeros(k,1);

    for i=1:k

        if sum(ind==i)>0

            S(i) = (mean(dmin(ind==i).^q))^(1/q);

        else

            S(i) = 10*norm(max(X)-min(X));

        end

    end

    

    t=2;

    D=pdist2(m,m,'minkowski',t);

    r = zeros(k);

    for i=1:k

        for j=i+1:k

            r(i,j) = (S(i)+S(j))/D(i,j);

            r(j,i) = r(i,j);

        end

    end

    

    R=max(r);

    

    DB = mean(R);

    

    out.d=d;

    out.dmin=dmin;

    out.ind=ind;

    out.DB=DB;

    out.S=S;

    out.D=D;

    out.r=r;

    out.R=R;

    

end

⛄ 运行结果

⛄ 参考文献

[1]胡春丽. 基于粒子群算法的高维数据子空间聚类算法[D]. 汕头大学, 2012.

[2]刘建生, 乔尚平, 匡奕群. 基于差分粒子群和模糊聚类的彩色图像分割算法[J]. 江西理工大学学报, 2013, 34(5):6.​

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料


转载:https://blog.csdn.net/qq_59747472/article/details/128041090
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场