当前位置: 首页 > news >正文

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

1.4 机器学习经典案例

目前人工智能、机器学习正处于黄金时期,各种应用随处可见,以下是一些常见的机器学习应用案例。

 机器人客服:当你拨打移动、银行等公司的服务热线时,大部分都是通过人工智能技术合成的电脑客服在和你沟通,只有遇到电脑客服无法处理的问题,才会转给人工处理。

 语音助理:苹果的 Siri 和微软的小娜,就是采用人工智能开发的语音助手,两者会自动识别你的语音命令。

 垃圾邮件检测:根据邮箱中的邮件,识别哪些是垃圾邮件,哪些不是。这样的模型可以使用程序帮助归类垃圾邮件和非垃圾邮件。

 信用卡欺诈检测:根据用户的信用卡交易记录,识别哪些交易是该用户操作的,哪些不是。

 数字识别:根据信封上手写的邮编,识别出每一个手写字符所代表的数字。这样的模型可以帮助程序阅读和理解手写邮编,并根据地理位置分类信件。

 人脸识别:根据相册中的众多数码照片,识别出包含某一个人的照片,根据人脸管理照片。

 产品推荐:根据用户的购物记录和冗长的收藏清单,识别出这其中哪些是该用户真正感兴趣,并且愿意购买的产品。京东、淘宝都有大量这样的案例。

 医学分析:根据病人的症状和病人资料数据库,预测该病人可能患了什么病。

 股票交易:这个就是目前非常火热的智能投顾技术,根据股票现在和以往的价格波动,判断这支股票是应该建仓、持仓还是减仓。

 客户细分:根据用户在产品试用期的行为模式和所有用户过去的行为,识别出哪些用户会转变成该产品的付款用户,哪些不会。

 形状鉴定:根据用户在触摸屏幕上的手绘和一个已知的形状资料库,判断用户想描绘的形状。

 艺术作品鉴别:艺术作品的鉴别是极其复杂的,专家通常会判断它所属的类型、流派、作者和时代。新泽西州罗格斯大学的专家使用人工智能技术,鉴别画作的流派和作者。

 婚恋匹配:国内外的婚恋交友网站经常通过性格测试来提取数据,然后通过人工智能分析,进行婚恋匹配。

第 2 章 开发环境

2.1 数据分析首选Python

Python 人工智能和机器学习在本质上底层都是数据分析,而对于数据分析,行业首选的编程工具就是 Python 语言。

经常有网友认为,自己投资失败或者量化策略失效是因为 Python 开发环境不好,希望自己重新设计一个,甚至希望用 C、 Java 来重新开发量化软件。

对于提出这类问题的网友,笔者曾经这样答复:“量化的核心是策略,至于量化软件的运行速度、用户 GUI 界面都是程序员的事情。大家是做金融操盘手,只要会写策略就行。就像会计,如果觉得 Excel、用友或金蝶财务软件的某些功能不好用,另外再选一套财务软件就好,完全没必要自己也去写一套财务软件。 ”

在软件工程领域有一句著名的格言: “ Don't Reinvent the Wheel”——不要重复发明轮子。

这句话说得非常经典,也非常有道理。

至于为什么选择 Python 语言作为数据分析和量化分析的首选开发平台,大家可以参考 Top 极宽量化社区的介绍: 《 zwPython 史前故事》。

金融股票、足彩分析。机器学习等量化分析系统,本质上都是数据分析,如果大家有兴趣,还可以浏览笔者的博客内容《大数据, why Python》: http://ziwang.com/forum. php?mod=viewthread&tid=58。

1. 入门简单,功能强大

Python 是最适合初学者的编程语言,也是目前 IT 行业唯一的入门简单、功能强大的工业级开发平台。

事实上, Python 已经超越普通编程语言,成为 IT 行业的万能开发平台。

( 1)入门简单

任何熟悉 JavaScript 脚本、 Visual Basic、 C 语言、 Delphi 的用户,通常一天即可学会 Python。

即使是不会编程的美工设计师、打字员,一周内也能熟练掌握 Python,学习难度绝对不会高于 Photoshop、五笔,至少笔者和许多程序员一样,现在还不会使用五笔字型。

zwPython 原本就是面向美工设计的,最早的用户手册名字就叫《设计师学编程》。

( 2)功能强大

海量级的 Python 模块库,提供了 IT 行业最前沿的开发功能。

 大数据: Pandas 已经逐步碾压 R 语言。

 CUDA:高性能计算, Python、与 C( C++)、 Fortran 是 NVIDIA 公

