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

RKC*_*KCZ 32 python machine-learning scikit-learn tensorflow

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

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

ASH*_*ASH 43

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

到目前为止有意义吗?

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

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

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

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

当然,您可以使用 Scikit-Learn 进行多种不同类型的回归和分类,而无需使用 TensorFlow。我建议您有机会时通读 Scikit-Learn 文档。

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

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

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


ppl*_*ski 7

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

是的,您可以同时使用这两个软件包。但是,如果你只需要经典的多层执行,则MLPClassifierMLPRegressor提供scikit学习是一个非常不错的选择。我对在 TF 和 Scikit-learn 中实现的 MLP 进行了比较,没有显着差异,scikit-learn MLP 在 CPU 上的运行速度比 TF 快大约 2 倍。您可以在我的博客文章中阅读比较的详细信息。

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

Tensorflow 与 Scikit-learn 在分类任务上的对比

Tensorflow 与 Scikit-learn 在回归任务上的对比


小智 3

两者都是第三方机器学习模块,并且都很擅长。Tensorflow 是两者中更受欢迎的。

Tensorflow 通常更多地用于深度学习和神经网络。

SciKit learn 是更通用的机器学习。

尽管我认为我没有遇到过同时使用这两种方法的人,但没有人说你不能。

  • “......Tensorflow 是两者中更受欢迎的......”参考? (6认同)