零起点Python机器学习快速入门【1.2】

零起点Python机器学习快速入门【1.2】 3. 图像显示配置Python 语言的 Spyder 编辑器默认的图像显示尺寸对于高清显示器来说有些偏小需要进行调整具体步骤如下。 1单击菜单 Tools→Preferences打开 Preferences 对话框。 2单击左侧列表框中的 IPython console IPython 控制台。 3在对话框的右侧选择 Graphics 选项卡。 4在 Graphics backend 选项区中 Backend 选项默认为 Inline一般不需要改如要进行交互分析可以设置为 Automatic自动模式或者Qt Qt 模式。 5在 Inline backend 选项区中可以调整内置图像的大小默认值 Width为 8、 Height 为 5建议将 Width 改为 16、 Height 改为 8。此外建议勾选对话框上部的 Automatically load Pylab and NumPy modules 复选框会自动加载 Pylab、 NumPy 模块如图 2-7 所示。4. 重剑无锋对于量化分析的开发平台笔者的一贯主张就是直接使用 zwPython内置的 Spyder 开发平台。Spyder 的工作界面经过多年一线量化分析实盘操作人员的反馈调整和设计优化对于金融量化工作者而言已经是一种非常理想的工作界面也可以说是目前最好的工作界面具体理由如下。 Spyder前身是 Pydee是一个强大的交互式 Python 语言开发环境 提 供 高级 的 代 码 编辑 、 交 互 测试 、 调 试 等特 性 支 持包 括Windows、 Linux 和 OS X 系统。 Spyder 最早发布于 2009 年经过多年的升级优化目前已经非常成熟最大程度上减少各种 Bug 对于实盘操作的干扰。 Spyder 默认界面布局如图 2-8 所示类似 MATLAB集中了代码编辑项目管理变量检查与图形查看等多种功能这种界面布局也是金融工程、量化分析行业的标准工作界面。GUI 用户界面其实类似电脑的机箱虽然华丽但只是表层的东西绝非核心因素。其实许多服务器采用的 Linux 操作系统为了追求极致的性能还在使用传统的纯文本界面根本没有所谓的 GUI 用户接口。笔者在设计 zwQuant 极宽量化软件时无论是最初的 zwQuant还是zQuant-core内核版都强调简单实用这些案例也可以说是“ kiss 法则” 保持简单在软件工程中的具体应用。也许大家觉得 Spyder 的界面过于朴素这种朴素其实源自开源的历史与传承大家可以看看一些著名开源项目的网站网页都非常简单朴素有些甚至还是互联网起步阶段的文本模式。 http://www.apache.org apach 开源项目网站。 https://github.com GITHUB 开源项目网站。 http://www.lfd.uci.edu/~gohlke/Pythonlibs LFD 二进制 Python 模块库。 http://mirrors.163.com/网易开源镜像网站。 http://mirrors.sohu.com/搜狐开源镜像网站。幸运的是如今很多成功的互联网企业如谷歌、百度也继承了这种朴素简练的传统搜索引擎的首页都是大片的空白类似中国传统书法的留空只有简简单单的搜索框。在这种朴素的背后是一种“重剑无锋”的体现。最后笔者再一次强调量化分析的核心是策略而不是交易接口、自动下单也不是用户界面更不是软件开发平台。目前 Python 语言已经是数据分析、量化分析的行业标准编程语言大家无须争议。在大家试图质疑这些问题的时候请好好重新审视一下软件工程的名言“ Dont Reinvent the Wheel”——不要重复发明轮子。2.5 Python命令行模式Python 命令行模式与普通的命令行模式不同因为集成了 Python 的运行环境参数。许多新用户都是直接使用 Win 或其他软件自带的 Dos 命令进入 Dos命令行运行 pip 命令会出错。正确的方法是运行 Python 目录下的 WinPython Command Prompt.exe程序如图 2-9 所示。 Python 27 版本 py27\WinPython Command Prompt.exe。 Python 35 版本 py35\WinPython Command Prompt.exe。运行后会自动进入 Python 对应的子目录。 Python 27 版本的目录是 x:\zwPython\py27\Python-2.7.10.amd64\。 Python 35 版本进行了优化目录是 x:\zwPython\py35\scripts\。2.6 Notebook模式zwPython 内置的 Notebook 支持模式目前已经是 Python 源码交流的常用模式事实上 Notebook 已经是数据分析信息分享的 Web 标准模式。Notebook 模式文件的后缀名是 .ipynb类似 IE 的 MHT 网页打包格式支持文字格式、排版、图像。运行方法如下 进入 Python 35 目录 单击运行 Jupyter Notebook.exe 程序Jupyter Notebook.exe 程序类似单机的本地 Web 服务器软件。如图 2-10 所示程序运行后会自动调用默认浏览器并访问默认网址 http://localhost:8888/tree。“ .ipynb”格式文件使用方法如下。 运行 Jupyter Notebook.exe 程序进入 Notebook 模式。 单击右上角的“ Upload”按钮或者用鼠标直接拖放“ .ipynb”格式文件到浏览器窗口。 再单击文件名右侧的“ Upload”按钮即可上传文件。 上传文件后单击相应的文件名即可看到相应的脚本内容以及运行结果和图片。具体效果如图 2-11 所示但效果图会根据文件内容不同而有所不同。2.7 模块库控制面板Python 的强大和方便除了体现在海量的内置模块外还体现在绿色、灵活的模块库管理功能。1. 模块库更新与增删zwPython 的 模 块 库 管 理 直 接 使 用 WinPython 的 控 制 面 板 程 序 WinPython Control Panel.exe 。控制面板程序 WinPython Control Panel.exe位于 Python 35 目录下不同版本位置不同不能混用请大家注意。运行后界面如图 2-12 所示。2. zwPython模块库的安装流程zwPython 模块库的安装流程如下。 把下载的 Python 模块库复制到任意一个目录。 单击右下角的“ Add packages”按钮从模块目录选择模块文件名即可完成模块库的添加。一次可选择添加多个模块库文件如果模块库 版 本 不 对 则 会 出 现提 示 对 话 框显 示 相 关 的出 错 模 块 名称 zwPython 系统是基于 64 位 Python 3.x 版本因此下载模块请选择对应的版本。 添加完毕后单击右下方的“ Install packages”即可完成模块库的安装。需要注意的是 模块安装完成后可以删除相关的模块文件不影响程序使用。 多个模块安装时每次最好不要超过 20 个以免出错。3. 模块库资源zwPython 模块库资源主要来自以下三个方面。 各大网络 Python 社区主要是“ .zip”、“ .gz”格式。 PyPI Python Package Index Python 官方模块库主要是“ .zip”、“ .gz格式。 LFD加州欧文大学的非官方 Python 集成模块库主要是“ .exe”、“ .whl”格式。 Github全球最大的程序资源网站注意选择 Python 语言版本。运行控制面板程序 WinPython Control Panel.exe 后单击右下角的“ Add packages”按钮可以发现系统支持多种格式的模块库安装 “ .zip”、“ .gz、“ .exe”、“ .whl”。zwPython 在模块库安装方面的强大主要体现在以下方面。 支持多种格式除官方的“ .zip”、“ .gz”格式外 还支持 LFD 的“ .exe”、“ .whl”格式。 绿色安装一次安装随处运行支持 U 主便携式开发。Python 官方模块库 Pil 网址 https://pypi.Python.org/pypi。Github 网址 https://github.org。LFD 非官方模块资源网址 http://www.lfd.uci.edu/~gohlke/Pythonlibs/。 LFD 采用集成方式打包特别适用于 Opencv、 CUDA 等大型模块库安装LFD 全称是 Laboratory for Fluorescence Dynamics, University of California, Irvine.动力学实验室加利福尼亚大学/加州欧文大学。加州欧文大学简称为 UCI 或 UC Irvine又常被译作加州大学欧文分校成立于 1965 年是加州大学 10 个校区之一位于美国加州。4. 模块库维护更新运行控制面板程序 WinPython Control Panel.exe还提供了模块库的维护和升级功能如图 2-13 所示单击菜单 Options→Repair packages。5. 系统关联如图 2-14 所示运行控制面板程序 WinPython Control Panel.exe还提供系统关联功能但通常无须采用关联模式。 单击菜单 Advanced→Register...即可将 zwPython 关联到 Windows系统关联后可以直接在资源浏览器运行“ .py”脚本文件另外增加鼠标右键的“ .py”脚本文件与“ spyder” IDE 程序的关联编辑功能。 单击菜单 Advanced→Unregister...即可解除关联。2.8 使用pip更新模块库有时由于各种原因使用控制台安装模块库会出现失败现象或者需要批量更新模块库这时可以使用 pip 模块管理程序。1. pip常用命令 1列出已安装的包pip freeze or pip list 2导出 requirements.txtpip freeze 目录/requirements.txt 3在线安装安装包、模块库pip install 包名或 pip install -r requirements.txt 4指定版本 通过使用、 、 、 等符号来指定版本不写则安装最新版。 requirements.txt 内容格式为 APScheduler2.1.2 Django1.5.4 MySQL-Connector-Python2.0.1 MySQL-Python1.2.3 PIL1.1.7 South1.0.2 django-grappelli2.6.3 django-pagination1.0.7 5安装本地安装包 pip install 目录/文件名 或 pip install --use-wheel --no-index --find-linkswheelhouse/ 包名 包名前有空格 可简写为 pip install --no-index -f目录/ 包名 6卸载包 pip uninstall 包名 或 pip uninstall -r requirements.txt 7升级包 pip install -U 包名 8升级 pip pip install -U pip 9显示包所在的目录 pip show -f 包名 10搜索包 pip search 搜索关键字 11查询可升级的包 pip list -o 12下载包而不安装 pip install 包 名 -d 目 录 或 pip install -d 目 录 -r requirements.txt 13安装 wheel 格式的模块库 pip wheel 包名 14国内 pypi 镜像 pypi.v2ex.com/simple V2EX http://pypi.douban.com/simple 豆瓣 http://mirrors.aliyun.com/pypi/simple/ 阿里云推荐使用 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 https://pypi.tuna.tsinghua.edu.cn/simple 清华大学 http://pypi.hustunique.com/ 华中理工大学 http://pypi.sdutlinux.org/ 山东理工大学 http://pypi.mirrors.ustc.edu.cn/ 中国科学技术大学 http://mirrors.sohu.com/Python/ 搜狐镜像 15指定镜像安装源 pip install 包名 -i http://pypi.v2ex.com/simple 其他更多有关 pip 的使用细节大家可以自行搜索。2. pip安装模版为了方便大家使用 pip 安装新的模块库 zwPython 集成了一个 pip01.bat批命令模版位于不同版本对应的目录下。pip01.bat 批命令内容如下rem tusharepip install --upgrade tushare -i https://pypi.tuna.tsinghua. edu.cn/simple其中 tushare 是示例的模块库名称请大家自行改为需要安装更新的模块库名称。这个 pip01.bat 批命令会自动更新指定的模块库如果找不到对应的模块则会重新安装。因为 Python 官网速度很慢所以我们在 pip01.bat 批命令中使用了国内的镜像源如果出现网络问题大家可以根据前面介绍的 pypi 镜像站点或者自行搜索更换对应的镜像网站即可。3. pip参数解释pip 部分参数及其解释如表 2-1 所示。4. pip-install参数选项install 是最常用的 pip 参数 install 参数选项如表 2-2 所示。第 3 章 Python 入门案例考虑到很多刚入门的读者对于 Python 不甚了解所以在此特意增加了一章 Python 入门案例套餐通过几个简单的 Python 入门程序帮助大家尽快掌握 Python 语言熟悉开发环境。本 书 采 用 的 是 逆 向 式 Python 语 言 教 学 模 式 先 通 过 解 压 即 用 的zwPython 开发平台和入门案例套餐让大家对于 Python 语言有个基本的感性认识再开始介绍 Python 语言的基本语法。3.1 案例3-1第一次编程“hello,ziwang”软件安装完毕我们就可以开始编写、运行 Python 脚本程序了。 单击工具栏的“读取”按钮打开“ py_demo\”目录下的 py301.py脚本文件。 单击工具栏中部的绿色“ ▶”运行按钮。程序很简单只有一行代码print(hello,ziwang.com)如图 3-1 所示运行后在右下角的输出窗口可以看到“ hello,ziwang. com”的字样表示运行成功。注意输出面板是 IPython console。大家可以自己修改引号里面的文字看看输出效果注意此处必须是英文字符和标点中文字符我们后面再说。1. 简单调试下面我们学习最简单的调试如图 3-2 所示去掉代码左边的引号再按“ ▶”运行按钮。右下角的输出窗口如图 3-3 所示。图 3-3 显示输出有错误注意这行文字 File e:/zwPython/py_demo/zc201.py, line 2 其中的“ line 2”表示出错的代码位于第二行。 出错信息 SyntaxError: EOL while scanning string literal 表示是字符串应用错误我们加上引号即可。