Введение

«Музыки достаточно на всю жизнь, но жизни для музыки недостаточно». это цитата известного русского композитора и Сергея Рахманинова. Музыка — это генерал; мелодия звуков, объединяющая разум и душу. Музыка играет жизненно важную роль в жизни людей. Люди используют музыку в качестве средства коммуникации для выражения своих мыслей, эмоций, сообщений и т. д. От младенцев до пожилых людей люди сознательно и подсознательно слушают разную музыку, от пробуждения до засыпания. Таким образом, музыкальная индустрия и другие отрасли, связанные с музыкой, являются очень развивающейся областью.

На современном рынке существуют различные типы приложений для потоковой передачи музыки. Spotify, Pandora и YouTube — некоторые из них. С помощью Spotify пользователь может слушать любимую музыку, которая соответствует моменту. Пользователь может просматривать миллионы треков на Spotify.

Когда мы слушаем музыку, иногда нам нравятся или не нравятся некоторые музыкальные треки. Тому могут быть разные причины. Предпочтения пользователя могут зависеть от мелодии, текста, смысла песни, темпа, жанра и т. д.

Итак, учитывая приведенные выше факты, давайте определим симпатию или антипатию к песне с помощью алгоритма дерева решений.

Дерево решений

Дерево решений — один из самых популярных и мощных алгоритмов, который относится к обучению с учителем. Дерево решений можно использовать как для задач классификации, так и для задач регрессии, в отличие от других алгоритмов обучения с учителем. Это прогностическая модель, используемая для Машинного обучения, статистики и интеллектуального анализа данных. Дерево решений — это дерево, в котором каждый узел символизирует функцию (атрибут), каждая ссылка (ветвь) символизирует решение (правило), а каждый лист символизирует результат.

Алгоритм дерева решений используется потому, что он имитирует человеческое мышление, поэтому легко идентифицировать данные и делать прогнозы, а логика дерева решений ясна для понимания.

Предварительная обработка данных не требуется и не требуется какое-либо преобразование переменных, невосприимчивое к выбросам.

Существуют различные типы алгоритмов дерева решений.

1. Алгоритм ID3 (использует энтропию и прирост информации в качестве показателей)

2. Алгоритм C4.5 (использует коэффициент усиления в качестве метрики)

3. Алгоритм CART (использует индекс Джини в качестве показателей)

Алгоритм деревьев классификации и регрессии (CART) — это алгоритм классификации для построения дерева решений на основе индекса примесей Джини в качестве критерия разделения. Индекс Джини — это показатель, измеряющий, как часто случайно выбранный элемент будет неправильно идентифицирован. Sklearn поддерживает критерии Джини для индекса Джини и по умолчанию; он принимает значение Джини. Scikit-learn использует оптимизированную версию алгоритма CART.

Реализация дерева решений

В качестве набора данных используется набор данных Spotify Classification сайта Kaggle. Kaggle — это платформа для соревнований по прогнозному моделированию и аналитике, в которых статистики и сборщики данных соревнуются за создание лучших моделей для прогнозирования и описания наборов данных, загруженных компаниями и пользователями.

Набор данных Spotify Song Attribute — это набор данных, содержащий песни 2017 года и их атрибуты. Создатель набора данных сгенерировал набор данных из API Spotify.

Набор данных содержит 16 столбцов: название песни, имя исполнителя, цель в качестве метки и 13 атрибутов трека: акустика, танцевальность, продолжительность_мс, энергия, инструментальность, тональность, живость, громкость, режим, речь, темп, временной размер, валентность, название песни. , имя исполнителя и лейбл в качестве цели.

Код Python для дерева решений выглядит следующим образом.

В итоге была получена точность 72,28%. Переобучение является практической проблемой при построении модели дерева решений. Проблема переобучения в модели рассматривается, когда алгоритм продолжает углубляться все глубже и глубже, чтобы уменьшить ошибку обучающего набора, но приводит к увеличению ошибки тестового набора.
Два подхода, которые можно использовать, чтобы избежать переобучения:
• Предварительная обрезка. Дерево обрезается путем ранней остановки его строительства. Если измерение разбиения меньше порогового значения, дальнейшее разбиение поддерева приостанавливается. При остановке узел становится листом.
•Постобрезка — удаление подмножества данного дерева в полностью выросшем дереве и замена его листовым узлом.

Дерево решений можно интерпретировать: процесс, который использовала модель, может быть идентифицирован. И требуют минимальной подготовки данных. Минимальное значение для разделения значений для разделения выборок составляет 100 в зависимости от размера данных. Если минимальное значение разделения меньше значения, будет сгенерировано плотное дерево решений. Как правило, это дает точность прогнозирования для набора данных по сравнению с другими алгоритмами машинного обучения.

Если вам понравилась эта история, нажмите кнопку 👏 и поделитесь ею, чтобы помочь другим найти ее! Не стесняйтесь, чтобы оставить комментарий ниже.