26、机器学习代码模块化:编写可测试和易读代码

机器学习代码模块化:编写可测试和易读代码

1. 文本墙代码调试难题

分位数 - 分位数图(Q-Q图)是一种很有用的探索性工具,通过将一个序列的分位数值与另一个序列的分位数值进行绘图,可以帮助我们判断数据的正态性(或与不同分布的拟合优度)。例如,在某些数据集中,我们会将价格序列的分位数与标准正态分布的分位数进行绘图。

然而,如果代码中没有对这个图进行标注,也没有说明这个图的用途,那么脚本的最终用户可能会对代码的运行情况感到困惑。在代码中以这种方式放置评估内容通常不是一个好的做法,因为这些内容很容易被忽略,而且用户可能会对它们为什么会出现在代码的那个位置感到困惑。

假设我们面对的不是一个简单的单目标变量的统计分析示例,而是一个长达1500行左右的整体式脚本项目。如果代码出现故障,我们能否清晰地看到并理解代码中正在发生的一切呢?又该从哪里开始排查问题呢?

当我们需要维护这样的代码时,比如要在现有的脚本中集成一个新功能,我们首先要对代码进行逆向工程,并添加注释以帮助自己理解。之后,我们才能开始添加新功能。但在这个过程中,测试代码的唯一方法就是运行整个脚本。

在修改脚本以适应新功能的过程中,我们不可避免地会遇到一些错误。如果我们处理的是一个包含一系列连续操作的脚本或笔记本环境,该如何排查代码中出现的问题呢?

2. 整体式代码的调试困境

整体式代码的调试过程非常耗时且考验耐心。以下是调试整体式代码的流程:

graph TD;
    A[异常抛出] --> B[将脚本分成两半];
    B --> C[插入打印语
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值