Я использую конвейер для группировки текстовых документов. Последний этап в конвейере - ml.clustering.KMeans, который дает мне DataFrame со столбцом предсказаний кластера. Я хотел бы добавить кластерные центры как столбцы. Я понимаю, что я могу выполнить Vector[] clusterCenters = kmeansModel.clusterCenters();
, а затем преобразовать результаты в DataFrame и присоединиться указанных результатов к другому DataFrame однако я надеялся найти способ сделать это аналогично коду Kmeans ниже:искровой трубопровод KMeansModel clusterCenters
KMeans kMeans = new KMeans()
.setFeaturesCol("pca")
.setPredictionCol("kmeansclusterprediction")
.setK(5)
.setInitMode("random")
.setSeed(43L)
.setInitSteps(3)
.setMaxIter(15);
pipeline.setStages(...
Я смог расширить KMeans и вызвать метод fit через конвейер, но мне не удастся расширить KMeansModel ... для конструктора требуется String uid и KMeansModel, но я не знаю, как пройти в модели при определении этапы и вызов метода setStages.
Я также изучил расширение KMeans.scala, однако, как разработчик Java, я понимаю только половину кода таким образом, я надеюсь, что у кого-то может быть более легкое решение, прежде чем я решу это. В конце концов, я хотел бы закончить с DataFrame следующим образом:
+--------------------+-----------------------+--------------------+
| docid|kmeansclusterprediction|kmeansclustercenters|
+--------------------+-----------------------+--------------------+
|2bcbcd54-c11a-48c...| 2| [-0.04, -7.72]|
|0e644620-f5ff-40f...| 3| [0.23, 1.08]|
|665c1c2b-3065-4e8...| 3| [0.23, 1.08]|
|598c6268-e4b9-4c9...| 0| [-15.81, 0.01]|
+--------------------+-----------------------+--------------------+
Любая помощь или советы очень ценится. Спасибо
Эй Я пытаюсь сделать то же самое, но не могу понять ваш код, вы можете отправить полный код. – DnA
@DnA, я добавил три класса выше ... Надеюсь, это поможет. Я не дотронулся до кода за долгое время, но считаю, что он был в рабочем состоянии, когда последний раз касался. Код использовался для учебных целей и никогда не использовался в производственной среде. – tullm