回答

2

可以使用numpy的阵列或一个数据帧大熊猫作为输入提供给sklearn.cluster.FeatureAgglomeration

输出是一个numpy的阵列,其中在数据集中等于这些行的行和等于n_clusters列参数中设定FeatureAgglomeration 。

from sklearn.cluster import FeatureAgglomeration 
import pandas as pd 
import matplotlib.pyplot as plt 

#iris.data from https://archive.ics.uci.edu/ml/machine-learning-databases/iris/ 
iris=pd.read_csv('iris.data',sep=',',header=None) 
#store labels 
label=iris[4] 
iris=iris.drop([4],1) 

#set n_clusters to 2, the output will be two columns of agglomerated features (iris has 4 features) 
agglo=FeatureAgglomeration(n_clusters=2).fit_transform(iris) 

#plotting 
color=[] 
for i in label: 
    if i=='Iris-setosa': 
     color.append('g') 
    if i=='Iris-versicolor': 
     color.append('b') 
    if i=='Iris-virginica': 
     color.append('r') 
plt.scatter(agglo[:,0],agglo[:,1],c=color) 
plt.show() 

enter image description here