Idea for Hierarchical Clustering

  • habib1418
    了解作者
  • matlab
    开发工具
  • 226.1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 5 积分
    下载积分
  • 0
    下载次数
  • 2022-06-29 23:10
    上传日期
Idea for Hierarchical Clustering- clusterig the nearest elements calculating start and end of each cluster
idea_hierarchical.rar
  • idea_hierarchical
  • plotd.m
    241B
  • findmin.m
    428B
  • 2.jpg
    22.3KB
  • 11.jpg
    23.7KB
  • cluster.m
    1KB
  • main_hierarchical.m
    4.3KB
  • 1.jpg
    27.5KB
  • 22.jpg
    23.3KB
  • 44.jpg
    23.3KB
  • 4.jpg
    25.6KB
  • 5.jpg
    35KB
  • 55.jpg
    30.6KB
  • 33.jpg
    23.2KB
  • 3.jpg
    27KB
内容介绍
%Idea for Hierarchical Clustering clc; clear all; close all; htree=[]; division=3; division=division+1; x_s=iris_dataset'; %------------------- load data % load spectra % x_s=NIR; %------------------- % load hald % x_s=hald; %------------------- % load fisheriris % x_sig=meas; %------------------- % load ionosphere % x_s=X'; %------------------- % load morse % x_s=Y0; %------------------- % load stockreturns % x_sig=stocks; x_s=x_s(:,:); count_clust=size(x_s,1); dend_array=1:size(x_s,1); %normalise brings each parameter of dataset in range of (0,1) normalise=[]; for i=1:size(x_s,2) x_main_s(:,i)=x_s(:,i)./max(x_s(:,i)); x_main=x_s(:,i)- x_main_s(:,i); end len=size(x_main_s,1); clus_count=3; x_main=x_main_s(1:len,:); position=zeros(1,len); N=1:len; x_main=[N' x_main]; x=x_main; dataset_len=size(x); mat=[]; %matrix formation for i=1:dataset_len(1,1)+1 for j=1:dataset_len(1,1)+1 C=0; if i==1 && j==1 mat(i,j)=0; elseif i==1 mat(i,j)=x(j-1,1); elseif j==1 mat(i,j)=x(i-1,1); else for b=1+1:dataset_len(1,2) C=C+(x(i-1,b)-x(j-1,b))*(x(i-1,b)-x(j-1,b)); end mat(i,j)=sqrt(C); end end end start=mat; z=[]; %clusterig the nearest elements in each loop for i=dataset_len(1,1):-1:division [x,mat,z,cr_values,small_index,p,count_clust,htree,dend_array]=cluster(x,mat,z,count_clust,htree,dend_array); end [htree]=plotd(x,mat,z,count_clust,htree,dend_array); H = dendrogram(htree,0); set(H,'LineWidth',1) title('Dendogram'); check=1; %using the returned list to give elements a cluster identity while check==1 check=0; for i=1:size(z,1) if(position(z(i,1))==0 && position(z(i,2))==0) position(z(i,2))=clus_count; position(z(i,1))=clus_count; clus_count=clus_count+1; elseif (position(z(i,1))==0 || position(z(i,2))==0 ) position(z(i,2))=max(position(z(i,1)),position(z(i,2))); position(z(i,1))=max(position(z(i,1)),position(z(i,2))); elseif (position(z(i,1))>=position(z(i,2)) ) position(z(i,1))=position(z(i,2)); else position(z(i,2))=position(z(i,1)); check=1; end end end position=[N ;position]'; %sorting cluster identity final_pos=sortrows(position,2); change=final_pos(1,2); start_end=[]; count=1; start_end(count,1)=1; last=0; %calculating start and end of each cluster for i=1:size(final_pos,1) if(final_pos(i,2)~=change) start_end(count,2)=i-1; change=final_pos(i,2); count=count+1; start_end(count,1)=i; end end start_end(count,2)=size(final_pos,1); grpa=([final_pos(start_end(1,1):start_end(1,2),1)]'); grpb=([final_pos(start_end(2,1):start_end(2,2),1)]'); grpc=([final_pos(start_end(3,1):start_end(3,2),1)]'); count_cluster=[length(grpa),length(grpb),length(grpc)]; color=['b' 'r' 'g' 'y' 'k']; symbol=['*']; x=1;y=2;z=3; figure; scatter3(x_s(grpa,x),x_s(grpa,y),x_s(grpa,z),symbol(1),color(1));hold on; scatter3(x_s(grpb,x),x_s(grpb,y),x_s(grpb,z),symbol(1),color(2));hold on; scatter3(x_s(grpc,x),x_s(grpc,y),x_s(grpc,z),symbol(1),color(3));hold on; title('Reduced set of prototype ' ); xlabel('Featuer x');ylabel('Featuer y'); grid on x=2;y=3;z=4; figure; scatter3(x_s(grpa,x),x_s(grpa,y),x_s(grpa,z),symbol(1),color(1));hold on; scatter3(x_s(grpb,x),x_s(grpb,y),x_s(grpb,z),symbol(1),color(2));hold on; scatter3(x_s(grpc,x),x_s(grpc,y),x_s(grpc,z),symbol(1),color(3));hold on; title('Reduced set of prototype ' ); xlabel('Featuer x');ylabel('Featuer y'); grid on x=3;y=4;z=1; figure; scatter3(x_s(grpa,x),x_s(grpa,y),x_s(grpa,z),symbol(1),color(1));hold on; scatter3(x_s(grpb,x),x_s(grpb,y),x_s(grpb,z),symbol(1),color(2));hold on; scatter3(x_s(grpc,x),x_s(grpc,y),x_s(grpc,z),symbol(1),color(3));hold on; title('Reduced set of prototype ' ); xlabel('Featuer x');ylabel('Featuer y'); grid on x=4;y=1;z=2; figure; scatter3(x_s(grpa,x),x_s(grpa,y),x_s(grpa,z),symbol(1),color(1));hold on; scatter3(x_s(grpb,x),x_s(grpb,y),x_s(grpb,z),symbol(1),color(2));hold on; scatter3(x_s(grpc,x),x_s(grpc,y),x_s(grpc,z),symbol(1),color(3));hold on; title('Reduced set of prototype ' ); xlabel('Featuer x');ylabel('Featuer y'); grid on
评论
    相关推荐
    • Classification
      分类 机器学习: 分类是将事物从从属特征分类为两个或多个类的方法。分类类型: Logistic回归-二进制Logistic分类-名义Logistic分类-一对多于休息一对一对一热编码技术 SVM-二进制-多种分类-一对休息-一对一 ...
    • classification
      使用tensorflow实现对图片的分类。里面自带数据集的下载。数据集大概3000张。
    • Classification
      分类 这是 NCKU 2014 年秋季的数据挖掘最终项目。 测试 如何执行 - i Dataset / test1 . txt - t Dataset / test1 . txt - o output - f marital_status
    • ImageClassification
      图像分类 不同项目的图像分类,主要使用TensorFlow及其API Keras
    • mobile_classification
      mobile_classification 这个项目完全是使用机器学习技术和其他库在python 3.8中创建的。 这个mobile_classificaton模型将借助其功能对移动设备“ price_range”进行分类, 在此项目中,使用了不同的python库,例如#...
    • Classification
      KNN_CLASSIFICATION: 该项目使用K-最近邻居算法将数据分类为二进制标签。 数据说明包含在笔记本中 Support_Vector_Classification: 这是使用支持向量机对数据进行分类的分类项目。 数据说明包含在笔记本中 ...
    • Classification
      Classification 1 Classification.scala完成的是对样本数据训练以及利用生成的模型对遥感影像进行分类的功能 样本数据为trainDataPath = "hdfs://10.214.0.151:8020/user/syzh/gaofen/classification/label.txt" 待...
    • pattern classification
      模式分类第二版答案及课后答案matlab代码
    • General-Classification
      executing the script *executing Generalized_Classification_Function.R*; or, 2. generating a website with details about the study: - from (*ux) command line: Rscript -e "rmarkdown::render_site(input ...
    • image_classification
      image_classification 数据集 定义数据集类的实现以进行训练和推理。 动车组 __getitem__方法,将读取train.csv的idx//7行。 每行有7张图像。 通过idx%7决定选择哪个图像。 # 이미지 이름 목록 self . img_name = ...