Azure 的 ML 与纯代码方法 (R/SKlearn) 的缺点是什么

数据挖掘 机器学习 软件推荐
2021-09-17 00:19:49

再会,

微软提供了他们的 Azure 机器学习平台:https ://azure.microsoft.com/en-ca/services/machine-learning/

Azure 机器学习专为应用机器学习而设计。使用一流的算法和简单的拖放界面 - 只需单击一下即可从构思到部署。

...

使用 Azure 机器学习在几分钟内将您的模型作为 Web 服务部署到生产中 - 一种可以从任何设备、任何地方调用并且可以使用任何数据源的 Web 服务。

通过他们的演示和他们的在线照片,它看起来像一个简单的 GUI 应用程序,您可以拖放各种预处理元素、估计器和测试方案,并且似乎可以轻松开始机器学习项目。

任何销售产品的网站都不会做的是宣传他们的缺点。使用像 Weka 这样的 GUI,您缺乏微调和调整不同参数的能力。

Azure ML 似乎允许与 Python 或 R 挂钩,从而为您提供更多控制权,而且只需做更少的工作即可获得相同的结果肯定会很有吸引力。


将 Azure ML 用于 ML 项目与在代码中编写相同的流程(例如 Sci-kit Learn 或在 R 中)有哪些已知的缺点?

3个回答

我在 scikit-learn (Python) 和 caret (R) 之后学习了 Azure ML 平台。

好处:

  • 低或不涉及编码。它更像 Orange,因为您将 ML 练习设置为一个大型流程。非技术人员更容易上手。
  • 易于转换为生产就绪。您单击一个按钮,它会部署一个 Web 服务,您可以将其发送给程序员使用。在 Python 中,您需要添加另一个库,而在 R 中,它甚至更复杂。

缺点:

  • 内置更少的算法(例如没有 XGBoost)和其他转换(例如 NLP)。您当然可以参考 Python 和 R 来执行此操作,但这比使用 GUI 困难得多。如果你能弄清楚如何从 Azure ML 中调用 Python/R,那么你很可能可以自己完成。
  • 价格。

缺点

  • 价格。这是一项云服务,因此,如果您希望将其用于更“严肃”的项目,则需要花钱。
  • 免费版的存储空间有限。
  • 它仅内置有限数量的技术,正如您在 Weka 中提到的,通常,如果您可以直接进入代码进行调整,生活会变得更轻松。
  • Azure ML 是一种高级工具,因此您可以减少对自己可以做的事情的控制。自定义代码功能很好,但并不是它真正的用途。如果你可以编写自定义代码,这可能意味着你不应该再使用 Azure ML。

但是,我们不要太悲观,因为它也有很多优点。

优点

  • “局外人”和初学者很容易理解分类管道(数据转换、预处理、特征提取等)是如何工作的,因为它是可视的,他们甚至可以自己构建它
  • 允许您部署稍后可以在 Web 应用程序中使用的模型
  • 由于这是一个 Azure 产品,它使您可以快速访问非常轻松地创建云解决方案

缺点:- 1.) 在 Azure ML 中只能使用有限数量的算法和预处理步骤。这确实不是一个缺点,因为您可以使用 Azure ML Python SDK 来构建自己的模型(就像在笔记本电脑上一样)。

优点:- 1.) 如果您的数据集很大,您不需要购买高端计算机。您可以使用预算笔记本电脑来构建需要高计算能力和大量内存的复杂模型。

2.) 如果您不喜欢编码并且想在短时间内构建模型,那么您可以使用 Auto ML 或 Designer 选项,只要它具有您想要训练的模型。

PS:谈论价格是劣势的人不知道他们在说什么。如果你是一位认真的数据科学家,我什至会认为这是一个优势。当您可以在 Azure 上以一小部分成本做同样的事情时,为什么要购买高端且昂贵的计算机/笔记本电脑。这仅适用于那些经常遇到和使用大数据并且需要大量计算能力和内存的人。

如果您经常使用中小型数据集,您通常可以构建它们并在笔记本电脑上进行训练。