Серия уроков по машинному обучению K-Pop

Анализ K-Pop с помощью машинного обучения | Часть 1 - Сбор и очистка данных

Это часть 1 руководства, в которой я собираю данные K-Pop и очищаю их.

Версия видео с пояснением: https://youtu.be/lkhorCY5tFA

Весь мой код: https://github.com/importdata/kpop-analysis/blob/master/K_pop_Data_Cleaning.ipynb

вступление

Как человек, родившийся и выросший в Южной Корее, я вырос, слушая к-поп. С годами K-pop стал глобальным явлением, и я до сих пор поражаюсь, насколько популярным он стал.

Итак, я подумал, что было бы круто проанализировать K-pop с помощью машинного обучения, чтобы изучить интересные идеи. Спасибо Чанину (он же профессор данных) за идею!

В этом посте я покажу вам этапы сбора и очистки данных цикла науки о данных.

Сбор данных

Мне пришлось немного погуглить, чтобы найти набор данных. После некоторого поиска я наткнулся на этот веб-сайт с файлом Excel. Это опрос, проведенный для исследования социальных сетей и K-pop, который я нашел очень интересным. Мне понравились вопросы, которые они задавали, и мне также понравилось, что опрос проводился недавно.

Набор данных содержит 240 фанатов K-pop со всего мира и 22 вопроса для опроса.

Ссылка на набор данных: Rraman, Saanjanaa (2020): KPOP DATA.xlsx. фигшер. Набор данных. Https://doi.org/10.6084/m9.figshare.12093648.v2

Очистка данных

Очистка данных - важный шаг, поскольку вам нужны самые чистые данные для EDA и построения моделей. Если засунуть мусор, то выйдет мусор из модели.

В наборах данных могут быть начальные и конечные пробелы. Итак, я решил удалить эти пробелы с помощью этой функции. Затем я удалил первый столбец «Отметка времени», так как он бесполезен.

Поскольку имена столбцов - это вопросы, и они слишком длинные, я решил дать им кодовые имена просто столбцам.

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

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

Я обнаружил, что нулевые значения в life_chg и money_src были «n / a», поэтому я просто заменил их строкой «none».

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

Я взял среднее значение 1 и 4, что составляет 2,5 часа, и убрал слово «часы». Я заметил, что некоторые категории находятся в диапазонах, поэтому для простоты я взял среднее из этих диапазонов. Я создал специальную функцию, которая позаботится об этом.

Я понял, что этот набор данных беспорядочный. Поэтому я повторил аналогичные шаги для очистки каждого столбца.

  • Столбец «yr_listened»

Я просто покажу вам изображения до и после каждого столбца.

  • Столбец daily_usic_hr

  • Столбец «yr_merch_spent»

  • Столбец «возраст»

  • Столбец «fav_grp»

  • Столбец «nes_medium»

  • Столбец «преследование»

  • Столбец «time_cons_yn»

  • Столбец «life_chg»

  • Столбец «pos_eff»

  • Столбец «money_src»

  • Столбец «crazy_ev»

  • Столбец «страна»

Наконец закончили с очисткой данных!

Я сохранил очищенный фрейм данных в файл CSV для следующей части руководства.

Во второй части я расскажу о разделе «Исследовательский анализ данных» этого руководства. Быть в курсе!