写点什么

用机器学习分析流行音乐(二):探索性数据分析

2020 年 8 月 11 日

用机器学习分析流行音乐(二):探索性数据分析

本文是该系列的第二部分,我从变量中发现了有趣的见解,并发布了相关视频。 本系列第一部分的主要工作是数据收集和数据清理。本文,我们做一些探索性数据分析,这是该项目的一部分, 全部代码 都可以在这里找到。


完成数据清理

我意识到,在之前的文章中,我忘记清理这三个列(变量):“ gender_pref ”、“ reason ”和“ job ”。所以,我很快对它们进行了清理。


  • 对于“ gender_pref ”,我将它们重新标记为“ male ”、“ female ”、“ both ”和“ it's about music ”,以简化它们。

  • 对于“ reason ”,我把它们分为“ unique music style ”、“ unique choreography ”、“ attractive idols ”、“ many reasons ”和“ other reason ”。

  • 对于“ job ”,我按照“ student ”、“ full-time woker ”和“ unemplppyed ”来分类。


分析连续变量

首先,检查连续变量的描述,包括:“ yr_listened ”、“ daily_music_hr ”、“ daily_MV_hr ”、“ yr_merch_spent ”、“ age ”、“ num_gr_like ”。


检查连续变量的描述


连续变量的描述


我们可以看到,歌迷平均年龄为 18 岁,他们已经听了大约三年的流行音乐,每天听流行音乐的时间为 4.3 小时,看视频的时间为 1.95 小时。他们在相应商品上的平均花费为 85 美元。


检查连续变量的直方图

  • 你可以看到,由于存在一些异常值,“ yr_listed ”变量的分布稍微呈右偏分布。



ys_listened 直方图


  • “`daily_music_hr”呈正态分布



daily_music_hr ”的直方图


  • “daily_MV_hr” 稍微呈右偏分布



daily_MV_hr ” 的直方图


  • yr_merch_spent ”接近正态分布



yr_merch_spent ” 的直方图


  • age ”呈正态分布



age ” 的直方图


  • num_gr_like ” 呈右偏分布



“`num_gr_like” 的直方图


检查箱形图以检测异常值

绘制箱形图可以帮助你检测异常值。


我们发现,在“ ye_listened ”和“ yr_merch_spent ”中存在一些异常值。



daily_music_hr ”、“ daily_MV_hr ”、“ yr_listened ”和“ yr_merch_spent ”的箱形图


  • num_gr_like ” 存在很多异常值



num_gr_like ” 的箱形图


移除异常值并再次检查分布

让我们从“ yr_listened ”和“ num_gr_like ”中移除异常值,然后检查直方图,以查看分布是否有任何变化。



yr_listened ”和“ num_gr_like ”的直方图


我们可以清楚地看到,“ yr_listened ”现在呈正态分布,但“ num_gr_like ”却没未呈正态分布。由于只喜欢 1 到 2 组的人过多,所以去掉异常值并不会对分布产生太大的影响。


检查连续变量之间的相关性

检查相关性很重要,因为我们想了解哪些变量是相关的。在建模过程中,当自变量高度线性相关时,我们不希望出现多重共线性,这在拟合回归模型时可能会导致问题。


有什么方法可以解决多重共线性问题呢?



检查相关矩阵和相关热图


基于相关矩阵,我们发现连续变量之间并不存在多重共线性,且没有接近于 0 的相关性。


我们可以看到存在这些关系:


  • 他们听流行音乐的年限与小时数、花在商品上的钱和年龄呈正相关。

  • 他们在 YouTube 上观看韩国流行音乐视频的小时数与收听韩国流行音乐的小时数呈正相关。

  • 他们花在韩国流行音乐上的时间越多,花在购买韩国流行音乐商品上的钱就越多。

  • 他们看的韩国流行音乐视频越多,听的韩国流行音乐越多,他们喜欢的团队就越多。

  • 他们越年轻,在韩国流行音乐和视频花费的时间就越多。

  • 年龄与他们每年花多少钱购买韩国流行音乐商品无关。


分析分类变量

现在,让我们来分析分类变量。



为分类变量生成数据帧


条形统计图

让我们绘制条形统计图来表示分类变量。以下是一些发现。


  • BTS 显然是最有名的团体。



最喜欢的团体条形统计图


  • 韩国流行音乐在很多国家越来越受欢迎。



韩国流行音乐流行度条形统计图


  • 很多歌迷喜欢韩国流行音乐,原因是多方面的,紧随其后的是“ unique music style ”(独特的音乐风格)。没有多少人仅仅因为偶像的出现就听韩国流行音乐。

  • 喜欢男女组合的歌迷最多,其次是偏爱男性和“ it's about music ”(音乐)。只喜欢女性团体的人并不多。



性别偏好的条形统计图


  • 240 人中,大约有 90 人因为喜欢韩国流行音乐而被取笑。大约有 70 人表示,他们的睡眠时间减少了。