司官方认可的 3 种编程语言,也是目前唯一适合大众用户的 CUDA编程工具。

 机器学习: TensorFlow、 PyTorch、 Scikit-learn、 Theano 都是国际上热门的机器学习平台。

 自然语言: NLTK,全球首选的自然语言处理平台; SpaCy,工业级NLP 平台。

 人脸识别: OpenCV,光流算法、图像匹配、人脸算法,简单优雅。

 游戏开发: Pygame 提供图像、音频、视频、手柄、 AI 等全套游戏开发模块库。

 字体设计: Fontforge,是唯一商业级的字体设计开源软件,内置的脚本语言和底层核心的 Fonttools,都是基于 Python。

 电脑设计: blend、 GIMP、 inkscape、 MAYA、 3DS 都内置或扩展了Python 语言支持。

上述 Pandas、 CUDA、 TensorFlow、 PyTorch、 Scikit-learn、 Theano 为Python 模块库或 IT 行业术语。

目前热门的 iOS、 安卓等手机 APP 应用开发,也可以使用 Python 开发,但基本都是商业收费模块,因此未集成到 zwPython 软件包,大家可以自行搜索。

既然 Python 如此美好,而且是 100%免费的开源软件,学习 Python 的人也越来越多,为什么 Python 相对于 C#、 JavaScript、 Visual Basic、 C 语言,始终还只是一种小众语言呢?

笔者认为, Python 的“大众化”之路,存在以下两个瓶颈。

 配置:软件行业有一句俗话“搞懂了软件配置,就学会了一半”。对于 Python 和 Linux 等许多开源项目而言, 80%的问题都出现在配置方面,尤其是模块库的配置。

 OOP(面向对象程序设计):大部分人都认为 Python 是一种“面向对象”的编程语言,而 OOP 的编程风格,业界公认比较繁杂。

如果能够解决好以上两个问题, Python 的学习难度可以降低 90%,而在应用领域和开发效率方面,则可以瞬间提升数十倍效能,而且这种提升是零成本的。

2. 难度降低,性能提高

笔者在 WinPython 软件包的基础上,推出了“ zwPython”——字王集成式 Python 开发平台。

 业界首次提出“零配置、零对象”的研发理念,绿色软件封装模式,类似 MAC 开箱即用风格,无须安装,解压即可直接使用,还可以放入 U 盘,支持 Mob-APP 移动式开发编程。

“外挂”式“核弹”级开发功能,内置很多功能强大、 IT 前沿的开发模块库,例如 OpenCV 视觉、人脸识别、 CUDA 高性能 GPU 并行计算( Opencl)、 Pandas 大数据分析、 TensorFlow、 PyTorch 机器学习、NLTK 自然语言处理。

 便于扩展,用户可以轻松增删相关模块库,全程智能配置,无须用户干预,就好像拷贝文件一样简单,而且支持 U 盘移动便携模式,真正实现了“一次安装,随处可用”。

 针对中文开发文档缺乏、零散的不足,内置多部中文版 Opencv、Fontforge 和 Python 入门教材。

 大量示例脚本源码,涵盖 OpenCV、 CUDA、 Opencl、 Pygame 等。

如此种种只是为了便于 IT 行业外的用户能够“零起步”、快速入门,并且短时间内应用到生产环节当中去。

zwPython 前身是 zw2015sdk:字王智能字模设计平台,原设计目标是向广大美工设计师提供一款统一的、可编程的字体设计平台,以便于大家交流。

 美工设计师、美工都是文艺青年、 IT 小白,所以,简单是必需的,

开箱即用也必须是标配。

 做设计,图像处理 PIL、 Matplotlib 模块是必需的。

 集成了 Opencv 作为图像处理、匹配模块,自然也提供了机器学习功能。

 字模处理数据量很大,属于大数据范畴,须集成 SciPy、 NumPy 和Pandas 数据分析模块。

 由于原生 Python 速度慢,所以增加了 Pycuda、 Opencl 高性能 GPU计算模块。

如此一而再、再而三地扩充,发现 zwPython 已经基本覆盖了目前 Python和 IT 编程 90%的应用领域,因此又增加了部分模块,将 zwPython 扩展成为一个通用的、集成式 Python 开发平台。

3.“零对象”编程模式

虽然很多人认为 Python 是一种“面向对象”的编程语言。

但对于初学者而言,把 Python 视为一种 Basic 风格的、过程式入门语言,学习难度可以降低 90%,基本上学习一小时即可动手编写学习代码。

有人说,“面向对象”最大的好处是方便把人脑子搅乱。

