УДК 004.94
DOI: 10.36871/ek.up.p.r.2025.05.05.003
Авторы
Владимир Юрьевич Ильичев,
Валерий Анатольевич Федоров,
Карим Сергеевич Джанаев,
Никита Александрович Тихонов,
Московский государственный технический университет имени Н. Э. Баумана, Москва, Российская Федерация
Владимир Евгеньевич Драч,
Сочинский государственный университет, Сочи, Российская Федерация
Аннотация
В статье описывается разработанная авторами методика кластеризации GitHub проектов по стадиям их развития на основе анализа характеристик репозиториев из датасета с сайта Kaggle. Используя признаки количества звёзд (рейтинга) и форков (заимствований), проекты разделяются на три типа (прототип, инструмент, библиотека) с применением алгоритма классификации методом k ближайших соседей (KNN). Работа включает обзор теоретических основ GitHub, обоснование эффективности кластеризации для анализа жизненного цикла проектов, описание разработанного алгоритма и особенностей программного кода, реализованного на популярном языке программирования Python, с использованием нескольких библиотек специальных функций. По результатам работы сделаны выводы и выработаны рекомендации.
Ключевые слова
GitHub, развитие проектов, вычислительные алгоритмы, кластеризация, KNN, программное обеспечение