Skip to content

Predicting the Popularity of GitHub Repositories

Ключевая идея проекта⚓︎

**Цель проекта:

Целью данного проекта является выделение основных метрик репозитория системы GitHub, и разработка прогнозирующей его популярность модели.

**Почему это стоит делать:

Разработанная модель поможет выявлять перспективные проекты, на которые стоит обратить внимание IT-компаниям. Это позволит им эффективнее распределять свои ресурсы и участвовать в разработке наиболее востребованных проектов. Кроме того, прогнозирование популярности репозиториев может быть полезным для новичков в программировании, помогая выбрать наиболее перспективные Open Source проекты для изучения. Также университеты могут использовать такие прогнозы для определения тем исследований в области разработки программного обеспечения.

**Кто уже занимался подобным:

**1) Predicting the Popularity of GitHub Repositories

В данной статье авторы используют множественную линейную регрессию для прогнозирования количества звезд репозиториев GitHub. В ходе масштабного анализа авторы показали, что предложенные модели начинают давать точные предсказания после обучения на основе количества звезд, полученных за последние шесть месяцев 5.

**2) Community-based Dynamic Graph Learning for Popularity Prediction

В данной статье авторы используют динамическое обучение графа для поддержания его динамического представления для каждого объекта или пользователя и обновления представлений в соответствии с новыми наблюдаемыми взаимодействиями между пользователем и объектом. На основе изученных представлений авторы прогнозируют популярность целевого объекта или онлайн-контента.

|**Как мы собираемся достичь цели:

Мы планируем использовать методы социального анализа сетей (SNA) для анализа данных о репозиториях GitHub. Алгоритмы классификации и регрессии помогут нам создать модель, которая сможет предсказывать популярность на основе изученных характеристик.

**Набор данных, необходимый для выполнения проекта

Используя существующий набор данных из GitHub (Датасет: https://www.kaggle.com/datasets/parulpandey/most-starred-github-repositories), мы анализируем информацию о репозиториях, такую как количество звезд, количество участников и предметную область. При необходимости мы можем использовать API GitHub для дополнительного сбора данных.

При использовании существующих наборов учитывать их актуальность и полноту. Данные анонимизированы, что потребует учета в моделировании. Предполагаемые методы SNA

  1. Кластеризация для выделения групп репозиториев, используются и развиваются совместно.

  2. Исследование, как различные типы связей между репозиториями влияют на их популярность.

**Ссылки

  1. https://stars.library.ucf.edu/cgi/viewcontent.cgi?article=1224&context=etd2020

  2. https://link.springer.com/chapter/10.1007/978-981-15-7984-4_20

  3. https://www.sciencedirect.com/science/article/abs/pii/S0164121223002017?casa_token=4rbUCKyJwDQAAAAA:5pJb3DoXZheV3R2wVFN9ZCeFy7WRvhjRXGuDObjhdDFQPKOytrmoeuaXMMh2RnIwv1Hno9N4u6Zm

  4. https://anvaka.github.io/map-of-github/#6.22/-1.557/-11.441

  5. https://dl.acm.org/doi/abs/10.1145/3580305.3599281

  6. https://dl.acm.org/doi/abs/10.1145/2972958.2972966