franztao

Talk is cheap, show me the code.

样式和格式代码

2022年10月

样式和格式约定使代码看起来一致。 Intuition 阅读代码的频率高于编写代码的频率。——Guido Van Rossum(Python 的作者) 当编写一段代码时,几乎从来都不是最后一次看到它或最后一次编辑它。所以需要解释发生了什么(通过文档)并使其易于阅读。使代码更具可读性的最简单方法之一是遵循一致的样式和格式约定。在遵守 Python 样式约定方面有很多选择,但大多数都...

打包python代码库

2022年10月

使用配置和虚拟环境来创建用于重现结果的设置。 Intuition 到目前为止,一直在note本内部工作,这使能够非常快速地训练模型。但是,note本并不容易投入生产,而且并不总是能够控制环境(例如,Google Colab 会定期更新其软件包)。当使用notebook时,有一组预加载的包(!pip list在 notebook 中运行以查看所有包)。但是现在想要明确定义环境,以便可以在本...

组织机器学习代码

2022年10月

组织机器学习代码 从note本转移到 Python 脚本时组织代码。 Intuition 有组织的代码就是有可读的、可重现的、健壮的代码。您的团队、经理,最重要的是,您未来的自己,将感谢您为组织工作付出的最初努力。在本课中,将讨论如何将代码从note本迁移和组织到 Python 脚本。 Editor 在开始编码之前,需要一个空间来完成它。代码编辑器有多种选择,例如VSCode、At...

Makefile

2022年10月

为应用程序流程组织命令的自动化工具。 Intuition 尽管只完成了课程的一半,但已经有很多不同的命令需要跟踪。为了帮助组织一切,将使用Makefile一个自动化工具来组织命令。将首先在项目的根目录中创建此文件。 在顶部,Makefile需要指定希望所有命令在其中执行的 shell 环境: # Makefile SHELL = /bin/bash 成分 在Makefile中,...

ML 系统的日志记录

2022年10月

Intuition 日志记录是跟踪和记录应用程序中发生的关键事件的过程,用于检查、调试等。它们比print语句更强大,因为它们允许将特定的信息片段发送到具有自定义功能的特定位置格式化、共享接口等。这使得日志记录成为能够从应用程序的内部流程中发现有洞察力的信息的关键支持者。 成分 有几个总体概念需要注意: Logger: 从应用程序发出日志消息。 Handler:将日志记录发...

代码文档

2022年10月

为您的团队和您未来的自己代码文档。 Intuition 代码告诉你_怎么_做,注释告诉你_为什么_。——杰夫·阿特伍德 可以通过代码文档来进一步组织代码,让其他人(以及未来的自己)更容易轻松地导航和扩展它。在完成编写代码库的那一刻就最了解代码库,但幸运的是,记录它将使能够快速回到熟悉的心态。文档对开发人员来说可能意味着很多不同的东西,所以让定义最常见的组件: comme...

拆分数据集以进行机器学习

2022年10月

适当拆分数据集以进行训练、验证和测试。 Intuition 为了确定模型的有效性,需要有一个公正的测量方法。为此,将数据集拆分为training、validation和testing数据拆分。 使用训练拆分来训练模型。 在这里,模型将可以访问输入和输出以优化其内部权重。 在训练拆分的每个循环(epoch)之后,将使用...

数据预处理

2022年10月

数据预处理 通过准备和转换对数据集进行预处理,以用于训练。 Intuition 数据预处理可以分为两类过程:准备和转换。将探索常见的预处理技术,然后针对特定应用逐步完成相关过程。 warning 某些预处理步骤global(不依赖于数据集,例如小写文本、删除停用词等)和其他步骤local(结构仅从训练拆分中学习,例如词汇、标准化等)。对于本地的、依赖于数据集的预处理步骤,...

数据标签

2022年10月

什么是数据标签 标记(或注释)是识别值得建模的输入和输出(而不仅仅是可以建模的内容)的过程。 使用目标作为指导来确定必要的信号。 探索创建新信号(通过组合特征、收集新数据等)。 迭代地添加更多功能以证明复杂性和工作量。 warning 注意不要在数据集中包含预测期间不可用的特征,从而导致数据泄漏。 还能学到什么? 这不仅仅是识别和标记初始...

探索性数据分析

2022年10月

有目的性的探索数据集以获取具体的优化方向和思路。 Intuition 探索性数据分析 (EDA) 以了解数据集的信号和细微差别。这是一个循环过程,可以在开发过程的各个阶段(标记之前/之后、预处理等)完成,具体取决于问题的定义程度。例如,如果不确定如何标记或预处理数据,可以使用 EDA 来解决这个问题。 将从 EDA 开始项目,这是一个经常被误解的重要(且有趣)的过程。以下是对 EDA ...