我是靠谱客的博主 含糊蜡烛,这篇文章主要介绍Spark机器学习笔记3--探索和可视化数据,现在分享给大家,希望可以做个参考。

常用机器学习数据库

UCL机器学习知识库
Amazon AWS公开数据集
Kaggle
KDnuggets

0) 数据准备


在http://files.grouplens.org/datasets/movielens/ 下载用户电影评级数据,用户信息和属性信息。

1) 安装IPython和matplotlib模块
IPython是针对Python的高级交互式shell程序,包含内置一系列实用功能的pylab,如Numpy, Scipy和matplotlib.
复制代码
1
2
sudo apt-get install ipython sudo apt-get install python-matplotlib

2)  使用IPython shell启动PySpark终端,同时启动pylab功能

复制代码
1
IPYTHON=1 IPYTHON_OPTS="--pylab" ./bin/pyspark

3)  导入数据,用系统文件创建RDD

复制代码
1
2
3
user_data = sc.textFile("~/Data/ml-100k/u.user") #查看第一行,first向驱动程序返回RDD的首个元素 user_data.first()

复制代码
1
2
#或查看前k(k = 3)行,返回RDD的前k个元素 user_data.take(3)
复制代码
1

4)  探索用户数据

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
user_data = sc.textFile("/home/shh/Data/ml-100k/u.user") #统计用户、性别、职业、邮编数目 #将每行数据按”|”分隔 user_fields = user_data.map(lambda line: line.split("|")) #统计用户数量 num_user = user_fields.map(lambda fields: fields[0]).count() #统计不同性别的数量 num_genders = user_fields.map(lambda fields: fields[2]).distinct().count() #统计不同职业的数量 num_occupations = user_fields.map(lambda fields: fields[3]).distinct().count() #统计不同邮编的数量 num_zipcodes = user_fields.map(lambda fields: fields[4]).distinct().count() #输出结果 print "Users: %d, genders: %d, occupations: %d, ZIP codes: %d" % (num_user, num_genders, num_occupations, num_zipcodes)

加上如下三行将程序写在文件里,也可以执行得到相同结果

复制代码
1
2
3
4
#coding=UTF-8 from pyspark import SparkContext sc = SparkContext("local[2]", "Spark App ")


复制代码
1
$SPARK_HOME/bin/spark-submit processData.py
复制代码
1
2
3
4
<pre name="code" class="python">#创建直方图,分析用户年龄的分布 ages = user_fields.map(lambda fields: int(fields[1])).collect() #将直方图分为20个区间,正则化,使每个方条表示改区间的人数占总数的比。 hist(ages, bins=20, color='lightblue', normed=True)
复制代码
1
复制代码
1
2
<pre name="code" class="python">fig = matplotlib.pyplot.gcf() fig.set_size_inches(16, 10)
复制代码
1



最后

以上就是含糊蜡烛最近收集整理的关于Spark机器学习笔记3--探索和可视化数据的全部内容,更多相关Spark机器学习笔记3--探索和可视化数据内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部