1

Ich verwende die Agglomeration von Scikit-Lernfunktionen, um ein hierarchisches Clustering-Verfahren für Features und nicht für die Beobachtungen zu verwenden.Feature-Agglomeration: Wie werden die Features abgerufen, aus denen die Cluster bestehen?

Dies ist mein Code:

from sklearn import cluster 
import pandas as pd 

#load the data 
df = pd.read_csv('C:/Documents/data.csv') 
agglo = cluster.FeatureAgglomeration(n_clusters=5) 
agglo.fit(df) 
df_reduced = agglo.transform(df) 

Meine ursprüngliche df die Form hatte (990, 15), nach dem Merkmal Agglomeration mit, jetzt df_reduced hat (990, 5).

Wie finden Sie nun heraus, wie die ursprünglichen 15 Features zusammen geclustert wurden? Mit anderen Worten, welche originalen Features von df bilden jedes der 5 neuen Features in df_reduced?

Antwort

1

Nach Anpassung des Clusterers enthält agglo.labels_ eine Liste, die angibt, in welchem ​​Cluster im reduzierten Dataset jedes Feature im ursprünglichen Dataset gehört.

1

Die Art und Weise, wie die Features in den einzelnen Clustern während der Transformation kombiniert werden, richtet sich nach der Art und Weise, wie Sie das hierarchische Clustering durchführen. Der reduzierte Feature-Set besteht einfach aus den Clusterclustern n_clusters (die n_samples - dimensionale Vektoren sind). Für bestimmte Anwendungen könnten Sie sich Rechenzentren mit unterschiedlichen Definitionen von Cluster-Zentren vorstellen (d. H. Median statt Mittelwert, um den Einfluss von Ausreißern usw. zu vermeiden).

Vergessen Sie nicht, die Features vorher zu standardisieren (zum Beispiel mit dem Scaler von sklear). Sonst gruppieren Sie eher die Größenskalen als ein ähnliches Verhalten. Hoffe, dass hilft! Den Code nicht getestet. Lass es mich wissen, wenn es Probleme gibt.

Verwandte Themen