日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

聚类算法模型

發(fā)布時(shí)間:2023/12/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聚类算法模型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來(lái)源:數(shù)學(xué)建模清風(fēng)學(xué)習(xí)內(nèi)容整理


文章目錄

  • K-means聚類
      • 算法模型
      • SPSS操作
  • 系統(tǒng)(層次)聚類
      • 算法模型
      • SPSS操作
        • 確定分幾類:用圖形估計(jì)聚類的數(shù)量
  • DBSCAN算法
      • :具有噪聲的基于密度的聚類算法
      • matlab實(shí)現(xiàn)

分類是已知類別的,聚類是未知的

  • K均值法需要自己定義分幾類(K類)
  • 系統(tǒng)聚類可以先聚類,然后再根據(jù)聚合系數(shù)來(lái)確定分幾類


K-means聚類


算法模型






SPSS操作

  • 需要統(tǒng)一量綱
  • 迭代次數(shù)可以視情況增多以達(dá)到收斂效果好


可以利用SPSS來(lái)對(duì)數(shù)據(jù)標(biāo)準(zhǔn)化


系統(tǒng)(層次)聚類

算法模型



  • 距離近的樣品聚為一類


類間距離





SPSS操作


確定分幾類:用圖形估計(jì)聚類的數(shù)量

  • 使用SPSS進(jìn)行系統(tǒng)聚類可以得到聚類系數(shù)

  • 按不同指標(biāo)個(gè)數(shù)可以畫(huà)不同維度的圖
    可以調(diào)整顏色!!!


DBSCAN算法

:具有噪聲的基于密度的聚類算法

  • K均值、系統(tǒng)聚類是基于距離,DBSCAN是基于密度




matlab實(shí)現(xiàn)

  • 主函數(shù)
clc; clear; close all;%% Load Dataload mydata;%% Run DBSCAN Clustering Algorithmepsilon=0.5; %聚類半徑 MinPts=10; %最小聚類點(diǎn):大于Minpts才能分為一類 IDX=DBSCAN(X,epsilon,MinPts);%% Plot Results % 如果只要兩個(gè)指標(biāo)的話就可以畫(huà)圖啦 PlotClusterinResult(X, IDX); title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts) ')']);
  • 被調(diào)用的DBCSCAN函數(shù):
function [IDX, isnoise]=DBSCAN(X,epsilon,MinPts)C=0;n=size(X,1);IDX=zeros(n,1); % 初始化全部為0,即全部為噪音點(diǎn)D=pdist2(X,X);visited=false(n,1);isnoise=false(n,1);for i=1:nif ~visited(i)visited(i)=true;Neighbors=RegionQuery(i);if numel(Neighbors)<MinPts% X(i,:) is NOISEisnoise(i)=true;elseC=C+1;ExpandCluster(i,Neighbors,C);endendendfunction ExpandCluster(i,Neighbors,C)IDX(i)=C;k = 1;while truej = Neighbors(k);if ~visited(j)visited(j)=true;Neighbors2=RegionQuery(j);if numel(Neighbors2)>=MinPtsNeighbors=[Neighbors Neighbors2]; %#okendendif IDX(j)==0IDX(j)=C;endk = k + 1;if k > numel(Neighbors)break;endendendfunction Neighbors=RegionQuery(i)Neighbors=find(D(i,:)<=epsilon);endend
  • 被調(diào)用的畫(huà)圖函數(shù)
function PlotClusterinResult(X, IDX)k=max(IDX);Colors=hsv(k);Legends = {};for i=0:kXi=X(IDX==i,:);if i~=0Style = 'x';MarkerSize = 8;Color = Colors(i,:);Legends{end+1} = ['Cluster #' num2str(i)];elseStyle = 'o';MarkerSize = 6;Color = [0 0 0];if ~isempty(Xi)Legends{end+1} = 'Noise';endendif ~isempty(Xi)plot(Xi(:,1),Xi(:,2),Style,'MarkerSize',MarkerSize,'Color',Color);endhold on;endhold off;axis equal;grid on;legend(Legends);legend('Location', 'NorthEastOutside');end

總結(jié)

以上是生活随笔為你收集整理的聚类算法模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。