【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

用机器学习分析流行音乐(一):数据收集和清理

  • 2020-08-10
  • 本文字数:1494 字

    阅读完需:约 5 分钟

用机器学习分析流行音乐(一):数据收集和清理

本文是该系列的第一部分,我将在本文中讲述如何收集流行音乐的数据并清理。 目前,全部代码已经放到了GitHub上


多年来,韩国流行音乐成为一种全球性现象,其流行程度让我感到惊讶。 所以,我决定用机器学习来分析韩国流行音乐,探索有趣的见解。 本文,我将阐述数据科学周期中的数据收集和数据清理阶段。

数据收集

为了找到数据集,我不得不在谷歌上进行了搜索,我发现了一个 Excel 文档,内含针对社交媒体和韩国流行音乐的调查,我觉得很有意思。数据集包含来自世界各地的 240 名韩国流行音乐歌迷,共有 22 个调查问题。


数据集链接:Ranman,Saanjana(2020):KPOP DATA.xlsx. figshare. Dataset.

数据清理

数据清理是重要的一步,因为需要为 EDA 和模型构建提供最干净的数据。如果放进去的是垃圾,那么从模型中得到的也是垃圾。


数据集可能有前导空格和尾随空格。因此,我决定使用函数来删除第一列的“Timestamp”,因为没有用处。


# function to remove the leading and trailing whtte space in the data frame def trim(dataset): # using .strip() to remove the leading and the trailing white spaces in each cell trim = lambda x: x.strip() if type(x) is str else x   return dataset.applymap(trim) 
复制代码


由于列名太长,我决定给它们提供代码名称,以简单地表示列名。



重命名列


接下来,检查数据集是否有空值。



检查空值


有三个列具有空值。首先,让我们检查只有一个空值的列。


我发现 life_chgmoney_src 中的空值是“ n/a ”,因此,我简单地将它们替换为字符串“ none ”。


对于 daily_MV_hr 列,我决定用平均值替换空值。处理空值有多种方法(删除行、分配唯一类或者运行回归模型来预测缺失值等),但我认为用平均值替换它们是最佳选择。


我取了 1 和 4 的平均值,也就是 2.5 小时,去掉了“hours”(小时)这个词。我注意到有些类别在范围内,所以为了简单起见,我取了这些范围的平均值,创建了一个特殊函数来处理这个问题。


# function to find the mean when some have ranges and others don't def split_mean(x): # split before and after the hyphen (-) split_num = x.split("-") if len(split_num) == 2:   return (float(split_num[0])+float(split_num[1]))/2   # those who aren't in the range   else:     return float(x) # apply the split_mean function to the "daily MV hours" column daily_mv = daily_mv.apply(lambda x: split_mean(x)) 
复制代码


该函数用来在一些有范围而另一些没有范围的情况下查找平均值。



清理 daily_MV_hr 列前后对比


我意识到这个数据集有点混乱。所以我重复了类似的步骤来清理每一列。


  • yr_listened ” 列




清理 yes_listened 列的过程


我将展示每个列的清理前后图片。


  • daily_usic_hr ” 列




DAILY_MUSIC_hr 清理前后




yr_merch_spent 清理前后


  • age



age 清理前后


  • fav-grp



原始列值



创建单独的列,以查找每个人喜欢的组数



BTS 与其他(多个)的单独列


  • nes_medium



原始列值



简化的列值


  • pursuit



原始列值



简化的列值


  • time_cons_yn



原始列值



简化的列值


  • life_chg



原始列值



简化的列值


  • pos_eff



原始列值



简化的列值


  • money_src



原始列



简化的列值


  • crazy_ev



原始列值



简化的列值


  • country



原始列值



简化的列值


至此,数据清理完成,我将清理过的数据帧保存为 CSV 文件,以供本教程的下一部分使用。



将清理后的数据帧保存到 CSV


在第二部分中,我将讨论本教程的探索性数据分析部分。


作者介绍


Jaemin Lee,专攻数据分析与数据科学,数据科学应届毕业生。


原文链接:


https://towardsdatascience.com/analyzing-k-pop-using-machine-learning-part-1-data-collection-cleaning-4b407baf7bce


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-08-10 11:361822

评论

发布
暂无评论
发现更多内容

vim快捷键收藏版

良知犹存

vim

想了解Webpack,看这篇就够了

华为云开发者联盟

华为 大前端 开发

架构师训练营 1 期 -- 第六周作业

曾彪彪

极客大学架构师训练营

假的数字人民币钱包已出现,真的是啥样?

CECBC

数字货币 数字钱包

企业CRM未来发展趋势展望

Philips

敏捷开发 软件架构

端应用研发进入云原生时代

移动研发平台EMAS

问题篇:WSL和VMware。你怎么选择(附wsl安装步骤)

小Q

Java Linux 学习 架构 面试

"全能"人才的概念真的对吗

supernova

创业 读书笔记 随笔杂谈

陈山枝:5G+车联网 推动中国特色车路协同发展

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

Java架构之路

Java 程序员 架构 面试 编程语言

Hbase实用技巧:全量+增量数据的迁移方法

华为云开发者联盟

数据 HBase 集群

滴滴高峰期亿级并发如何调优?Java亿级并发系统架构设计手册分享

Java架构追梦

Java 架构 面试 高并发 亿级流量

.NET可视化权限功能界面设计

雯雯写代码

中台:未到终局,焉知生死?

ToB行业头条

中台

自我管理系列-为啥要做生产问题分析报告呀

罗小龙

复盘 IT, 经验总结 职场搞笑 生产事故

接口文档生成工具

测试人生路

接口文档

求职时这样回答问题你就输了!来自IT类面试官视角的深度解读

Java架构师迁哥

week1 架构方法-作业-杨斌

杨斌

保险区块链创新中心成立,三方面赋能行业数字化转型

CECBC

区块链 保险

同学信誓旦旦地说,我司的系统从来不做性能调优!

沉默王二

Java 性能调优

杰哥获奖了!

JackTian

Linux 程序人生 运维工程师 运维人生

如何实现微服务架构下的分布式事务?

华为云开发者联盟

架构 分布式 事务

15张图解Redis为什么这么快

Java架构师迁哥

信息量爆炸!78天闭门深造1258页SpringCloud学习进阶笔记,再战蚂蚁金服

996小迁

Java 架构 面试 SpringCloud

服了!不愧是AlibabaP8级别的大牛,把Kafka的精髓全部总结整理成了一份“限量笔记”。

Java架构之路

Java 程序员 架构 面试 编程语言

VRBT视频彩铃解决方案

dwqcmo

5G 音视频 解决方案

LeetCode题解:78. 子集,递归回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

甲方日常 39

句子

工作 随笔杂谈 日常

京东智联云4篇论文入选国际语音顶级大会Interspeech 2020

京东科技开发者

人工智能 大数据 语音识别

视频客服的应用和优点

anyRTC开发者

音视频 WebRTC 直播 RTC

Alibaba技术大牛丢给我一份Spring Cloud笔记,在GitHub的热度居然高达81.6k标星,太强了!

Java架构之路

Java 程序员 架构 面试 编程语言

用机器学习分析流行音乐(一):数据收集和清理_架构_Jaemin Lee_InfoQ精选文章