生活随笔
收集整理的這篇文章主要介紹了
聚类算法模型
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
來源:數(shù)學建模清風學習內容整理
文章目錄
- K-means聚類
- 系統(tǒng)(層次)聚類
- DBSCAN算法
- :具有噪聲的基于密度的聚類算法
- matlab實現(xiàn)
分類是已知類別的,聚類是未知的
- K均值法需要自己定義分幾類(K類)
- 系統(tǒng)聚類可以先聚類,然后再根據聚合系數(shù)來確定分幾類
K-means聚類
算法模型
SPSS操作
- 需要統(tǒng)一量綱
- 迭代次數(shù)可以視情況增多以達到收斂效果好
可以利用SPSS來對數(shù)據標準化
系統(tǒng)(層次)聚類
算法模型
類間距離:
SPSS操作
確定分幾類:用圖形估計聚類的數(shù)量
- 使用SPSS進行系統(tǒng)聚類可以得到聚類系數(shù)
- 按不同指標個數(shù)可以畫不同維度的圖
可以調整顏色!!!
DBSCAN算法
:具有噪聲的基于密度的聚類算法
- K均值、系統(tǒng)聚類是基于距離,DBSCAN是基于密度。
matlab實現(xiàn)
clc;
clear;
close all;%% Load Dataload mydata;%% Run DBSCAN Clustering Algorithmepsilon=0.5; %聚類半徑
MinPts=10; %最小聚類點:大于Minpts才能分為一類
IDX=DBSCAN(X,epsilon,MinPts);%% Plot Results
% 如果只要兩個指標的話就可以畫圖啦
PlotClusterinResult(X, IDX);
title(['DBSCAN Clustering (\epsilon = ' num2str(epsilon) ', MinPts = ' num2str(MinPts) ')']);
function [IDX, isnoise]=DBSCAN(X,epsilon,MinPts)C=0;n=size(X,1);IDX=zeros(n,1); % 初始化全部為0,即全部為噪音點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
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
總結
以上是生活随笔為你收集整理的聚类算法模型的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。