如何将数据挖掘与机器学习过程联系起来

数据挖掘 机器学习 数据挖掘
2021-09-23 11:53:34

我想在Google Go中编写一个数据挖掘服务,它通过抓取和 API 收集数据。

然而,由于 Go 缺乏良好的 ML 支持,我想在 Python 中做 ML 的工作。

有网络背景,我会用 RPC 之类的东西连接这两个服务,但我相信这是数据科学中的一个常见问题,我认为有一些更好的解决方案。

例如,大多数(网络)协议缺乏:

  • 进程之间的缓冲
  • 集群在多个实例上

那么数据科学家使用什么(库类型)来连接不同的语言/流程?

博多

3个回答

TheData Science Toolkit一个功能强大的库(或技术上的库集合),提供多种语言版本。例如,我使用RDSTKR中调用的实现。

对于您的首选语言 Google Go,这里有一个与网络相关的库列表,看起来非常有用。

如果您使用 Google Go 的唯一动机是网页抓取,并且您想在 python 中进行机器学习,我会推荐以下堆栈:

用于抓取数据的 Python 请求

用于缓存数据的 MongoDB(MongoDB 的面向页面的格式使其成为存储 API 通常返回的 JSON 对象的自然之家)

pymongo 用于连接 python 和 mongodb

scikit-learn 用于进行机器学习

这一切都发生在 python 中,您可以使用多处理将其扩展到多个处理器 使用 django 扩展到多个节点

如果消息队列库是这项工作的正确工具,我不是 100%,但到目前为止,在我看来是这样。

使用消息库,例如:

您可以通过基于 TCP 的协议连接在不同环境中运行的不同进程。由于这些系统是分布式运行的,因此可以连接多个节点。

对于nsq,我们甚至有一个 PythonGo 库!