Я использую Spark и graphX для создания графа, который представляет собой похожие изображения (имена изображений используются как вершины, и есть ребро, если два изображения имеют общую метку). Насколько мне известно, данные разделов GraphX хранятся на отдельных машинах, но эти разделы не представляют собой возможные кластеры графика. Есть ли способ создать подграфы, которые представляют собой возможные кластеры графа, используя graphx, где кластер является наиболее связанной частью графика, который наименее связан с другими узлами?Создание кластеров из графика, созданного в GraphX, Spark
Вот что я пытаюсь сделать пошагово:
- Подарите этикетки на каждую фотографию в наборе данных с определенной вероятностью
- Сравнить метки каждой фотографии с каждой другой фотографией и сохранить подобные имена изображений в кортеже (например, если изображение 1 и изображение 53 имеют метку «собака» с вероятностью более 0,5, сохраните их как «image1, image53»)
- Сделайте граф, используя Graphx, где вершины являются изображением имена и края находятся между теми вершинами, которые «похожи».
- Разделить этот граф в кластеры, то есть я хочу подграфы высокоразвитых компонент связности графа, если существует какой-либо, что то, я хочу, чтобы хранить в
Это скорее вопрос алгоритма, чем вопрос Spark. Похоже, вы хотите использовать 'GraphOps.connectedComponents()' и 'GraphOps.collectNeighbors()' в некоторой комбинации. Но, возможно, если вы выложите в псевдокоде, что вы пытаетесь сделать алгоритмически, это может иметь больше смысла. –