Ссылка для скачивания статьи
Насколько я понимаю, в документе описаны следующие шаги для реализации поиска Crow:
- создание начальной популяции
- передача позиций фитнес-функция
- рассчитать NMI для позиций (с достоверностью метки, у меня есть основные сведения о наборах данных в статье)
- возвращать позиции с лучшими показателями NMI
- находить лучшие позиции
- передавать лучшие позиции в kmeans для использования в качестве центроидов
- kmeans находит конечный результат (то есть сообщества)
Chat GPT предлагает использовать kmeans здесь, в фитнес-функции, а затем вычислить nmi, используя результаты kmeans.
Таким образом, мне придется использовать kmeans. в двух разных местах: одно в фитнес-функции и два в самом конце кода, чтобы найти окончательные сообщества.
Я попробовал это решение, но в конце не получил правильных ответов. После того, как будут найдены окончательные сообщества, необходимо рассчитать четыре метрики: матрица NMI, точность, отзыв и модульность, но мне не удалось получить правильный ответ, такой же, как в таблицах в статье.
Как правильно? решение? Если вы поняли суть статьи, пожалуйста, объясните мне ее.
Если кто-нибудь сможет мне с этим помочь, я буду признателен. У меня мало времени, и я понятия не имею.
Я испробовал все возможные способы и использовал GPT для помощи, но не сработало.
Я даже заплатил деньги кому-то, чтобы он реализовал этот код для меня, но они просто дали мне несколько совершенно неправильных реализаций, потратили мое время и так и не вернули мои деньги.
Так что, если кто-нибудь здесь может мне помочь с этим, я' Не знаю, как их отблагодарить.
(Правка. Вот алгоритм по странице 9.)
Input: S : Flock Size,
d : number of dimensions,
F : Set of all possible solutions and values,
itermax : Max number of iterations,
fl : flight length,
AP : Awareness probability
Output: Optimal positions
1: crowPositions ← InitializeRandomPosition(d, F, S)
2: Memory ← InitializeMemory(d, F, S)
3: Fitness ← CalculateFitness(CrowPositions)
4: score ← NMIscore(ActualLabels, PredictedClusterLabels)
5: while k < itermax
6: for i ← 1 to S
7: ri ← GenerateRandom()
8: RandomCrow ← ChooseRandomCrow(S)
9: NewPosn ← UpdatePosn(CrowPositions, i, Memory, RandomCrow, AP, ri)
10: endfor
11: if NewPosn ∈ F
12: CrowPostions ← NewPosn
13: endif
14: NewFitness ← CalculateFitness(CrowPostions)
15: if NewFitness > Fitness
16: Memory ← CrowPostions
17: endif
18: k ← k + 1
19: endwhile
20: return crow position with best fitness out of all CrowPostions
Подробнее здесь: https://stackoverflow.com/questions/792 ... and-kmeans
Мобильная версия