一、获取数据集
我们使用的实验数据集是一个电影推荐方面的常用数据集MovieLens。它能应用于推荐系统和其它可能的机器学习任务,适合作为示例数据集。
数据下载地址:
https://grouplens.org/datasets/movielens/100k/
下载并解压数据集,关于数据集的更多信息可以从README获得,包括每个文件里的变量定义。我们可以使用head命令来查看各个文件中的内容。
MacBook-Pro:ml-100k xp$ head -5 u.user
1|24|M|technician|85711
2|53|F|other|94043
3|23|M|writer|32067
4|24|M|technician|43537
5|33|F|other|15213
MacBook-Pro:ml-100k xp$ head -5 u.item
1|Toy Story (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0
2|GoldenEye (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?GoldenEye%20(1995)|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0
3|Four Rooms (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Four%20Rooms%20(1995)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0
4|Get Shorty (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Get%20Shorty%20(1995)|0|1|0|0|0|1|0|0|1|0|0|0|0|0|0|0|0|0|0
5|Copycat (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Copycat%20(1995)|0|0|0|0|0|0|1|0|1|0|0|0|0|0|0|0|1|0|0
二、可视化数据
有数据后,我们来启动Spark交互式终端来探索数据。我们使用IPython终端和matplotlib库对数据进行处理和可视化。
IPython的开发者吸收了标准解释器的基本概念,在此基础上进行了大量的改进,创造出一个令人惊奇的工具。在它的主页上是这么说的:“这是一个增强的交互式Pythonshell。”具有tab补全,对象自省,强大的历史机制,内嵌的源代码编辑,集成Python调试器,%run机制,宏,创建多个环境以及调用系统shell的能力。
1)IPython与标准Python的最大区别在于,Ipython会对命令提示符的每一行进行编号。
2)tab补全
3)历史机制
hist可以快速查看那些输入的历史记录。
hist-n可以快速查看并去掉历史记录中的序号,这样你就可以方便的将代码复制到一个文本编辑器中。
4)断点调试:如果你的程序是由命令行开始执行的,即在命令行下输入python foo.py(大部分 Python 程序都是),那么你还可以利用 IPython在你的程序任意地方进行断点调试。
注:ipython-notebook已经整合(或者改名)到“Jupyter”中了。在http://jupyter.readthedocs.org/en/latest/install.html这个网站上,有着极其简便的python-notebook的安装方式。
1.Jupyter搭建,可以使用pip命令进行安装:
(参考:https://jupyter.readthedocs.io/en/latest/install.html)
pip3 install --upgrade pip
upgrade pip
pip3 install jupyter
install jupyter
- Jupyter使用:
jupyter notebook
jupyter notebook.png
此时即启动了jupyter notebook,此时浏览器中会弹出notebook窗口(http://localhost:8888/tree)。如下图所示:
Files下面列出了当前用户目录下所有的文件,结合右上角的upload和new你可以方便地进行文件操作。你先选择一个目录,在该目录下,new一个python3,这样当前目录即会出现一个“.ipynb”文件,同时,浏览器会弹新的标签页让你编辑该“.ipynb”文件。
(参考:Mac下Jupyter(即IPython-notebook)的搭建及使用)
三、运行示例
本次我们将在jupyter notebook上运行《Spark机器学习》第三章示例。
点击Machine Learning with Spark, Chapter 3. MovieLens 100k Analysis..ipynb文件,浏览器会弹新的标签页显示运行结果如下:
至此,Spark 处理MovieLens 100k数据集案例运行成功,案例详细解读请参考《Spark机器学习》一书第三章。
网友评论