Я использовал функцию для расстояния gower от этой ссылки: https://sourceforge.net/projects/gower-distance-4python/files/. Мои данные (df
) таковы, что каждая строка представляет собой сделку, а каждый из столбцов - объекты. Так как он содержит много категориальных данных, я затем преобразовал данные, используя расстояние Gower, чтобы измерить «сходство» ... Я надеюсь, что это правильно (как показано ниже ..):
D = gower_distances(df)
distArray = ssd.squareform(D)
hierarchal_cluster=scipy.cluster.hierarchy.linkage(distArray, method='ward', metric='euclidean', optimal_ordering=False)
Затем я строю иерархический кластер сверху в дендограмму:
plt.title('Hierarchical Clustering Dendrogram (truncated)')
plt.xlabel('sample index or (cluster size)')
plt.ylabel('distance')
dendrogram(
hierarchal_cluster,
truncate_mode='lastp', # show only the last p merged clusters
p=15, # show only the last p merged clusters
leaf_rotation=90.,
leaf_font_size=12.,
show_contracted=True # to get a distribution impression in truncated branches
)
Я не могу показать это, так как у меня недостаточно привилегированных очков, но на дендограмме я вижу отдельные цвета.
Какой главный дискриминатор разделяет их?
Как я могу это выяснить?
Как я могу использовать PCA для извлечения полезных функций?
Должен ли я передать свой'ierarchal_cluster 'в функцию PCA?
Что-то вроде ниже ..?
pca = PCA().fit(hierarchal_cluster.T)
plt.plot(np.arange(1,len(pca.explained_variance_ratio_)+1,1),pca.explained_variance_ratio_.cumsum())