繁体   English   中英

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

[英]What's the difference between scikit-learn and tensorflow? Is it possible to use them together?

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

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

您的理解几乎是正确的,尽管非常非常基本。 TensorFlow 更像是一个低级库。 Basically, we can think of TensorFlow as the Lego bricks (similar to NumPy and SciPy) that we can use to implement machine learning algorithms whereas Scikit-Learn comes with off-the-shelf algorithms, eg, algorithms for classification such as SVMs, Random Forests,逻辑回归,还有很多很多。 如果我们想实现深度学习算法,TensorFlow 真的很出色,因为它允许我们利用 GPU 进行更有效的训练。 TensorFlow 是一个低级库,允许您使用一组简单的运算符(如“add”、“matmul”、“concat”等)构建机器学习模型(和其他计算)。

到目前为止有意义吗?

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

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

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 回归任务

两者都是第 3 方机器学习模块,并且都很擅长。 Tensorflow是两者中比较流行的。

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

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

虽然我不认为我遇到过任何人同时使用两者,但没有人说你不能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM