это довольно глупый вопрос, но в основном мои данные разбиты на разные кластеры с использованием k-средних, это для классного проекта, кстати. У меня все работает, но я должен записать свои кластеры в файл для каждого входа, чтобы его можно было проверить. Мой настоящий код занимает около 2-3 минут, но для записи в файл требуется около 10 минут. У меня есть 10000 входов / выходов, и в настоящее время мое время выполнения составляет около n ^ 3. Время не имеет большого значения для задания, но я хотел знать, может ли кто-нибудь помочь мне оптимизировать его, я знаю, что существуют разные приемы итерации Python, о которых я не знаю, которые могли бы ускорить это.
Мой k равен 10, поэтому у меня 10 центроидов, в основном я выбираю массив и выбираю один из центроидов, проверяю, есть ли в нем массив, если нет, я перехожу к следующему и так далее. Я делаю это для каждого ввода 10000, что занимает много времени. Код не очень эффективен
file = open("image.txt", "w")
for point in array:
for x in range(len(centroids)):
for i in centroids[x]:
if np.array_equal(point,i):
file.write(str(x+1)+"\n")
file.close()