簡體   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