《Python数据挖掘:概念、方法与实践》一1.4 如何建立数据挖掘工作环境-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《Python数据挖掘:概念、方法与实践》一1.4 如何建立数据挖掘工作环境

简介:

 本节书摘来自华章出版社《Python数据挖掘:概念、方法与实践》一书中的第1章,第1.4节,作者[美] 梅甘·斯夸尔(Megan Squire),更多章节内容可以访问云栖社区“华章计算机”公众号查看。



1.4 如何建立数据挖掘工作环境

前面几节帮助我们更好地了解了将要从事的项目及原因。现在可以开始建立一个开发环境,支持所有项目工作了。由于本书的目的是介绍如何构建挖掘数据模式的软件,因此我们将用一种通用编程语言编写程序。Python编程语言具有非常强大且仍在不断成长、专门致力于数据挖掘的社区。这个社区已经贡献了一些非常方便的程序库,我们可以用来进行高效的处理,我们还可以依靠他们提供的许多数据类型,更快地工作。

在本书编著时,有两个版本的Python可供下载:现在被视为经典的Python 2(最新版本为2.7)和Python 3(最新版本为3.5)。本书将使用Python 3。因为我们需要使用许多相关的程序包和程序库,尽可能地使数据挖掘体验不那么痛苦,也因为其中一些程序包和库难以安装,所以这里我建议使用专为科学及数学计算设计的Python分发版本。具体地说,我推荐Continuum Analytics 制作的Python 3.5 Anaconda分发版本。他们的基本Python分发版本是免费的,所有组件都保证能够协同工作,而无需我们进行令人沮丧的兼容性保证工作。

