Я уже выполнил HA C для своего набора данных и получил результаты от кластеризации. Теперь я хочу видеть в каждом кластере, кто ближе всего друг к другу.
Код, который я использовал для построения своей HA C, выглядит следующим образом:
# import hierarchical clustering libraries
import scipy.cluster.hierarchy as sch
from sklearn.cluster import AgglomerativeClustering
# create clusters for the test data set
# hc = AgglomerativeClustering(n_clusters=6, affinity = 'euclidean', linkage = 'ward')
# save clusters for chart
y_hc1 = hc.fit_predict(df_pca_reduced)
plt.figure(figsize =(12, 12))
plt.scatter(df_pca_reduced_noncritical.iloc[:,0], df_pca_reduced_noncritical.iloc[:,1],
c = y_hc1, cmap ='prism')
plt.show()
Мой кластер set выглядит следующим образом:
1 1553
0 1127
4 670
2 582
3 475
5 259
Name: cluster, dtype: int64
У меня есть 6 хороших кластеров, но теперь я хочу go немного глубже, чтобы понять, кто является ближайшим друг к другу на уровне кластера. Я пытаюсь найти ближайших соседей для каждой точки данных (каждой строки) в моем кластере, так как я работаю над неконтролируемой проблемой обучения, когда мне нужно увидеть следующих 5 потенциальных соседей. Мне нужно ранжировать соседей по расстоянию от определенного c точки данных. Как я могу это сделать?
Я также провел тест функции относительной важности, который дает мне наиболее важные функции на уровне кластера, но все же, что мне делать дальше с этим? Это не говорит мне моих следующих лучших соседей. Пожалуйста, см. Также этот код ниже:
# Visulaising cluster importance
cluster_avg1 = hiersclus_df.groupby(['cluster']).mean()
# Calculate average RFM values for the total customer population
population_avg1 = df1_clean.mean()
# Calculate relative importance of cluster's attribute value compared to population
relative_imp1 = cluster_avg1 / population_avg1 - 1
plt.figure(figsize=(20, 8))
plt.title('Relative importance of features')
ax1 =sns.heatmap(data=relative_imp, annot=True, fmt='.2f', cmap='RdYlGn',vmax=2,vmin=-1)
plt.show()
Немного о моем наборе данных, его сочетании категориальных и непрерывных функций, 47 из них с 5000 строк.