生活改变的条形统计图


  • 逾 120 人表示,他们通过听韩国流行音乐来减轻压力/焦虑/抑郁。这对我来说非常有趣,因为我认为,如果有很多人被取笑的话,那么将不会有太多的积极影响。大约有 80 人通过韩国流行音乐结交了朋友。



积极影响的条形统计图


  • 美国有很多韩国流行音乐歌迷,紧随其后的是英国、其他欧洲国家和加拿大。



按国别的条形统计图


使用数据透视表查找关系

我们还可以使用数据透视表来发现变量之间的一些关系。


听韩国流行音乐和在 YouTube 上观看韩国流行音乐的视频,可以帮助歌迷们减轻压力,结交更多的朋友。



韩国流行音乐与积极效果的关系


  • 大部分钱都是花在购买音乐会的门票上。



参加演唱会和在商品上花钱的关系


  • 年纪较大的歌迷(大约 24 岁)因为喜欢韩国流行音乐而被取笑,而年轻的歌迷通过韩国流行音乐结交朋友。



年龄与积极影响及生活改变之间的关系


当然,你可以更深入地了解数据科学周期中探索性数据分析的部分。一旦你很好地理解了在模型构建过程中想要做什么,那么就可以到此为止了。


作者介绍:


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


原文链接:


https://towardsdatascience.com/analyzing-k-pop-using-machine-learning-part-2-exploratory-data-analysis-eda-61f0cbf95a2a


2020 年 8 月 11 日 10:48630

评论

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

容器 & 服务:一个Java应用的Docker构建实战

程序员架构进阶

Docker 容器 七日更 28天写作 2月春节不断更

为什么不推荐使用汉字作为密码?

不脱发的程序猿

程序人生 密码学 28天写作 二月春节不断更

浅谈nodejs进程和线程

梁龙先森

前端 nodejs 2月春节不断更

猜猜用什么来存储Docker的镜像?这还真是个“非常手段”

互联网架构师小马

配合Github Actions 做一个自动推送的 Rss 订阅机器人

Leetao

Python RSS Github Action

话题讨论 | 你在互联网大厂是个啥级别?

架构精进之路

话题讨论 28天写作 话题王者

用Stylish精简极客时间专栏页面

闪闪带你学前端

CSS

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

程序员小毕

Java 程序员 算法 JVM GC

技术扫盲:关于低代码编程的可持续性交付设计和分析

小傅哥

Java 小傅哥 服务端 低代码开发 可持续交付

我身边的高T,问了Java面试者这样的问题......

京东科技开发者

MySQL 数据库

【LeetCode】托普利茨矩阵Java题解

HQ数字卡

算法 LeetCode 28天写作 2月春节不断更

Dapr 知多少 | 分布式应用运行时

圣杰

架构 云原生 k8s dapr

MySQL查看及杀掉链接方法大全

Simon

MySQL

WinDbg 分析高内存占用问题

圣杰

dotnet windbg

2021最新百度/平安/蚂蚁金服/腾讯/拼多多面经总结(附答案解析)

比伯

Java 编程 架构 面试 计算机

太猛了!Github大佬那白嫖的分布式进阶宝典,啃完感觉能吊锤面试官

Crud的程序员

Java 架构

对DevOps的九大误解,你是否也“中过招”?

华为云开发者社区

DevOps 运维 敏捷开发 开发 自动化测试

Flink SQL 性能优化:multiple input 详解

Apache Flink

flink

区块链溯源系统开发,区块链应用底层平台搭建方案

WX13823153201

区块链溯源系统开发

架构师不至于“架构”-《架构师应该知道的37件事》阅读笔记

代码技艺

读书笔记 架构 架构师

先收藏!关于Java类、接口、枚举的知识点大汇总

华为云开发者社区

Java 接口 枚举

还愁追不到女神吗?一键生成舔狗日记,一秒速成舔狗之王

不脱发的程序猿

程序人生 28天写作 二月春节不断更 舔狗文化

话题讨论 | 现实中程序员是怎样飞快敲代码的?

xcbeyond

程序人生 话题讨论

一文带你熟悉Pytorch->Caffe->om模型转换流程

华为云开发者社区

网络 模型 PyTorch caffe 算子边界

我与技术面试那些事儿

魔王哪吒

CSS html 前端 28天写作 2月春节不断更

Apache Flink 在快手的过去、现在和未来

Apache Flink

flink

超强前端面试真题+资源推荐

evantre

前端 面试题 面经

诊所数字化:诊所开展私域运营的优劣势

boshi

医疗 私域运营 七日更 28天写作

技术解析 | Doris SQL 原理解析

百度开发者中心

百度 Doris SQL优化

JVM又曾放过谁,垃圾终将被回收!

Simon郎

Java 大数据 架构 JVM 后端开发

CAP理论,我拆开来细讲,用例子展现,够清晰了吧

互联网架构师小马

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

用机器学习分析流行音乐(二):探索性数据分析-InfoQ