SPSS Clustering-Algorithmen für prädiktive Analysen in Notebooks

Sie können den skalierbaren Zwei-Schritt-Algorithmus oder den Cluster-Modellbewertungsalgorithmus verwenden, um Daten in Notebooks zu clustern.

Zweistufiger Cluster

Scalable Two-Step basiert auf dem bekannten Zwei-Schritte-Clustering-Algorithmus, erweitert jedoch sowohl dessen Funktionalität als auch dessen Leistung in mehrfacher Hinsicht.

Erstens kann es große und verteilte Datenmengen, die von Spark unterstützt werden, effektiv verarbeiten, da Spark das Map-Reduce-Berechnungsparadigma nutzt.

Zweitens bietet der Algorithmus Mechanismen zur Auswahl der relevantesten Merkmale für die Clusterbildung der gegebenen Daten sowie zur Erkennung seltener Ausreißer. Darüber hinaus bietet es erweiterte Auswertungs- und Diagnosefunktionen, die einen besseren Einblick ermöglichen.

Der zweistufige Clustering-Algorithmus führt zunächst einen Vor-Clustering-Schritt durch, indem er den gesamten Datensatz durchläuft und die dichten Bereiche der Datenpunkte in Form von zusammenfassenden Statistiken, den sogenannten Cluster-Merkmalen, speichert. Die Cluster-Merkmale werden im Speicher in einer Datenstruktur namens CF-Baum gespeichert. Abschließend wird ein agglomerativer hierarchischer Clustering-Algorithmus angewendet, um die Menge der Clustermerkmale zu gruppieren.

Python Beispielcode:

from spss.ml.clustering.twostep import TwoStep

cluster = TwoStep(). \
    setInputFieldList(["region", "happy", "age"]). \
    setDistMeasure("LOGLIKELIHOOD"). \
    setFeatureImportanceMethod("CRITERION"). \
    setAutoClustering(True)

clusterModel = cluster.fit(data)
predictions = clusterModel.transform(data)
predictions.show()

Bewertung von Clustermodellen

Die Clustermodellbewertung (CME) zielt darauf ab, Clustermodelle zu interpretieren und anhand verschiedener Bewertungsmaßstäbe nützliche Erkenntnisse zu gewinnen.

Es handelt sich um eine Analyse nach der Modellierung, die allgemein gehalten und unabhängig von jeglicher Art von Clustermodellen ist.

Python Beispielcode:

from spss.ml.clustering.twostep import TwoStep

cluster = TwoStep(). \
    setInputFieldList(["region", "happy", "age"]). \
    setDistMeasure("LOGLIKELIHOOD"). \
    setFeatureImportanceMethod("CRITERION"). \
    setAutoClustering(True)

clusterModel = cluster.fit(data)
predictions = clusterModel.transform(data)
predictions.show()