Windows、 Linux、 UNIX、 Mac OSX 内核都是使用 C 语言、汇编写的。有一种系统是 C++写的内核,就是诺基亚的塞班系统,据说代码量比Windows XP 还大,连他们自己的程序员都无法维护,最后就死掉了。

简而言之,“面向对象”的代码风格:一个字“繁”、两个字“繁繁”、三个字“繁繁繁”。

“零对象编程模式,用 Basic 的方式学习 Python”,是笔者向 Python 等编程语言的入门用户提出的一种全新的学习理论,一家之言,仅供参考。

Talk is cheap,Show me the code!大家还是多多动手。

大家很容易理解“零配置”,下面关于“零对象”再补充几点。

 不写“面向对象”风格的代码不等于不能使用,对于各种采用“对象”模式开发的模块库,我们仍然可以直接调用。

 将 Python 视为非“面向对象”语言并非大逆不道,事实上,许多人认为, Python 也是一种类似 LISP 的“函数”编程语言。

 笔者从事编程十多年,从未用过“面向对象”模式编写过一行“ class”(类对象)代码,依然可以应对各种编程工作。

 目前“面向对象”编程理论,在业界仍然争论不休,入门者功力不够,最好避开强者之间的火力杀伤。

“面向对象”的鼻祖 C++ 11 标准,直到 2015 年依然处于推广阶段,而且争议纷纷。

“面向对象”过于复杂,与“人生苦短,我用 Python”的优雅风格天生不合。

2.2 用户运行平台

本节主要讲解 Python 开发环境和数据包的配置、应用流程方面的知识。

本书所有案例程序均采用纯 Python 语言开发,除特别指明外,均默认使用 Python 3 语法,且经过 zwPython 平台测试。

zwPython 是 TopQuant 极宽公司推出的一个 Python 集成版本,功能强大,属于免费开源软件。系统内置了数百种专业的 Python 模块库,无须安装,解压即用。有关 zwPython 的使用,可参考软件自带的《 zwPython 用户手册》。

本书所有案例程序可用于 zwPython 平台, 以及各种支持 Python 3 的设备平台,包括 Linux 操作系统、 Mac 苹果电脑,以及安卓系统、树莓派。

其他非 zwPython 用户运行本书程序时,如果出现问题,通常是缺少有关的 Python 模块库,可以根据调试信息安装相关的 Python 模块库,再运行相关程序。

zwPython 及本书配套下载地址,请参见 Top 极宽量化社区“下载中心”: http://topquant.vip 或 http: //ziwang.com。

2.3 程序目录结构

本书配套程序的工作目录是 zwPython\py_demo,这也是本书默认的工作目录,凡是没有特别标注目录的脚本文件,一般都位于该目录。有关的程序会定时在读者群发布更新,请读者及时下载。

相比普通的 Python 版本,本书配套的教学版的 zwPython 目录中多了一个 py_demo 目录。

py_demo 目录收录了相关培训课程的配套代码和所需数据, py_demo目录也可以复制到其他目录,建议放到 zwPython 根目录下。

zwPython 目录结构中的其他子目录如下。

 \zwPython\doc\:用户文档中心,包括用户手册和部分中文版的模块库资料。

 \zwPython\py35\: Python 3.5 版本系统目录,除增加、删除模块库外,一

般不需要改动本目录下的文件,以免出错。另外,如果日后 Python 版本升级,这个目录也会变化,如 Python 3.6,会采用 py36 作为目录。

 \zwPython\demo\:示例脚本源码。

 \zwPython\zwrk\: zw 工作目录,用户编写的脚本代码文件建议放在本目录下。

 \zwPython\TFB\: Top Football,又称 Top Quant for Football,简称TFB,极宽足彩量化分析系统(快速学习版无此目录)。

足彩版本,配套的 TFB 极宽足彩量化分析系统,与 zwPython 进行了集成处理,可直接输入使用,支持 Python 3.x。移植时或使用其他 Python环境时,可以把 TFB 目录下的脚本文件全部复制到自己的代码工作目录,注意代码里面有关数据文件目录的设置。

2.4 Spyder编辑器界面设置

1. 开发环境界面设置

在设置界面之前,可随意把一个 Python 源码文件,用鼠标拖到 Python编程语言编辑器 Spyder 的编辑框中,如图 2-1 所示。

Spyder 编辑器的界面设计非常合理,参考了 MATLAB,特别适合量化分析,国际投行一般都选择用这种布局作为标配。

通常需要优化的只有 Outline(导航)面板,又称函数列表面板,类似Delphi 语言的 Struct 函数列表面板。

在 Spyder 编辑器默认配置中, Outline 面板是不显示的,单击菜单 View→ Panes→Outlines,如图 2-2 所示,将显示 Outline 面板。