要下载Anaconda Python分发版本,只需要用浏览器访问Continuum Analytics的网站(https://www.continuum.io),根据提示符下载适合你的操作系统的Anaconda免费版本(目前的编号是3.5或者更高)。

启动该软件,将会看到如图1-2所示的启动画面。

根据你使用的版本和下载的时间,Anaconda中的每个应用程序中除了Launch按钮之外可能还有几个Update(更新)按钮。如果你的软件版本显示需要,可以单击每个按钮以更新程序包。

f72dcc3f874b7e30fdece69451533574061763e4

为了开始编写Python代码,单击Spyder以启动代码编辑器和集成开发环境。如果你想使用自己的文本编辑器(如MacOS上的TextWrangler或者Windows上的Sublime编辑器),完全没有问题。可以从命令行运行Python代码。

花一点时间将Spyder配置成你喜欢的样子,设置颜色和常规布局,或者保留默认值。对于我自己的工作空间,我移动了几个控制台窗口,建立一个工作目录,并进行几个自定义调整,使自己更适应这个新编辑器。你也可以这么做,使开发环境更舒适。

现在,我们已经为测试编辑器和安装程序库做好了准备。单击File(文件)并选择New File(新建文件)测试Spyder编辑器,观察其工作方式。然后,输入简单的“Hello World”语句:

 

单击绿色箭头,按下F5键或者单击Run(运行)菜单中的Run命令,运行程序。不管用哪一种方式,程序将执行,你将在控制台输出窗口看到输出。

此时,我们知道Spyder和Python正在工作,可以测试和安装一些程序库了。

首先,打开一个新文件,将其保存为packageTest.py。在这个测试程序中,我们将确定Scikit-learn是否已经随Anaconda正确安装。Scikit-learn是很重要的程序包,包含了许多机器学习函数,以及用于测试这些函数的现成数据集。许多书籍和教程使用Scikit-learn示例教授数据挖掘,所以在我们的工具箱中也有这个程序包。我们将在本书的多个章节中使用这个程序包。

运行Scikit-learn网站上的教程中的如下小程序(可以在http://scikit-learn.org/stable/tutorial/basic/tutorial.html #loading-an-example-dataset上找到),它将告诉我们环境是否正常建立:

914e7d8f9a14c0332db6c456c61e374f84261186

 

如果上述程序运行正常,将在控制台窗口中输出显示类列表数据结构中的一系列数值:

a86d8e121100eee00967bd3a7c6c49db11317c67

 

这个输出足以说明Scikit-learn已正常安装。接下来,添加一行代码,它将帮助我们学习digits.data结构的数据类型:

4b8c865b07cee4c126f62ffd01267ed04da66e3b

 

输出如下:

e7b8cc99bdc3f146bd3c5030dbfca1f03330b29f

 

从上述输出,我们可以确定Scikit-learn依赖另一个重要程序包Numpy处理其数据结构。Anaconda也已经正常安装Numpy,这正是我们要确认的事项。

接下来,我们将测试是否已经包含了网络分析库。我们将在第4章中使用Networkx程序库构建图形化社交网络。下面的代码示例创建一个具有一个节点的小型网络,并在屏幕上打印其类型:

745e37b403c50482fbcddc7c71090086676bb44b

 

输出如下:

1ff61527dc77c5db300d87bd4ee379230a9997ac

 

这正是我们想要看到的输出,它告诉我们Networkx已经安装并正常工作。

接下来,我们将测试后面几章需要的文本挖掘软件。这也很方便,自然语言工具包(Natural Language Toolkit,NLTK)也已随Anaconda安装。但是,它有自己的图形化下载工具,用于下载它使用的各种语料库和单词列表。Anaconda没有自动安装这些组件,因此我们必须人工完成。为了得到单词列表和字典,需创建一个新的Python文件,导入NTLK模块,然后提示NTLK启动图形化下载工具:

f1a61a9a97963f0bc3b485b7dd4485aae65bfecd

新的下载程序窗口将在Anaconda中打开(见图1-3):

95cb4be5406fb65ff0f49ac10e6794a44faec0af

在这个下载程序窗口中,从标识符列表中选择all(全部),更改Download Directory(下载目录,可选),并按下Download(下载)按钮。下载程序窗口左下角的红色进度条将随着每个数据集安装而变动。如果连接较慢,这一步可能需要花费几分钟。图1-4中的屏幕截图展示了这一下载中的步骤:

d50a76c1d6b2373dffa793cc9a32aea47a261114

下载程序完成NTLK语料库的安装后,可以测试它们是否正常工作。下面是一个短的Python程序,其中要求NTLK使用布朗大学的语料库并打印前10个单词:

 

该程序的输出如下,是NTLK布朗文本语料库的前10个单词,它们恰好来自一篇新闻报道:

 

从这个输出,我们可以确信NTLK已经安装,所有必要的语料库也已经安装。

接下来,将安装文本挖掘模块Gensim,在后面进行主题建模时需要它。Gensim默认不作为Anaconda的一部分预先安装,而是可使用Anaconda内建的conda安装程序轻松添加,有数百个这样的程序包,Gensim是第一个。从Anaconda Tools菜单,选择Open a Terminal(打开终端)命令,并输入conda install gensim。如果提示更新numpy和scipy,则输入y,安装将继续。

安装结束时,启动一个新的Python程序,输入来自Gensim网站的测试程序的如下精简版本:

 

这个程序所做的只不过是测试该模块是否正常导入,然后在屏幕上打印一个列表,但是这在现在已经足够了。

最后,由于本书是关于数据挖掘或者数据结构中的知识发现的书籍,因此使用某种数据库软件绝对是个好主意。我选择MySQL实现本书中的项目,因为它是免费软件,易于安装,可用于许多种操作系统。

要得到MySQL,可以进入http://dev.mysql.com/downloads/mysql/,找到你要用操作系统的免费社区版本(Community Edition)下载页面。

为了让Anaconda Python与MySQL通信,必须安装一些MySQL Python驱动程序。我喜欢pymysql驱动程序,因为它相当健壮,没有标准驱动程序常会有的一些Bug。从Anaconda中,启动一个终端窗口,运行如下命令:

 

现在所有模块似乎都已经安装,可以在需要它们时使用。如果还需要其他模块,或者其中一个模块过时,现在我们也已经知道如何在必要时安装或者升级模块了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: