Spark机器学习3

本文介绍了在Spark上如何获取和处理MovieLens数据集,包括数据的探索、可视化和预处理步骤。通过IPython和matplotlib进行数据探索,对用户、电影和评级数据进行了详细分析,展示了如何处理类别特征,为机器学习模型准备数据。
摘要由CSDN通过智能技术生成

3. Spark上数据的获取、处理与准备

3.1 获取公开数据集

MovieLens数据集:包含表示多个用户对多部电影的10万次评级数据,也包含电影元数据和用户属性信息。

unzip ml-100k.zip
  • 会创建一个名为ml-100k的文件夹,进入文件夹
 cd ml-100k

其中重要的文件有u.user(用户属性文件)、u.item(电影元数据)和u.data(用户对电影的评级)


  • u.user文件包含user.id(用户ID)、age(年龄)、gender(性别)、occupation(职业)、和ZIP code(邮政编码)这些属性。
head -5 u.user

这里写图片描述

  • u.item文件则包含movie id、title、release date、IMDB link和电影分类相关属性。
head -5 u.item

这里写图片描述

  • u.data文件包含user id、movie id、rating(从1到5)和timestamp属性。
head -5 u.data

这里写图片描述

3.2 探索与可视化数据

通过IPython交互式终端和matplotlib库来对数据进行处理和可视化。需要安装Anaconda,选择python 2.7。
在启动PySpark终端是,我们可以使用IPython而非标准的Python shell。启动时向IPython传入其他参数,让它在启动时也启用pylab功能。

IPYTHON=1 IPYTHON_OPTS="--pylab" ./bin/pyspark

这里写图片描述


3.2.1 探索用户数据

user_data = sc.textFile("PATH/ml-100k/u.user")
user_data.first()

其输出如下:
这里写图片描述

统计用户、性别、职业和邮编的数目

user_fields = user_data.map(lambda line: line.split("|")) 
num_users = user_fields.map(lambda fields: fields[0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值