1. ホーム
  2. python

[解決済み] scikit-learnとtensorflowの違いは何ですか?併用は可能ですか?

2022-03-01 17:45:02

質問

この質問に対して、納得のいく回答が得られません。私の理解では、TensorFlowは数値計算のためのライブラリで、深層学習のアプリケーションでよく使われ、Scikit-learnは一般的な機械学習のためのフレームワークである。

しかし、両者の具体的な違い、TensorFlowの目的・機能とは何でしょうか?また、両者を併用することに意味はあるのでしょうか?

どのように解決するのですか?

非常に基本的なことではありますが、あなたの理解はかなり正しいです。 TensorFlowは、どちらかというと低レベルのライブラリです。 基本的にTensorFlowは機械学習アルゴリズムを実装するためのレゴブロック(NumPyやSciPyに似ている)と考えることができ、Scikit-Learnには既製のアルゴリズム、例えばSVM、ランダムフォレスト、ロジスティック回帰、その他多くの分類用のアルゴリズムが付属しています。 TensorFlowは、深層学習アルゴリズムを実装する場合、GPUを利用してより効率的に学習できるため、非常に有効です。 TensorFlowは低レベルのライブラリで、「add」、「matmul」、「concat」などの簡単な演算子を使って機械学習モデル(およびその他の計算)を構築することができる。

ここまでで理解できましたか?

Scikit-Learnは、いくつかの機械学習アルゴリズムの実装を含む高水準のライブラリなので、1行または数行のコードでモデルオブジェクトを定義し、それを使って点の集合をフィットさせたり値を予測したりできます。

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

すべてを読み通すには時間がかかりますが、最後まで読み通すと、たくさんのことを学ぶことができます! 最後に、Scikit-Learnの2,600ページを超えるユーザーガイドを以下のリンクから入手できます。

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