一、实验目的和要求
(一)掌握Windows下Anaconda的安装和配置。
(二)掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。
(三)掌握使用pip管理Python扩展库,包括扩展库的下载、在线安装、离线安装、升级、卸载等操作。
二、实验内容
(一)下载Anaconda。
(二)安装和配置Anaconda。
(三)使用Anaconda自带的IDLE。
(四)使用Anaconda自带的Spyder。
(五)使用Anaconda自带的Jupyter Notebook。
(六)使用pip/conda工具管理Python第三方扩展库。
三、实验仪器、设备
PC一台 + Windows 操作系统 + Anaconda Distribution(Python 3.X)安装文件,要求能够上网。
四、实验原理
(一)Python简介
Python是一门跨平台、开源、免费的解释型高级动态编程语言,支持命令式编程(how to do)、函数式编程(what to do),完全支持面向对象程序设计,语法简洁清晰,拥有大量功能强大的内置对象、标准库和几乎支持所有领域应用开发的成熟扩展库。
目前Python支持的操作系统包括主流的Windows、Linux、Mac OS等。
目前,常用的Python IDE工具主要有以下几种:
关于Python的更多信息,读者请参考官网https://www.python.org/。
(二)Anaconda简介
Anaconda是专门为方便使用Python进行数据科学研究而建立的一组软件包,涵盖了数据科学领域常见的250个工具包,Anaconda可以看作是Python的全家桶。并且自带了专门用来解决软件环境依赖问题的conda包管理工具,conda提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。
Anaconda利用命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
Jupyter Notebook作为Anaconda自带的一种工具,采用B/S模式,启动时会自动打开浏览器,通过8888号端口连接到后台的服务器上。
Jupyter Notebook操作Cell常用的快捷键及其说明如表1-1所示。
表1-1 操作Cell常用快捷键
模式类型 |
命令 |
说明 |
命令模式和编辑模式均可用 |
Shift+Enter |
执行本单元代码,并跳转到下一单元 |
Ctrl+Enter |
执行本单元代码,留在本单元 |
|
命令模式 |
Y |
Cell切换到Code模式 |
M |
Cell切换到Markdown模式 |
|
A |
在当前Cell的上面添加Cell |
|
B |
在当前Cell的下面添加Cell |
|
双击D |
删除当前Cell |
|
Z |
回退 |
|
Ctrl+Shift+减号 |
分隔Cell,在光标处 |
|
L |
为当前Cell加上行号 |
|
编辑模式 |
Ctrl+鼠标单击(Mac:CMD+鼠标单击) |
多光标操作 |
Ctrl+Z(Mac:CMD+Z) |
回退 |
|
Ctrl+Y |
重做 |
|
Tab键 |
代码补全 |
|
Ctrl(CMD+/) |
注释多行代码 |
关于Anaconda的更多信息,读者请参考官网Anaconda | The World’s Most Popular Data Science Platform。
(三)使用pip管理Python扩展库
当前pip已经成为管理Python扩展库的主流方式,使用pip不仅可以实时查看本机已安装的Python扩展库列表,还支持纯Python扩展库的安装、升级和卸载等操作。
常用的pip命令及其说明如表1-2所示。
表1-2 常用pip命令使用方法
pip命令示例 |
说明 |
pip download PackageFilename[==version] |
下载扩展库的指定版本,不安装 |
pip list |
列出当前已安装的所有模块 |
pip install PackageFilename[==version] |
在线安装SomePackage模块的指定版本 |
pip install PackageFilename.whl |
通过whl文件离线安装扩展库 |
pip install package1 package2 ... |
依次在线安装package1、package2等扩展模块 |
pip install --upgrade PackageFilename |
升级SomePackage模块 |
pip uninstall PackageFilename[==version] |
卸载SomePackage模块的指定版本 |
python -m pip |
以模块方式运行pip |
可以在命令提示符环境中执行“pip help”命令查看pip命令帮助,执行效果部分截图如图1-1所示。
也可以接着使用命令“pip
图1-2 查看pip install命令帮助(部分)
五、实验步骤
(一)获取Anaconda。
Anaconda的官网下载地址为https://www.anaconda.com/distribution/,需要根据自己的CPU字长和操作系统来选择相应的Anaconda Distribution的版本。编者采用的操作系统为Windows,故下载Windows对应的安装器,如图1-3所示。
图1-3 Anaconda Windows安装器
关于Anaconda具体的安装环境要求读者可以查看官网文档Installation — Anaconda documentation。
(二)安装和配置Anaconda。
双击Anaconda Windows安装包文件即可完成安装。关于安装的几点建议如下:
(1)安装时选择定制安装,建议不要把Anaconda安装在C盘上。
(2)安装时选择针对所有用户。
(3)安装时不要把Anacond自带的Python解释器加入到系统环境变量PATH中。
(三)初步使用Anaconda自带的IDLE。
在Anaconda安装目录下Scripts目录中找到文件“idle.exe”,双击该文件,即可进入IDLE开发环境,如图1-4所示。
图1-4 IDLE开发环境
然后,以交互模式输出字符串“Hello, Python!”,如图1-5所示。
图1-5 IDLE下以交互模式输出字符串“Hello, Python!”
(四)使用Spyder IDE
1. 单击【开始】菜单中的【Anaconda3】下的【Anaconda Navigator】,即可进入Anaconda Navigator主界面,如图1-6所示。
图1-6 Anaconda Navigator主界面
2. 单击Spyder下的按钮【Launch】,即可进入Spyder IDE开发环境,如图1-7所示。
图1-7 Spyder IDE主界面
3. 在默认的“temp.py”文件中输入以下代码:
print('Hello, Python')
然后按快捷键“Ctrl+Shift+S”或者单击菜单【File】→【Save as】,选择保存位置,另存为“hello.py”。
4. 运行“hello.py”。按快捷键F5或者单击菜单【Run】→【Run】或者单击工具栏上的按钮【Run file (F5)】,弹出窗口【Run settings for hello.py】,按照默认的运行选项即可运行,其运行结果在窗口右下角的“IPython console”显示出来,如图1-8所示。
图1-8 Spyder IDE下以脚本程序方式输出字符串“Hello, Python!”
当然,我们可以把“IPython console”当做一个Python交互模式的环境,直接在提示符“In [N]: ”输入Python语句即可,效果如图1-9所示。
图1-9 Spyder IDE中在“IPython console”下输出字符串“Hello, Python!”
另外,还可以通过【开始】菜单【Anaconda3】下的【Spyder】进入Spyder开发环境。
(五)使用Jupyter Notebook
1. 进入Anaconda Navigator界面,单击Jupyter Notebook下的按钮【Launch】,即可进入Jupyter Notebook开发环境,如图1-10所示。实际使用时,常常需要指定Jupyter Notebook的工作目录。方法如下:
打开【开始】菜单中的【Anaconda3】选项,右键单击【Jupyter Notebook】,选择【打开文件位置】,右键单击【Jupyter Notebook】,选择【属性】,在【目标】输入框中修改行尾文本内容,换成自己希望的指定目录即可。
图1-10 Jupyter Notebook主界面
2. 例如在桌面上新建一个Python 3文件,进入“Desktop”目录,单击按钮【New】下的【Python 3】,如图1-11所示。
图1-11 Jupyter Notebook下新建Python 3文件
图1-13 Jupyter Notebook下Python 3文件编辑页面
4. 输入Python程序或语句即可。例如,输入以下语句:
print('Hello, Python')
5. 运行Python程序或语句。单击工具栏上的按钮【Run】或者菜单【Cell】下的某一Run选项或者按快捷键“Ctrl+Enter”,运行效果如图1-14所示。
图1-14 Jupyter Notebook下输出字符串“Hello, Python!”
6. 若有需要,还可以保存该Python文件,单击菜单【File】→【Save as…】,输入文件名例如“hello2”,然后单击按钮【Save】即可完成保存,如图1-15所示。
图1-15 Jupyter Notebook下保存文件
读者请注意,Jupyter Notebook默认保存的文件扩展名为.ipynb。
另外,还可以通过【开始】菜单【Anaconda3】下的【Spyder】进入Spyder开发环境。
图1-16 设置cell类型为markdown
Markdown是一种轻量级标记语言,它允许人们使用易读、易写的纯文本格式编写文
档。Markdown模式下可以对文本进行编辑,采用Markdown的语法规范,可以设定文本格式,插入链接、图片甚至数学公式,同样,通过按下【shifit】+【enter】组合键可运行Markdown单元,显示格式化的文本。
在首行前加一个“#”字符和空格代表一级标题,加两个“##”字符和空格代表二级标题,以此类推。项目符号可以使用“+”、“-”、“*”加空格。公式使用前后两个“$”符号括起来,例如行内公式:“$E=mc^2$”,独行公式:$$E=mc^2$$
数学公式的语法具体参见URL:https://www.jianshu.com/p/e74eb43960a1。
图1-17 输入markdown文本
(七)使用pip管理Python第三方扩展库。
1. 通过【开始】菜单【Anaconda3】下的【Anaconda Prompt】进入Anaconda命令提示符环境,可以输入命令“pip help”查看pip命令的帮助文档。
2. 升级pip。建议安装完Python或者Anaconda后首先升级pip,使用的命令如下所示。
python -m pip install --upgrade pip
3. 查看Anaconda下当前已安装的所有扩展库,使用的命令如下所示,其运行效果如图1-18所示。
pip list
图1-18 使用pip查看Anaconda下当前已安装的所有扩展库(部分)
4. 显示某扩展包的详细信息。例如显示numpy包的详细信息,使用的命令如下所示,其运行效果如图1-19所示。
pip show numpy
图1-19 使用pip查看numpy包详细信息
5. 卸载某扩展包。例如卸载numpy包,使用的命令如下所示,中间会询问是否继续,输入“y”即可,其运行效果如图1-20所示。
pip uninstall numpy
图1-20 使用pip卸载numpy包
6. 在线安装某扩展包。例如安装numpy包,使用的命令如下所示,中间会询问是否继续,输入“y”即可,其运行效果如图1-21所示,再次使用pip查看numpy包详细信息效果如图1-22所示,由图1-22可知,重新安装了numpy 1.17.1,之前numpy版本为1.16.2。
pip install numpy
图1-21 使用pip在线安装numpy包
图1-22 再次使用pip查看numpy包详细信息
如果显示网络连接超时,可以采用以下两种办法:
在【 C:\Users\Administrator\AppData\Roaming\】目录下,创建一个名为【pip】的子目录,进入pip子目录,创建一个文本文件pip.ini,内容如下:
[global]
timeout = 300
index-url = https://pypi.douban.com/simple
trusted-host = pypi.douban.com
7. 离线安装第三方扩展库。如果遇到安装不成功的扩展库,使用浏览器打开网址https://www.lfd.uci.edu/~gohlke/pythonlibs/下载whl文件,然后进行离线安装,离线安装的命令如下所示。
pip install PackageFilename.whl
(八)修改Jupyter默认工作空间
在Windows上使用jupyter notebook不像Linux,Linux是在哪个目录下启动,就会默认哪个目录为工作空间,但是Windows中不是这样。
定位到开始菜单中【Anaconda3】下的【Jupyter Notebook】,右键单击【Jupyter Notebook】,选择【更多】下面的【打开文件位置】,然后右键单击【Jupyter Notebook】选择【属性】,替换目标对话框中的"%USERPROFILE%/"为你预设的目录(该目录必须存在),最后单击【确定】按钮。启动Jupyter Notebook查看是否定位到预设的目录。
六、实验注意事项
(一)机房的使用规范和用电安全。
(二)Python是解释型语言,需要Python解释器支持。
(三)Ananconda中的Jupyter NoteBook基于B/S模式,对浏览器有一定要求,建议使用Chrome或者360浏览器。
(四)下载扩展库时,默认从国外网站下载,速度较慢,建议从国内镜像网站下载,如豆瓣(Simple Index)、中国科学技术大学(Simple Index)。
(五)遇到问题,先看系统给出的错误提示信息,先确定出错点,再去利用所学知识来解决,不能解决时可以通过百度查询资料、和同学讨论或者向老师寻求帮助。
七、实验报告要求
实验报告以书面/电子形式提交,严禁抄袭,一旦发现,即为零分。
实验报告主要内容包括实验名称、实验类型、实验地点、学时、实验环境、实验原理、实验步骤、实验结果、总结与思考等。
八、实验成绩考核
实验成绩根据实验课的出勤、课堂表现、实验思考以及实验报告的内容情况打分,按百分制,实验成绩的平均值按15%比例计入课程总成绩。
【Markdown单元参考代码】
# 数据预处理
## 1.距离的选择
数据挖掘中的距离代表数据之间的相似与相异的程度,不同场景下应该选择不同的距离来度量。
### 1)欧式距离---L2范数
欧式距离就是平面或者空间中两个点的距离,它是多维空间中两点之间的最短距离。
$$d = \sqrt{\displaystyle\sum_{i=1}^{n}(x_{1i}-x_{2i})^2}$$
### 2)曼哈顿距离---L1范数
曼哈顿距离表示空间中两个点在坐标系中绝对轴距总和。
$$d = \displaystyle \sum_{i=1}^{n}|x_{1i}-x_{2i}|$$
### 3)余弦相似度
通过测量两个向量夹角的余弦值来度量它们之间的相似度,常用于文本相似度的计算中。
$$d = cos(\theta)=\frac{\vec{a}\cdot\vec{b}}{||a||\cdot||b||}=\frac {\displaystyle \sum_{i=1}^{n}(x_{1i}\times x_{2i})}{\sqrt {\displaystyle \sum_{i=1}^{n}x_{1i}^2 \times x_{2i}^2}}$$