美文网首页
Spark 处理MovieLens 100k数据集案例

Spark 处理MovieLens 100k数据集案例

作者: Haraway | 来源:发表于2017-12-08 17:03 被阅读0次

    一、获取数据集

      我们使用的实验数据集是一个电影推荐方面的常用数据集MovieLens。它能应用于推荐系统和其它可能的机器学习任务,适合作为示例数据集。

      数据下载地址:
      https://grouplens.org/datasets/movielens/100k/

    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
    1. Jupyter使用:
    jupyter notebook
    
    jupyter notebook.png

    此时即启动了jupyter notebook,此时浏览器中会弹出notebook窗口(http://localhost:8888/tree)。如下图所示:

    http://localhost:8888/

      Files下面列出了当前用户目录下所有的文件,结合右上角的upload和new你可以方便地进行文件操作。你先选择一个目录,在该目录下,new一个python3,这样当前目录即会出现一个“.ipynb”文件,同时,浏览器会弹新的标签页让你编辑该“.ipynb”文件。

      (参考:Mac下Jupyter(即IPython-notebook)的搭建及使用

    三、运行示例

    本次我们将在jupyter notebook上运行《Spark机器学习》第三章示例。
    点击Machine Learning with Spark, Chapter 3. MovieLens 100k Analysis..ipynb文件,浏览器会弹新的标签页显示运行结果如下:

    运行结果1 运行结果2

      至此,Spark 处理MovieLens 100k数据集案例运行成功,案例详细解读请参考《Spark机器学习》一书第三章。

    相关文章

      网友评论

          本文标题:Spark 处理MovieLens 100k数据集案例

          本文链接:https://www.haomeiwen.com/subject/qodeixtx.html