python机器学习包里面的cluster提供了很多聚类算法,其中ward_tree实现了凝聚层次聚类算法。
但是没有看明白ward_tree的返回值代表了什么含义,遂决定寻找别的实现方式。
经过查找,发现scipy.cluster.hierarchy.fclusterdata能够实现层次聚类。有关这个方法的介绍在:http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.fclusterdata.html
以下是具体的python代码
#coding=utf8
"""
# Author: waleking
# Created Time : 四 7/26 17:05:07 2012
Last Modified: 二 7/31 17:56:26 2012
# File Name: hierachical.py
# Description:
使用sklearn的层次聚类方法,具体的是ward_tree方法
测试数据采用iris数据,sklearn.datasets.load_iris()
但是发现sklearn.cluster.ward_tree方法没有看懂,实验stackoverflow里面的代码
http://stackoverflow.com/questions/9873840/cant-get-scipy-hierarchical-clustering-to-work
"""
import sklearn.datasets as datasets
import scipy.cluster.hierarchy as hcluster
import numpy.random as random
import numpy as np
import numpy.core.fromnumeric
import time
import matplotlib.pyplot