scikit-learn 和 tensorflow 有什么区别?可以一起使用吗?

新手上路,请多包涵

这个问题我得不到满意的答案。据我了解,TensorFlow 是一个用于数值计算的库,通常用于深度学习应用程序,而 Scikit-learn 是一个通用机器学习框架。

但它们之间的确切区别是什么,TensorFlow 的目的和作用是什么?我可以一起使用它们吗,它有什么意义吗?

原文由 RKCZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

您的理解非常准确,尽管非常非常基础。 TensorFlow 更像是一个低级库。基本上,我们可以将 TensorFlow 视为我们可以用来实现机器学习算法的乐高积木(类似于 NumPy 和 SciPy),而 Scikit-Learn 带有现成的算法,例如用于分类的算法,例如 SVM、Random森林、逻辑回归等等。如果我们想要实施深度学习算法,TensorFlow 真的很出色,因为它允许我们利用 GPU 进行更高效的训练。 TensorFlow 是一个低级库,允许您使用一组简单的运算符(如“add”、“matmul”、“concat”等)构建机器学习模型(和其他计算)。

到目前为止有意义吗?

Scikit-Learn 是一个更高级别的库,其中包含多种机器学习算法的实现,因此您可以在一行或几行代码中定义一个模型对象,然后使用它来拟合一组点或预测一个值。

Tensorflow 主要用于深度学习,而 Scikit-Learn 用于机器学习。

这是一个向您展示如何使用 TensorFlow 进行回归和分类的链接。我强烈建议您自己下载数据集并运行代码。

https://stackabuse.com/tensorflow-2-0-solving-classification-and-regression-problems/

当然,您可以在没有 TensorFlow 的情况下使用 Scikit-Learn 进行许多不同类型的回归和分类。如果有机会,我建议您通读 Scikit-Learn 文档。

https://scikit-learn.org/stable/user_guide.html

完成所有事情需要一段时间,但如果你坚持到最后,你将学到很多东西!!!最后,您可以从下面的链接获取 2,600 多页的 Scikit-Learn 用户指南。

https://scikit-learn.org/stable/_downloads/scikit-learn-docs.pdf

原文由 ASH 发布,翻译遵循 CC BY-SA 4.0 许可协议

Tensorflow 是一个用于构建神经网络的库。 scikit-learn 包含随时可用的算法。 TF 可以处理多种数据类型:表格、文本、图像、音频。 scikit-learn 旨在处理表格数据。

是的,您可以同时使用这两个包。但是,如果您只需要经典的多层实现,那么 scikit-learn 中提供的 MLPClassifierMLPRegressor 是一个很好的选择。我对 TF 和 Scikit-learn 中实现的 MLP 进行了比较,没有显着差异,scikit-learn MLP 在 CPU 上的工作速度比 TF 快 2 倍。您可以在 我的博 文中阅读比较的详细信息。

下面是性能比较的散点图:

Tensorflow vs Scikit-learn 分类任务

Tensorflow vs Scikit-learn 回归任务

原文由 pplonski 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题