加入收藏 | 设为首页 | 会员中心 | 我要投稿 柳州站长网 (https://www.0772zz.cn/)- 基础存储、数据迁移、云安全、数据计算、数据湖!
当前位置: 首页 > 大数据 > 正文

在数据科学领域第一年学到的经验和经历

发布时间:2021-06-05 13:52:03 所属栏目:大数据 来源:互联网
导读:数据科学主要是计算机科学 当被问到工作中最困难的部分时,考虑到我们所有的机器学习都像这样,我坚决回答这不是机器学习: from sklearn import Model Model.fit(features, target) predictions = model.predict(testing_features) 取而代之的是,数据科学
数据科学主要是计算机科学
当被问到工作中最困难的部分时,考虑到我们所有的机器学习都像这样,我坚决回答这不是机器学习:
from sklearn import Model 
Model.fit(features, target) 
predictions = model.predict(testing_features) 
取而代之的是,数据科学中最困难的部分是开发建模前后所发生的一切。 在具备以下条件之前:从数据库加载数据,特征工程,数据验证和数据处理管道(假设我们的工作在数据被摄取后开始)。 在我们需要验证结果之后,将任务设置为按计划自动运行,将结果写回到我们的数据库中,并发送webhooks来触发其他服务。
这些外围动作构成了机器学习的大部分工作,都需要扎实的计算机科学实践。 这些与开发代码有关的实践中,有一些编写短函数,每个短函数都做得很好,开发实现相关功能的类,正确的命名约定,对代码和数据编写单元测试,编写易于阅读,而不重复的代码。 另外,还有其他计算机科学实践可应用于代码本身,例如版本控制,代码审查,持续集成,代码覆盖和部署,这些实践现在催生了一个完全独立的机器学习操作(MLOps)领域。
尽管我设法完成了机械工程->数据科学家的过渡,但回想起来,进行工程->计算机科学->数据科学本来会更具有生产力。 第二种方法本来意味着我不必学习在数据科学课程中学习到的不良编码实践。 换句话说,我认为在扎实的计算机科学背景之上添加数据科学,要比先学习数据科学然后学习计算机科学要容易得多(但两种方法都是可行的)。
计算机科学涉及一种完全不同的系统思维方式,即在编码之前进行有计划的规划,缓慢地编写代码以及在编写代码后进行测试。 干净的代码与数十个半写笔记本(我们所有人都拥有名为Untitled12.ipynb的笔记本)的数据科学通常随心所欲的本质形成鲜明对比,并且强调获得即时结果,而不是编写相当无错误的代码, 可以重复使用。
所有数据科学家都可以从计算机科学最佳编码实践课程中受益。 结构化脚本和程序包,编写简洁的代码,测试和记录代码的能力,使从探索性数据科学到机器学习的过渡更加易于管理。 此外,他们灌输了一种思维模式,从而导致易于理解的可重用代码。 即使是通常会编写数据科学脚本以分析论文数据的学术数据科学家也将受益于更好的实践。 如果科学家编写更简洁的代码并包含用于验证输入,输出和功能行为的单元测试,则科学中的可再现性问题可能会得到改善。
数据科学中有很多主题需要学习,有时可能会感到不知所措。 但是,计算机科学不应被视为附加组件。 相反,对于希望看到其代码可操作的数据科学家来说,它应该被视为基础。 幸运的是,有很多资源,任何人都可以用来学习和应用这些实践。
由于数据科学取决于人类的判断力,所以我们需要意识到
数据科学仍然是高度主观的
数据科学承诺使用数据而不是人类的判断来做出最佳决策。 这是一个崇高的原因,但与当前现实相去甚远,因为我们用来分析数据的数据和方法在很大程度上受到人类的影响。 甚至数据科学的所谓客观领域也取决于人类行为。 正如Vicki Boykis在其电子报Normcore Tech中所说的那样,神经网络Neural Nets一直都是人。
典型的机器学习系统的每个步骤都会受到个人选择的影响。 以下是其中一些决定:
收集数据:我们收集什么数据? 我们使用什么传感器? 我们调查谁? 我们如何表达我们的问题?
特征工程:我们制作什么特征? 我们使用领域知识还是自动化特征工程? 我们如何填写缺失的值? 什么意见应删除?
建模:我们应该使用哪些超参数? 我们应该建立多复杂的模型?
验证:什么是评估指标? 验证程序是什么? 我们需要什么水平的性能?
部署:我们是否相信这些数字足以向客户展示? 我们是否需要人工评估预测以进行健全性检查?
不可避免地,通过这个过程,不同的人将得出不同的结论。 《许多分析师,一个数据集》一书中记录了一个这样的例子,该文章描述了数据科学家如何使用相同的数据集来得出相互矛盾的决策,因为他们采用了多种方法。 毫不夸张地说,您可以使用一个数据集来通过改变分析来证明一个论点及其对立面。 这说明您不应该对一项研究得出的任何结论抱有过多的信念,而应该(怀着怀疑的态度)着眼于荟萃分析(并阅读《如何利用统计学撒谎》)。
此外,人为的偏见(无论是有意还是无意的)都会进入数据,从而影响机器学习模型。 如《数学毁灭性武器》一书中所示,将决策移交给机器并不能消除歧视,而是编译了出现在现实世界数据中的现有偏见。 最终目标是用数据科学来误导决策,这是崇高的,但是只要涉及人类,我们就不能盲目地依靠机器学习预测。

(编辑:柳州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读