import numpy as np clusters=5 pop_size = 100 sample_clusters=2 # 间隔为 20, 从 1 到 5 依次分配集群100个样本的聚类 ID,这一步已经假设聚类完成 cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters) # 随机选出两个聚类的 ID cluster_to_select = random.sample(set(cluster_ids), sample_clusters) # 提取聚类 ID 对应的样本 indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select] # 提取样本序号对应的样本值 cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes] print (cluster_associated_elements)
import numpy as np clusters=5 pop_size = 100 sample_clusters=2 sample_size=5 # 间隔为 20, 从 1 到 5 依次分配集群100个样本的聚类 ID,这一步已经假设聚类完成 cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters) # 随机选出两个聚类的 ID cluster_to_select = random.sample(set(cluster_ids), sample_clusters) # 提取聚类 ID 对应的样本 indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select] # 提取样本序号对应的样本值 cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes] # 再从聚类样本里随机抽取样本 print (random.sample(cluster_associated_elements, sample_size))