数据科学家易犯的六大编码错误
极客时间编辑部
讲述:杜力大小:1.24M时长:02:43
日前,高级数据科学家诺曼尼尔(Norm Niemer)总结了自己在工作中常见到的 10 个错误,本文精选了其中的 6 个,以供数据科学家参考。
1. 没有共享代码中引用的数据
为了让其他人能够复现自己做出来的结果,你需要提供代码中涉及的数据。这看起来很简单,但很多人会忘记。你可以用 d6tpipe 共享代码中的数据文件,或者将数据文件上传到网页或谷歌云等,还可以将数据文件保存到数据库中,以便收件人检索文件,但不要将数据添加到 Git 中。
2. 硬编码其他人无法访问的路径
这会导致其他人没法运行你的代码,而且在很多地方都要手动修改路径。你可以使用相对路径、全局路径配置变量或 d6tpipe,这样其他人就可以轻易访问你的数据了。
3. 将数据和代码混在一起
如果这样做,当你运行代码时,这个目录中会存储图像、报告以及其他垃圾文件,乱成一团。你可以对目录进行分类,并用一些工具存储以及共享数据。
4. 用 Git 提交数据
在共享数据时,可能很容易将数据文件添加到版本控制中。对一些小文件来说这没什么问题,但 Git 无法优化数据,尤其是对大型文件而言。你可以使用数据库或谷歌云等存储和共享数据。如果你真的需要对数据进行版本控制,可以参阅 d6tpipe、DVC 等。
5. 没有写单元测试
随着数据、参数或者用户输入的改变,你的代码可能会中断,而你有时候可能没注意到这一点。这就会导致错误的输出,如果有人根据你的输出做决策的话,那么错误的数据就会导致错误的决策。你可以用 assert 语句检查数据质量,d6tstack 可以检查数据的获取,d6tjoin 可以检查数据的连接。
6. 把数据存成 CSV 或 Pickle
CSV 和 pickle 文件很常用,但它们其实并没有那么好。CSV 不包含模式(schema),所以每个人都必须重新解析数字和日期。Pickle 可以解决这一点,但只能用在 Python 中,而且不能压缩。这两种格式都不适合存储大型数据集。你可以用 Parquet 或者其他带有数据模式的二进制数据格式,最好还能压缩数据。d6tflow 可以自动将数据输出存储为 Parquet,这样你就不用解决这个问题了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论