【笔记2】推荐算法中的数据格式

简介: 设计推荐算法时,首先要考虑数据格式。由于数据是关于用户对商品的评分,其具有三个要素:用户、商品、评分所以,数据格式有三种形式:1. json格式(json文本)#数据格式:json数据(用户、商品、打分)json_txt = '''{"Angelica": {"Blues Traveler": 3.

设计推荐算法时,首先要考虑数据格式。

由于数据是关于用户对商品的评分,其具有三个要素:用户商品评分

所以,数据格式有三种形式:

1. json格式(json文本)

#数据格式:json数据(用户、商品、打分)
json_txt = '''{"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0,
                      "Norah Jones": 4.5, "Phoenix": 5.0,
                      "Slightly Stoopid": 1.5,
                      "The Strokes": 2.5, "Vampire Weekend": 2.0},
         
         "Bill":{"Blues Traveler": 2.0, "Broken Bells": 3.5,
                 "Deadmau5": 4.0, "Phoenix": 2.0,
                 "Slightly Stoopid": 3.5, "Vampire Weekend": 3.0},
         
         "Chan": {"Blues Traveler": 5.0, "Broken Bells": 1.0,
                  "Deadmau5": 1.0, "Norah Jones": 3.0, "Phoenix": 5,
                  "Slightly Stoopid": 1.0},
         
         "Dan": {"Blues Traveler": 3.0, "Broken Bells": 4.0,
                 "Deadmau5": 4.5, "Phoenix": 3.0,
                 "Slightly Stoopid": 4.5, "The Strokes": 4.0,
                 "Vampire Weekend": 2.0},
         
         "Hailey": {"Broken Bells": 4.0, "Deadmau5": 1.0,
                    "Norah Jones": 4.0, "The Strokes": 4.0,
                    "Vampire Weekend": 1.0},
         
         "Jordyn":  {"Broken Bells": 4.5, "Deadmau5": 4.0,
                     "Norah Jones": 5.0, "Phoenix": 5.0,
                     "Slightly Stoopid": 4.5, "The Strokes": 4.0,
                     "Vampire Weekend": 4.0},
         
         "Sam": {"Blues Traveler": 5.0, "Broken Bells": 2.0,
                 "Norah Jones": 3.0, "Phoenix": 5.0,
                 "Slightly Stoopid": 4.0, "The Strokes": 5.0},
         
         "Veronica": {"Blues Traveler": 3.0, "Norah Jones": 5.0,
                      "Phoenix": 4.0, "Slightly Stoopid": 2.5,
                      "The Strokes": 3.0}
}'''

2. 矩阵格式(csv文本)

横轴是商品,纵轴是用户,表内是评分

#数据格式:矩阵(用户-商品)(适用于小数据量)
csv_txt = '''"user","Blues Traveler","Broken Bells","Deadmau5","Norah Jones","Phoenix","Slightly Stoopid","The Strokes","Vampire Weekend"
"Angelica",3.5,2.0,,4.5,5.0,1.5,2.5,2.0
"Bill",2.0,3.5,4.0,,2.0,3.5,,3.0
"Chan",5.0,1.0,1.0,3.0,5,1.0,,
"Dan",3.0,4.0,4.5,,3.0,4.5,4.0,2.0
"Hailey",,4.0,1.0,4.0,,,4.0,1.0
"Jordyn",,4.5,4.0,5.0,5.0,4.5,4.0,4.0
"Sam",5.0,2.0,,3.0,5.0,4.0,5.0,
"Veronica",3.0,,,5.0,4.0,2.5,3.0,'''

3. 条目格式(csv文本)

每一行代表一条记录,其形式为:用户,商品,打分

