利用不同方法对数据进行聚类,参考至:周志华 机器学习
%% 利用不同方法对债券样本进行聚类
%说明
%分别采用不同的方法,对数据进行聚类
%kmens可以选择的pdist/clustering距离
% 'sqeuclidean' 'cityblock' 'cosine' 'correlation' 'hamming'
%Y=pdist(X) 生成各数据点之间距离的行向量
%squareform(Y) 生成方阵(i,j)代表i个点与j各点之间的距离
%聚类方法:
%k-means
%kidx=kmeans(bonds,numClust,'distance',dist_k);
%层次聚类
%hidx=clusterdata(bonds,'maxclust',numClust,'distance',dist_h,'linkage',link);
%liankage产生层次聚类树
%获取距离矩阵,第二参数指定距离计算方法
%可选参数有'euclidean':欧氏距离(默认);'seuclidean':标准化欧氏距离;
%'mahalanobis':马氏距离;'cityblock':布洛克距离;'minkowski':明可夫斯基距离;
%'cosine':余弦距离 'correlation':相关性 'hamming':汉明距离 'jaccard':Jaccard相似度
%获取聚类,第二参数指定层次聚类方式
%'single':单连通,最短距离法(默认);'complete':全连通,最长距离法;'average':未加权平均距离法;
%'weighted':加权平均法;'centroid':质心距离法;'median':加权质心距离法;'ward':内平方距离
%'chebychev':Chebychev距离。
%神经网络聚类
%dimension1=3;
%dimension2=1;
% net = selforgmap([dimension1 dimension2]);
% net.trainParam.showWindow=0;
%训练网络
%[net,tr]=train(net,bonds');
%nidx=net(bonds');
%nidx=vec2ind(nidx)'
%高斯混合