• 推荐系统数据集


    推荐系统数据集的介绍, 下载, 处理, 用到一个写一个. BARS 提供了一套标准化流程, 非常好用.

    git clone https://github.com/openbenchmark/BARS.git
    

    注: 在运行预处理脚本时, 请注意修改脚本中的文件路径是否匹配.

    CTR

    Criteo

    Criteo 是 kaggle 的一个比赛所用的数据集, 它总共有两个版本: 11 GB 大小的和 1T 大小的版本, 前者更为常用. 二者均包括 13 个 numerical 特征和 26 个 categorical 特征. 好像大家把这两部分分别记为 \(I_1, I_2, \cdots, I_{13}, \cdots, C_1, C_2, \cdots, C_{26}\).

    通过 here 下载原数据集, 解压后包括:

    - readme.txt
    - test.txt
    - train.txt
    

    test.txt 中只有 13 + 26 特征, 不包含标签 (1 表示点击, 0 表示不点击), 故实际上仅使用 train.txt.

    根据不同的训练集:测试集:验证集的划分, 可以得到如下细分的数据集:

    Dataset Split Total #Train #Validation #Test
    Criteo_x1 (7:2:1) 45,840,617 33,003,326 8,250,124 4,587,167
    Criteo_x4 (8:1:1) 45,840,617 36,672,493 4,584,062 4,584,062

    划分后的数据集包含:

    - train.csv
    - valid.csv
    - test.csv
    

    Criteo_x1

    1. 切换至数据目录下
    2. 下载数据
    python download_criteo_x1.py
    
    1. 划分数据
    python convert_criteo_x1.py
    

    或者通过 Criteo_x1 直接下载划分好的数据.

    Criteo_x4

    1. 切换至数据目录下
    2. 下载数据 (和 Criteo_x1 使用的是同一数据集)
    python download_criteo_x1.py
    
    1. 划分数据
    python split_criteo_x4.py
    

    或者通过 Criteo_x4 直接下载划分好的数据.

    KKBOX

    WSDM 2018 比赛所使用的数据集. 顾名思义, 该公司由亚洲的流媒体供应商 KKBox 提供. 该数据集旨在预测一个用户在一段时间内重复播放一首歌的概率. 在用户首次收听某首歌的一个月时间内, 倘若再次收听此歌, 则它将被打上标签 1, 否则为标签 0. 和之前的数据集一样, 仅训练集部分用于实验比较.


    这部分内容参考 艾少SAI-KKBOX音乐——数据分析,用户研究与填坑指南

    • recommendation.csv
    特征信息 含义
    msno 用户 id
    song_id 歌曲 id
    source_system_tab the name of the tab where the event was triggered. System tabs are used to categorize KKBOX mobile apps functions. For example, tab my library contains functions to manipulate the local storage, and tab search contains functions relating to search (不理解 ...)
    source_screen_name 用户见到的页面
    source_type 用户首先在移动应用上播放音乐的入口点。 入口点可以是专辑,在线播放列表,歌曲等
    target 这是目标变量。target = 1表示在用户的听完一首歌后的一个月内重复收听,否则target = 0
    • songs.csv
    特征信息 含义
    song_id 歌曲 id
    song_length 长度 (ms)
    genre_ids 歌曲类型, 可以有多个
    artist_name 表演者的名字
    composer 作曲家
    lyricist 作词家
    language 语言
    • songs_name.csv
    特征信息 含义
    song_id 歌曲 id
    song_name 歌曲名称
    isrc 国际标准录音代码,理论上可以用作歌曲的标识,但是可能有错误
    • members.csv
    特征信息 含义
    msno 用户 id
    city 用户所在城市
    bd 年龄
    gender 性别
    registered_via 注册方法
    registration_init_time 注册时间,格式为 %Y%m%d
    expiration_date %Y%m%d

    Dataset Split Total #Train #Validation #Test
    KKBox_x1 (8:1:1) 7,377,418 5,901,932 737,743 737,743

    KKBox_x1

    通过 here 可以下载预处理后的数据.

    Candidate matching

    MovieLens

    参考 [here] [PythonJavaC++go-movielens数据集介绍及使用python简单处理]

    Movielens 描述了用户对于不同电影的一个偏好, 按照 1-5 星进行评分.

    Moivelens 有好几个版本, 似乎 1M 的版本是学术研究中最为常用的:

    1. MovieLens1M_m1, 包括

      • rating.dat # 6040位用户对3900部电影的评分数据
      • movies.dat # 用户的相关数据: UserID::Gender::Age::Occupation::Zip-code
      • users.data # 电影的相关信息: MovieID::Title::Genres

    MovieLens1M_m1

    参考 here 所给出Train, Test, Valid 的分割.

    MovieLens1M_m2

    参考 here 所给出的分割.

    Gowalla

    参考 [普通网友-Gowalla(美国微博)好友关系数据集和签到数据集].

    Gowalla 是一个基于位置的社交网站, 用户可以在其中通过签到来分享他们的位置. 此社交网络是无向的, 使用公共 API 所收集, 由 196,591 个节点和 950,327 个边组成. 在 2009 年 2 月至 2010 年 10 月期间,我们共收集了这些用户的 6,442,890 次签到。

    1. 好友关系数据: 形如
    User1 User 2
    0 1
    0 2
    1 3
    ... ...

    比如第一行数据意味着 用户 0 和 用户 1 是好友关系, 因为是无向的, 故自然 用户 1 和 用户 0 也是好友关系.

    1. 签到数据, 包括:
      • 用户 ID;
      • 签到时间;
      • 地点纬度;
      • 地点经度;
      • 地点 ID.
    Dataset User Items Interactions Train Test Density
    Gowalla_m1 29,858 40,981 1,027,370 810,128 217,242 0.00084

    Gowalla_m1

    通过 here 可以下载预处理后的数据.

    Epinions

    参考 [here].

    Epinions 数据集是由一般消费者评论网站 Epinions.com 的 who-trust-whom 在线社交网络构建的. 网站成员可以决定是否相互"信任". 所有信任关系相互作用构成了 the Web of Trust. 结合评论的评级, 决定哪些评论可以被展现给用户. 它包含 75,879 个节点和 50,8837 条边.

    Foursquare

    参考 [here] [BJUTer_Lucia-Foursquare]

    Foursquare 数据集包含不同城市的签到数据. 一个子集包含约 10 个月 (从 2012 年 4 月 12 日至 2013 年 2 月 16 日) 收集的在纽约和东京的签到. 它包含纽约市的 227,428 次签到和东京的 573,703 次签到. 每个签到都与它的时间戳、它的 GPS 坐标和它的语义信息 (由细粒度的场所类别表示) 相关联. 另一个子集包含从 Foursquare 收集的长期 (从 2012 年 4 月到 2013 年 9 月大约 18 个月) 全球规模的签到数据. 它包含 266,909 名用户在 3,680,126 个场所 (在 77 个国家/地区的 415 个城市) 的 33,278,683 次签到. 这 415 个城市是全球 Foursquare 用户查看次数最多的 415 个城市, 每个城市都包含至少 10K 次签到.

    数据包含:

    • users.dat # 由一组用户组成, 因此每个用户都有一个唯一的ID和代表用户家乡位置的地理空间位置 (纬度和经度)
    • events.dat # 由一组场所 (例如, 餐馆) 组成, 以便每个场所都有唯一的 ID 和地理空间位置 (纬度和经度)
    • checkins.dat # 标记用户在场所的签到 (访问), 每个签到都具有唯一的 ID 以及用户 ID 和场所 ID
    • socialgraph.dat # 包含用户之间存在的社交图边缘 (连接). 每个社交关系由两个唯一的ID (first_user_id, second_user_id) 表示的两个用户 (朋友) 组成.
    • rating.dat # 包含隐式评分, 用于量化用户对特定地点的喜欢程度
  • 相关阅读:
    输人10个学生5门课的成绩,分别用函数实现下列功能:①计算每个学生的平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程; ④计算平均分方差: 其中,x;为某一学生的平均分。
    用递归方法求n阶勒让德多项式的值,递归公式为
    用牛顿迭代法求根。方程为ax^3+bx^2 +cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输人。求x在1附近的一个实根。求出根后由主函数输出
    写一个函数,用起泡法对输人的10个字符按由小到大顺序排列
    写一个函数,输人一行字符,将此字符串中最长的单词输出
    HEX文件格式
    Linux .bashrc
    Linux dd烧写系统
    以太坊代币与账户交易
    记录智能合约solidity编译的坑
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/16362042.html
Copyright © 2020-2023  润新知