2017-08-04 50 views
1

我正在尋找能夠對具有數字和分類功能的數據進行聚類的Apache Spark(Scala/Java)中的算法。在Apache Spark中使用分類和數字功能對數據進行聚類

就我所見,有一個針對pyspark的k-medoids和k-prototypes的實現(https://github.com/ThinkBigAnalytics/pyspark-distributed-kmodes),但我無法爲我目前正在使用的Scala/Java版本找到類似的東西。

是否有另一種推薦算法來實現Spark運行Scala的類似事情?還是我忽略了一些東西,實際上可以在我的Scala項目中使用pyspark庫?

如果您需要更多信息或澄清請隨時詢問。

+0

Spark有用於聚類數據的K-means,是否不符合您的需求? – dumitru

+0

@dumitru就我的研究而言,kMeans不適用於分類數據 - 即使您將它們轉換爲數值,結果也不是那麼有意義。 – LST

回答

0

我認爲您需要先使用OneHotEncoder將您的分類變量轉換爲數字,然後您可以使用mllib應用您的聚類算法(例如kmeans)。另外,我建議在應用羣集算法之前先執行scaling or normalization,因爲它是距離敏感的。