https://ruclips.ru/ru/watch/qwluSiGk6Vw/k-means-clustering-from-scratch-in-python