面向对象编程(OOP)在数据科学中的意义

数据挖掘 机器学习 Python r
2022-02-26 07:33:28

有人可以向我解释一下面向对象编程(OOP)和面向对象设计(OOD)在数据科学中的作用吗?我来自非计算机科学背景。我是否也需要学习这些才能成为数据科学家?另外,请告诉我是否应该学习 Python 或 R。

3个回答

这实际上取决于您作为数据科学家获得的角色。如果您必须在一家大型软件公司编写生产质量的代码,那么您需要了解面向对象编程 (OOP)的基础知识。然而,面向对象设计 (OOD) 是您在数据科学角色中不一定需要了解的内容。不过,如果您计划将来转换到软件工程角色,学习 OOD 是您可以考虑的一件事。

关于进行数据科学的语言选择,我建议你更喜欢 Python 而不是 R,因为它更通用,也是一种更通用的语言。而另一方面,R 仅限于统计编程中的应用。

使用 python 与 R 更多的是个人选择,但我在数据科学领域认识的大多数人,包括我自己,都使用 python。

如果你决定使用 python,几乎所有的 python ML 库都是使用 OOP 方法编写的,因此,如果你熟悉基本的 OOP,一些 API 设计和交互(例如错误/警告消息)会更有意义概念。但是,您可以保留高级 OOP 和 OOD 以备将来使用。

1st都是关于机器学习解决方案的生产化。

OOP 和 OOD 只是您用来实现此目的的计算机编程范例,您可以独立于您的背景来学习这一点。Python 用于生产系统(除其他外)。

尽管现在你可以在未来摆脱普通的编程技能,但越来越多的机器学习和数据科学将被抽象出来,并通过简单的 API 调用进行访问。FastAI或最新的GPT-3为例,几乎所有东西都在 API 调用之后被抽象出来,甚至强大的 pytorch 都在下面,你甚至不需要知道它就能获得好的结果。当然,专家总是需要的,但他将是少数。数据科学将是软件工程师知识库中的一个简单工具包。