这学期学习数据挖掘课程,总结下来的数据挖掘算法,使用Matlab实现
使用iPad书写,所以无代码界面
clc
%数据矩阵,每行代表一个样本,列为指标
Y= [];
%最大最小法归一化,这里转置是因为mapminmax是对每一行的值分别进行归一化映射
Y= mapminmax(Y',0,1)';%映射范围可改动
%层次聚类步骤
%计算样本数据间的欧式距离以确定对象间的相似性
eucD = pdist(Y,'euclidean');%距离算法可改动默认为euclidean欧式距离
%产生层次聚类树
clustTreeEuc = linkage(eucD,'average');%产生新的距离矩阵,默认为average方式
figure
%可视化聚类树
[h,nodes,perm] = dendrogram(clustTreeEuc,size(Y,1));
%设置图像字体字号
set(gca,'FontSize',10,'Fontname','Times New Roman');
%合并顺序在clusTreeEuc矩阵中,每个组合对应一个编号,初始是本身,每有一个新组合产生就会顺位给你一个新编号
%%
m = input("请输入最后分类数:");
BH = fun_ccjl(clustTreeEuc,Y,m);
这篇博客介绍了如何在数据挖掘课程中使用Matlab进行数据预处理,包括最大最小法归一化,以及应用层次聚类算法。通过pdist和linkage函数计算样本间的欧式距离并构建聚类树,最后利用dendrogram进行可视化。博主还提示读者可以输入期望的分类数以调整聚类结果。
1925

被折叠的 条评论
为什么被折叠?