Outline 面板显示后,它的默认位置在代码编辑器和右侧窗口的中间。

建议单击 Outline 面板左上角的“窗口缩放”按钮,拖动面板到右上方,将其与 Var(变量)面板、 File(文件)面板等合并。

Outline 面板的作用是对代码中的函数、类、变量进行快速导航定位。单击 Outline 面板的函数、类、变量名称后,左侧代码编辑器就会自动移动到相关代码,如图 2-3 所示。对于大型项目而言,使用 Outline 面板可以提高效率。

需要注意的是,由于 Spyder 软件未来版本升级,具体操作界面和细节可能会有所不同,本书其他软件和模块也是如此,这个属于正常情况,大家无须担心。
2. 代码配色技巧

zwPython 的 IDE 代码编辑器是 Spyder,默认配色是 Spyder 模式,采用白底黑字,与传统的 IDE 环境差别很大,如图 2-4 所示。

如图 2-5 所示是最新的 delphi-xe10 的编辑器配色模式( Twilight 模式)。

这种黑底模式也是微软 VS 等开发平台标准的代码编辑器配色模式。幸运的是, Spyder 编辑器内置的配色模式里也有类似的模式。

运行 Spyder 编辑器,单击菜单 Tools→Preferences,打开 Preferences对话框。在左侧的列表框中选择 Editor(编辑器),在右侧 Display(显示)面板的 Syntax color scheme(语法配色方案)下拉列表框中选择 Spyder/ Dark(暗调)模式即可。如图 2-6 所示。不同版本的 Spyder 编辑器调整细节会有所不同,请读者注意。

http://www.jsqmd.com/news/878755/

相关文章:

  • 通过Taotoken用量看板与账单追溯功能实现团队成本精细化管理
  • 防城港外贸建站建站平台,WaiMaoYa 外贸鸭响应式建站方案 - 外贸营销工具
  • 律所服务案源枯竭、获客难?摒弃传统低效拓客,GEO优化靠AI大模型搜索精准客户,靠谱的营销推广方法 - 一点学习库
  • 流式响应首包时间>800ms?DeepSeek官方未公开的4层缓冲区绕过策略,仅限内测团队使用
  • 第十章 结果页 result 开发
  • AI 接管现实业务全面翻车:电台崩溃、实体店血亏,全自动时代还有多远?
  • 内蒙古根河市寄件省钱指南|全网高性价比寄件渠道汇总,日常寄快递轻松省开支 - 时讯资讯
  • Taotoken用量看板如何帮助项目管理者追溯与分析AI支出
  • 2026年TK美区代运营公司排名前五权威专业深度测评 - 羊城派
  • 如何通过SMUDebugTool深度掌控AMD锐龙处理器性能
  • Loop窗口管理工具:如何用优雅的径向菜单彻底改变你的Mac工作流
  • 为什么你的DeepSeek API账单每月多花22.7万元?——头部金融客户成本审计报告(限内部流出版)
  • 第十一章 app.js 全局状态与 openid 获取
  • 2026年TK东南亚代运营机构排名前五权威测评报告发布 - 羊城派
  • 为什么你的DeepSeek限流总在凌晨2点失效?揭秘Redis Lua脚本时钟漂移导致令牌桶重置的隐蔽Bug(含Patch代码)
  • 清单来了:2026年性价比拉满的专业AI论文软件
  • 提示词工程师正在消失?不,是升级为“AI交互架构师”——掌握这4类元提示设计能力的人已溢价2.8倍
  • 022、热管理基础与散热设计
  • Fideo直播录制工具:一站式解决20+平台直播内容永久保存难题
  • TimesFM终极优化指南:如何将时间序列预测速度提升5倍
  • 创业团队如何利用Taotoken多模型能力快速进行AI产品原型验证
  • 补剂的兴趣调查:一
  • 【Gemini商业价值护城河构建指南】:用4维动态估值法锁定长期LTV,错过Q3将丧失成本优化黄金窗口
  • 深圳大学“挑战杯“赛事社团协助 工作计划
  • UnityExplorer自由视角相机:游戏世界探索的终极工具
  • 3分钟打造专属右键菜单:告别杂乱,提升Windows操作效率
  • 会计学论文降AI工具免费推荐:2026年会计学研究生毕业论文降AI4.8元达标知网完整指南
  • 植物大战僵尸修改器终极指南:如何快速掌握PvZ Toolkit提升游戏体验
  • 如何高效使用BilibiliDown:3步轻松下载B站视频的完整指南
  • Seata分布式事务实战