【发布时间】:2017-05-16 00:15:04
【问题描述】:
我有两个密集矩阵(title 和 para)。我希望使用亲和传播算法对它们进行聚类,然后绘制聚类。
我编写了以下代码,这些代码基于一个特性进行聚类。我怎样才能使它适应这两个特征的聚类,然后绘制结果?
import os
import time
import string
import pickle
import matplotlib.pyplot as plt
from sklearn.cluster import AffinityPropagation
from sklearn import metrics
import matplotlib.pyplot as plt
from itertools import cycle
#from sklearn.ensemble import RandomForestClassifier
#Opens and stores preprocessed data.
filepath = '...'
with open((filepath + 'para.dat'), 'rb') as infile:
para = pickle.load(infile)
with open(filepath + 'title.dat', 'rb') as infile:
title = pickle.load(infile)
with open(filepath + 'y.dat', 'rb') as infile:
y = pickle.load(infile)
af = AffinityPropagation().fit(para)
cluster_centers_indices = af.cluster_centers_indices_
labels = af.labels_
n_clusters_= len(cluster_centers_indices)
这是主动学习方法的一部分,我使用它通过聚类来实现查询,从而将整个数据集聚类,并且聚类的质心形成训练数据集,从而生成代表整个数据集的训练数据集。
【问题讨论】:
标签: python matplotlib scikit-learn cluster-analysis