⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yf_sampleclusteringdatasets1.m

📁 模糊C均值聚类的一个参考材料,做模糊聚类是用的一个程序
💻 M
字号:
function [data, cNo] = Yf_SampleClusteringDataSets1 (DataSetId, data_no)
%Yf_SampleClusteringDataSets1: Returns sample data set for clustering purposes
%
%   [data, cNo] = Yf_SampleClusteringDataSets1 (DataSetId, data_no)
%
%   Mahdi Amiri, June 15, 2003
%   http://yashil.20m.com/

switch (DataSetId)
    case 1
        % Uses data_no
        data = rand(data_no, 2);
        % === cluster 1
        dist1 = distfcm([0.2 0.2], data);
        index1 = (dist1 < 0.15)';
        % === cluster 2
        dist2 = distfcm([0.7 0.7], data);
        index2 = (dist2 < 0.25)';
        % === cluster 3
        index3 = data(:,1) - data(:, 2) - 0.1 < 0;
        index4 = data(:,1) - data(:, 2) + 0.1 > 0;
        index5 = data(:,1) + data(:, 2) - 0.4 > 0;
        index6 = data(:,1) + data(:, 2) - 1.4 < 0;
        % === final data
        data(find((index1|index2|(index3&index4&index5&index6)) ...
            == 0), :) = [];
        cNo = 3;
        
    case 2
        % Uses data_no
        % === cluster 1
        c1 = [0.6 0.2]; radius1 = 0.2;
        data1 = randn(data_no, 2)/10 + ones(data_no, 1)*c1;
        % === cluster 2
        c2 = [0.2 0.6]; radius2 = 0.2;
        data2 = randn(data_no, 2)/10 + ones(data_no, 1)*c2;
        % === cluster 3
        c3 = [0.8 0.8]; radius3 = 0.2;
        data3 = randn(data_no, 2)/10 + ones(data_no, 1)*c3;
        % === final data
        data = [data1; data2; data3];
        index = (min(data')>0) & (max(data')<1);
        data(find(index == 0), :) = [];
        cNo = 3;
        
    case 3
        % Uses data_no
        k = 10;
        c1 = [0.125 0.25];
        data1 = randn(data_no, 2)/k + ones(data_no, 1)*c1;
        c2 = [0.625 0.25];
        data2 = randn(data_no, 2)/k + ones(data_no, 1)*c2;
        c3 = [0.375 0.75];
        data3 = randn(data_no, 2)/k + ones(data_no, 1)*c3;
        c4 = [0.875 0.75];
        data4 = randn(data_no, 2)/k + ones(data_no, 1)*c4;
        data = [data1; data2; data3; data4];
        index = (min(data')>0) & (max(data')<1);
        data(find(index == 0), :) = [];
        cNo = 4;
        
    case 4
        % Uses data_no
        % === cluster 1
        c1 = [0.2 0.2];
        data1 = randn(data_no, 2)/15 + ones(data_no, 1)*c1;
        % === cluster 2
        c2 = [0.2 0.5];
        data2 = randn(data_no, 2)/15 + ones(data_no, 1)*c2;
        % === cluster 3
        c2 = [0.2 0.8];
        data3 = randn(data_no, 2)/15 + ones(data_no, 1)*c2;
        % === cluster 4
        c3 = [0.8 0.5];
        data4 = randn(data_no, 2)/10 + ones(data_no, 1)*c3;
        % === final data
        data = [data1; data2; data3; data4];
        index = (min(data')>0) & (max(data')<1);
        data(find(index == 0), :) = [];
        cNo = 4;
        
    case 11
        % [PalPB97], pp. 14
        data = [-5.00  0.00;
            -3.34  1.67;
            -3.34  0.00;
            -3.34 -1.67;
            -1.67  0.00;
             0.00  0.00;
             1.67  0.00;
             3.34  1.67;
             3.34  0.00;
             3.34 -1.67;
             5.00  0.00];
         cNo = 2;
         
     case 12
        % [PalPB97], pp. 14
        data = [-5.00  0.00;
            -3.34  1.67;
            -3.34  0.00;
            -3.34 -1.67;
            -1.67  0.00;
             0.00  0.00;
             1.67  0.00;
             3.34  1.67;
             3.34  0.00;
             3.34 -1.67;
             5.00  0.00;
             0.00 10.00];
         cNo = 2;
            
    case 30
        % [BezKKP99], pp. 22
        data = [1.5  2.5;
            1.7  2.6;
            1.2  2.2;
            2    2;
            1.7  2.1;
            1.3  2.5;
            2.1  2;
            2.3  1.9;
            2    2.5;
            1.9  1.9;
            5    6.2;
            5.5  6;
            4.9  5.9;
            5.3  6.3;
            4.9  6;
            5.8  6;
            5.5  5.9;
            5.2  6.1;
            6.2  6.2;
            5.6  6.1;
            10.1 12.5;
            11.2 11.5;
            10.5 10.9;
            12.2 12.3;
            10.5 11.5;
            11   14;
            12.2 12.2;
            10.2 10.9;
            11.9 12.7;
            12.9 12];
        cNo = 3;
        
    otherwise
        % Uses data_no
        data = rand(data_no, 2);
        cNo = 5; % Just a guess
        
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -