# 音乐网站流失预测项目 **Repository Path**: goaking/projects-readme ## Basic Information - **Project Name**: 音乐网站流失预测项目 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2020-03-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 人工智能工程师实战项目 音乐网站用户流失预测 # 推荐系统方向 # 指导讲师 卿老师 ## 简介 由于在线音乐流媒体服务的发展,我们在早上通勤时可以听到各种不同风格的歌曲,如披头士乐队、Vivaldi和嘎嘎小姐的音乐。通过挖掘海量的历史音乐欣赏记录,流媒体服务可以提供为用户提供个性化音乐推荐。 KKBOX是亚洲领先的音乐流媒体服务,拥有世界上最全面的亚洲流行音乐库,拥有超过3000万条曲目。本项目,我们需要预测KKBOX用户在触发了第一个听歌曲事件后,在一个时间窗口内的重复聆听歌曲的可能性。如果用户在第一次听了歌曲后之后的一个月内重复聆听了该歌曲,则其目标被标记为1,否则标记为0。 课程中,我们学过很多机器学习算法。项目要求大家结合课程中学到的内容,实现一个音乐推荐系统。 ## 评价标准 ### 一整套可以运行的推荐系统 包含代码、详细文档,以及可能的中间数据。文档要求可操作,能够按照文档的描述搭建系统并运行。文档不全者酌情扣分。系统最终结果提交Kaggle竞赛主页(https://www.kaggle.com/c/kkbox-music-recommendation-challenge),给出系统在测试集上的性能(ROC曲线下的面积,AUC)。 文档要求: - 对系统的各个组成部分的构造和自己的理解以及相互之间的关系的描述。 - 训练过程中踩到的一些坑和自己的心得。 - 对系统输出结果的简单分析。 ## 数据集 项目提供KKBOX用户——歌曲重复播放记录,以及用户和歌曲的元数据。训练数据由2017年2月服务到期的用户构成,target标签代表用户在2017年3月是否续订了业务。测试集中的数据由2017年3月内将到期的用户构成,需要预测用户是否在到期后的一个月内即2017年4月预定、流失的概率。 以下是文件及字段说明: ### 1. train.csv: 训练数据,共7,377,418条记录 msno: 用户id,加密String song_id: song id,歌曲id source_system_tab: 触发事件的类型/tab,用于表示app的功能类型 source_screen_name: 用户看到的布局的名字(name of the layout) source_type: 用户在app上播放音乐的入口的类型 target: 标签。1表示用户在第一次听音乐后会在一个月内继续订阅,0表示没有订阅。 ### · 2. test.csv :测试数据,共2,556,790条记录 id: id (用于结果提交) msno: 用户id song_id: 歌曲id source_system_tab: 触发事件的类型/tab,用于表示app的功能类型 source_screen_name: 用户看到的布局的名字(name of the layout) source_type: 用户在app上播放音乐的入口的类型 3. ### sampleSubmission.csv:提交结果文件样例 提交测试结果包含两个字段,分别为测试样本id及其标签为1的概率,格式如下: ``` id,target 2,0.3 5,0.1 6,1 etc. ``` 4. ### songs.csv:歌曲元数据信息,用unicode编码 song_id:歌曲id song_length: 单位为ms genre_ids: genre 类别. 可多选,用 “|“隔开 artist_name:歌手 composer:作曲 lyricist:作词 language:语言 ### 5. members.csv:用户元数据信息 msno:用户id city:城市 bd: 年龄。注意:年龄数据有离群点 gender:性别 registered_via: 注册方式 registration_init_time: 注册时间,格式为%Y%m%d expiration_date: 到期时间,格式为 %Y%m%d ### song_extra_infos.csv:歌曲额外的信息 song_id:歌曲id song name :歌曲名字 isrc – 国际标准音像制品编码(International Standard Recording Code )。理论上可用于歌曲id,但产生的ISR没有经过官方授权。因此ISRC中的信息,如国家代码和参考年份可能不正确。且多首歌曲可能共享共一个ISRC,因为一首歌曲的音像制可发行多次。 ## 要点提示 - 可以利用协同过滤算法,但注意数据中有冷启动的用户(11%)和歌曲(15%) - 数据有缺失值 - 数据有离群点 - 对数据做适当的特征工程,注意数据中id类离散型特征