数据科学家易犯的十大编码错误,你中招了吗?
副问题[/!--empirenews.page--]
数据科学家比软件工程师善于统计,又比统计学家善于软件工程。听起来牛逼轰轰,究竟却是,许大都据科学家有统计学配景,却没有什么软件工程方面的履历,因此在编码时轻易犯一些简朴的错误。作为一名高级数据科学家,本文作者总结了他在事变中常见数据科学家犯的十大错误。 我是一名高级数据科学家,在 Stackoverflow 的 python 编码中排前 1%,并且还与浩瀚(低级)数据科学家一路事变。下文列出了我常见到的 10 个错误。 1. 没有共享代码中引用的数据 数据科学必要代码和数据。所觉得了让其他人可以或许复现本身做出来的功效,你必要提供代码中涉及的数据。这看起来很简朴,但很多人会健忘共享代码中必要的数据。
办理方案:用 d6tpipe 共享代码中的数据文件,可能将数据文件上传到 S3/网页/Google 云等,还可以将数据文件生涯到数据库中,以便收件人检索文件(但不要将数据添加到 git 中,这一点后头的内容会讲到)。 2. 硬编码其他人无法会见的路径 和错误 1 相同,假如硬编码其他人无法会见的路径,他们就没法运行你的代码,并且在许多处所都必必要手动修改路径。Booo!
办理方案:行使相对路径、全局路径设置变量或 d6tpipe,这样其他人就可以等闲会见你的数据了。 3. 将数据和代码混在一路 既然数据科学代码必要数据,为什么不将代码和数据存储在统一个目次中呢?但你运行代码时,这个目次中还会存储图像、陈诉以及其他垃圾文件。乱成一团!
办理方案:对目次举办分类,好比数据、陈诉、代码等。参阅 Cookiecutter Data Science 或 d6tflow 项目模板,并用题目 1 中提到的器材存储以及共享数据。
4. 用 Git 提交数据 大大都人此刻城市版本节制他们的代码(假如你没有这么做那就是另一个题目了!)。在共享数据时,也许很轻易将数据文件添加到版本节制中。对一些小文件来嗣魅这没什么题目。但 git 无法优化数据,尤其是对大型文件而言。
办理方案:行使题目 1 中提到的器材来存储和共享数据。假如你真的必要对数据举办版本节制,请参阅 d6tpipe、DVC 和 Git Large File Storage。
5. 写函数而不是 DAG 数据已经接头得够多了,接下来我们谈谈现实的代码。你在学编程时,起首学的就是函数,数据科学代码首要由一系列线性运行的函数构成。这会激发一些题目,详情请参阅「4 Reasons Why Your Machine Learning Code is Probably Bad。」 地点: https://towardsdatascience.com/4-reasons-why-your-machine-learning-code-is-probably-bad-c291752e4953
办理方案:与其用线性链接函数,不如写一组有依靠相关的使命。可以用 d6tflow 可能 airflow。 6. 写 for 轮回 和函数一样,for 轮回也是你在学代码时最先学的。这种语句易于领略,但运行很慢且过于冗长,这种环境凡是暗示你不知道用什么更换向量化。
办理方案:NumPy、SciPy 和 pandas 都有向量化函数,它们可以处理赏罚大部门你认为必要用 for 轮回办理的题目。 7. 没有写单位测试 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |