Серия уроков по машинному обучению 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 для следующей части руководства.
Во второй части я расскажу о разделе «Исследовательский анализ данных» этого руководства. Быть в курсе!