#数据格式:条目(用户、商品、打分)(避免巨型稀疏矩阵)
csv_txt = '''"Angelica","Blues Traveler",3.5
"Angelica","Broken Bells",2.0
"Angelica","Norah Jones",4.5
"Angelica","Phoenix",5.0
"Angelica","Slightly Stoopid",1.5
"Angelica","The Strokes",2.5
"Angelica","Vampire Weekend",2.0
"Bill","Blues Traveler",2.0
"Bill","Broken Bells",3.5
"Bill","Deadmau5",4.0
"Bill","Phoenix",2.0
"Bill","Slightly Stoopid",3.5
"Bill","Vampire Weekend",3.0
"Chan","Blues Traveler",5.0
"Chan","Broken Bells",1.0
"Chan","Deadmau5",1.0
"Chan","Norah Jones",3.0
"Chan","Phoenix",5,
"Chan","Slightly Stoopid",1.0
"Dan","Blues Traveler",3.0
"Dan","Broken Bells",4.0
"Dan","Deadmau5",4.5
"Dan","Phoenix",3.0
"Dan","Slightly Stoopid",4.5
"Dan","The Strokes",4.0
"Dan","Vampire Weekend",2.0
"Hailey","Broken Bells",4.0
"Hailey","Deadmau5",1.0
"Hailey","Norah Jones",4.0
"Hailey","The Strokes",4.0
"Hailey","Vampire Weekend",1.0
"Jordyn","Broken Bells",4.5
"Jordyn","Deadmau5",4.0
"Jordyn","Norah Jones",5.0
"Jordyn","Phoenix",5.0
"Jordyn","Slightly Stoopid",4.5
"Jordyn","The Strokes",4.0
"Jordyn","Vampire Weekend",4.0
"Sam","Blues Traveler",5.0
"Sam","Broken Bells",2.0
"Sam","Norah Jones",3.0
"Sam","Phoenix",5.0
"Sam","Slightly Stoopid",4.0
"Sam","The Strokes",5.0
"Veronica","Blues Traveler",3.0
"Veronica","Norah Jones",5.0
"Veronica","Phoenix",4.0
"Veronica","Slightly Stoopid",2.5
"Veronica","The Strokes",3.0'''
目录
相关文章
|
消息中间件 Cloud Native 物联网
深度剖析 RocketMQ 5.0,事件驱动:云时代的事件驱动有啥不同?
本文技术理念的层面了解一下事件驱动的概念。RocketMQ 5.0 在面向云时代的事件驱动架构新推出的子产品 EventBridge,最后再结合几个具体的案例帮助大家了解云时代的事件驱动方案。
79521 6
|
网络虚拟化
MPLS VPN跨域C2 RR反射器方案(二)
MPLS VPN跨域C2 RR反射器方案
276 0
|
安全 关系型数据库 Linux
什么叫网站国产化改造?哪些CMS符合国产化标准?
国产化需求在未来的互联网话题上是只会越来越多、越来越重要的,这个国产化改造不单单针对网站项目上,还会逐步涉及到各大软件和系统上,所以,相关的单位提前了解国产化的改造标准和需求,到传达的时候、不会显得出手无策。
753 5
|
安全 数据安全/隐私保护 Android开发
深入探索iOS系统安全机制:从基础到高级
本文旨在全面解析iOS操作系统的安全特性,从基础的权限管理到高级的加密技术,揭示苹果如何构建一个既开放又安全的移动平台。我们将通过实例和分析,探讨iOS系统如何保护用户数据免受恶意软件、网络攻击的威胁,并对比Android系统在安全性方面的差异。
|
存储 算法 数据可视化
云上大数据分析平台:解锁数据价值,驱动智能决策新篇章
实时性与流式处理:随着实时数据分析需求的增加,云上大数据分析平台将更加注重实时性和流式处理能力的建设。通过优化计算引擎和存储架构等技术手段,平台将能够实现对数据流的高效处理和分析,为企业提供实时决策支持。通过优化计算引擎和存储架构等技术手段,平台将能够实现对数据流的高效处理和分析,为企业提供实时决策支持。
1429 8
|
SQL 存储 关系型数据库
从Hive建表语句到MySQL的转换
【8月更文挑战第11天】
745 7
|
SQL 数据库 UED
SQL查询功能的全面解析与实用技巧
SQL(Structured Query Language)作为数据库管理的核心语言,其查询功能是实现数据检索、分析和报告的关键
|
机器学习/深度学习 自然语言处理 搜索推荐
深度学习中的自注意力机制:原理与应用
在深度学习领域,自注意力机制(Self-Attention Mechanism)已经成为一种强大的工具,它允许模型在处理序列数据时更加高效和灵活。本文将深入探讨自注意力机制的工作原理、数学基础以及在不同应用场景下的表现。我们将通过具体案例分析,展示自注意力如何提升神经网络对长距离依赖的捕捉能力,以及它在自然语言处理(NLP)、计算机视觉(CV)等领域的应用成效。
1036 0
|
Java 数据库连接 数据库
Micronaut 响应式编程:乘科技热潮,解锁异步应用新境界,让你的软件快人一步!
【9月更文挑战第11天】在快速发展的软件开发领域,响应式编程凭借其处理异步事件和数据流的优势,逐渐成为构建高效应用的关键技术。Micronaut 作为现代化的 Java 微服务框架,提供了强大的工具和支持,如 Reactive Streams 和 RxJava,帮助开发者轻松构建高性能的异步应用。通过非阻塞的方式处理请求,Micronaut 能充分利用系统资源,提高应用的吞吐量和响应速度。此外,Micronaut 的反应式 Web 客户端和数据库访问模块进一步增强了其在高并发场景下的表现,为现代异步应用的开发提供了坚实的基础。
166 5
|
JavaScript 安全 开发者
深入浅出:使用Docker优化你的开发环境
在软件开发的世界里,"它在我的机器上运行得好好的"这句话几乎成了一个笑话。这主要是因为环境配置差异所带来的挑战。本文将介绍如何使用Docker来创建一致的开发环境,解决环境差异带来的问题。我们将从Docker的基本概念入手,探讨其在开发流程中的应用,并通过实际案例演示如何构建、部署和管理容器化的应用。本文旨在为开发者提供一个清晰的指南,帮助他们利用Docker优化开发流程,提高生产效率。
209 2