Олимпиадный тренинг

Задача . Определить успешность треков


Задача

Темы:

Ты — data scientist в музыкальной компании! Твоя задача — понять, станут ли новые песни хитами, ещё до их релиза. У тебя есть реальный датасет из Spotify с характеристиками тысяч песен.

Сможешь ли ты создать модель, которая предскажет, попадут ли треки в топ? 

В датасете есть интересные музыкальные характеристики:

  • danceability — танцевальность (0.0-1.0) — насколько под это можно двигаться

  • energy — энергичность (0.0-1.0) — насколько трек агрессивный и быстрый

  • loudness — громкость (в децибелах, обычно от -60 до 0)

  • speechiness — разговорность (0.0-1.0) — сколько в треке слов (рэп будет высоким)

  • acousticness — акустичность (0.0-1.0) — есть ли живые инструменты

  • instrumentalness — инструментальность (0.0-1.0) — есть ли вокал (чем выше, тем меньше слов)

  • liveness — живость (0.0-1.0) — записано ли вживую с публикой

  • valence — позитивность (0.0-1.0) — насколько трек весёлый (грустный vs радостный)

  • tempo — темп (удары в минуту, обычно 50-200)

  • duration_ms — длительность в миллисекундах

  • target — хит (1) или нет (0)

Напиши программу, которая:

  1. Загружает датасет из файла CSV

  2. Готовит данные (выбирает нужные признаки и делит на train/test)

  3. Обучает модель логистической регрессии

  4. Запрашивает у пользователя:

    • Количество треков для проверки

    • Все характеристики каждого трека (10 параметров)

  5. Предсказывает для каждого введённого трека:

    • Станет ли он хитом (yes/no)

    • Вероятность успеха в процентах

 


Примеры
Входные данныеВыходные данные
1 3
0.90 0.88 -3.5 0.06 0.08 0.0 0.20 0.95 25 200000
0.45 0.40 -10.0 0.04 0.75 0.80 0.40 0.55 110 320000
0.60 0.95 -2.0 0.08 0.05 0.0 0.25 0.70 140 230000
YES
77.44
NO
0.32
YES
70.93

time 10000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя