Python3の機械学習で使えるおすすめライブラリ一覧

みなさまおはこんばんにちは、せなです

今回はPython3で機械学習を行うときに使える便利なライブラリを紹介したいと思います

scikit-learn

scikit-learn(サイキット・ラーン)は機械学習の基本的な機能を取りそろえたメジャーなライブラリです
豊富な種類のクラスタリングアルゴリズムを備えており、分類・回帰・次元削減のアルゴリズムにも対応しています

マメ知識:分類・回帰・クラスタリング・次元削減とは?(簡単に)

分類とは、データに対しての情報(ラベル)を付加して、区別することです

回帰とは、データから数値を学習してその後のデータの推移に、その学習を当てはめて予測することです

クラスタリングとは、大量の学習データから近い特徴を持ったデータを探して分類していき、グループ分けを行うって行くことです

次元削減とは、データの中の有用なデータをまとめてより解釈しやすいデータにする(減らす)ことです

NumPyとSciPyとのデータのやり取りを容易に行えるように設計されています
matplotlibと併用することもできます

scikit-learnは豊富な機能を有しているため、機械学習初心者には特におすすめすることができるライブラリです

scikit-learnはPythonパッケージのAnacondaに標準で搭載されています

リンク:scikit-learnドキュメント

NumPy

NumPy(ナムパイ)は数値計算を行うときや、多次元配列の処理などを行うときに高速に処理を実行することができるようになる数学関数ライブラリです

NumPyは内部にC言語を使用しているため、数値計算に関するあらゆる処理を高速化する目的で使用できます
Pythonはインタプリタ言語のため、処理速度が遅いです

また、NumPyはPythonパッケージのAnacondaに標準で搭載されています

リンク:NumPyドキュメント

SciPy

SciPy(サイパイ)はNumPyを基盤にした数値計算を補助する数学関数ライブラリです

SciPyがNumPyと違うのはプログラミング数学・科学技術計算などの数値計算における関数群の違いです

例えば、フーリエ変換はNumPyとSciPyの両方でサポートされていますが、ベクトル量子化や、数値積分ルーチンなどはNumPyではサポートされていません

以上のことからSciPyはNumPyの機能補完ライブラリのような位置づけになります

PythonパッケージのAnacondaには標準では入っていないので、「conda install scipy」でインストールする必要があります

リンク:SciPyドキュメント

matplotlib

matplotlib(マットプロットリブ)はNumPyを基盤にしたグラフ描画ライブラリです

2次元グラフはもちろん、3次元グラフにも対応しており、グラフを各種形式で保存することも可能です
また、グラフの描画機能をTkinter・Kivy・wxPython・PyQtなどのGUIツールキットに組み込むことも可能です

matplotlibは「Python+NumPy+SciPy+matplotlib」のセットで使用されることが多い

matplotlibはPythonパッケージのAnacondaに標準で搭載されています

リンク:matplotlibドキュメント

Pandas

Pandas(パンダズ)は数表や時系列データなどのデータを操作・変更を容易に行えるようにするためのライブラリです

Pandasは機械学習の学習データの前処理の時に活用することができます
※例えば、Excelファイルを読み込んで必要なデータのみを抽出するとか

データ量が多く、外部サービスとの連携が多いデータとかを扱うときには非常に重宝します

Pandasは重要なコードをC言語で構成しているため、高速での動作も期待できます

PandasはPythonパッケージのAnacondaに標準で搭載されています

リンク:Pandasドキュメント