2016-03-06 3 views
1

Я использую Spark и graphX ​​для создания графа, который представляет собой похожие изображения (имена изображений используются как вершины, и есть ребро, если два изображения имеют общую метку). Насколько мне известно, данные разделов GraphX ​​хранятся на отдельных машинах, но эти разделы не представляют собой возможные кластеры графика. Есть ли способ создать подграфы, которые представляют собой возможные кластеры графа, используя graphx, где кластер является наиболее связанной частью графика, который наименее связан с другими узлами?Создание кластеров из графика, созданного в GraphX, Spark

Вот что я пытаюсь сделать пошагово:

  1. Подарите этикетки на каждую фотографию в наборе данных с определенной вероятностью
  2. Сравнить метки каждой фотографии с каждой другой фотографией и сохранить подобные имена изображений в кортеже (например, если изображение 1 и изображение 53 имеют метку «собака» с вероятностью более 0,5, сохраните их как «image1, image53»)
  3. Сделайте граф, используя Graphx, где вершины являются изображением имена и края находятся между теми вершинами, которые «похожи».
  4. Разделить этот граф в кластеры, то есть я хочу подграфы высокоразвитых компонент связности графа, если существует какой-либо, что то, я хочу, чтобы хранить в
+0

Это скорее вопрос алгоритма, чем вопрос Spark. Похоже, вы хотите использовать 'GraphOps.connectedComponents()' и 'GraphOps.collectNeighbors()' в некоторой комбинации. Но, возможно, если вы выложите в псевдокоде, что вы пытаетесь сделать алгоритмически, это может иметь больше смысла. –

ответ

0

согласовывая документы, Graphx разоблачений «альбомы» «pregelian API», поэтому вы можете попробовать полукластер.

https://paxtonryan.wordpress.com/2013/06/24/implementing-the-pregely-semi-cluster-algorithm/#more-75

https://wiki.apache.org/hama/SemiClustering

Semiclusters направляются только к соседям, чтобы она могла работать в принципе.

Интересно, возможно ли реализовать Лувен и PeerPressure.

 Смежные вопросы

  • Нет связанных вопросов^_^