Pythonで利用可能な機械学習ライブラリ

はじめに

みなさんこんにちはALEXです。今回はPythonで使える機械学習ライブラリをざっと解説します。

 

NumPy

NumPy

・Pythonでの数値計算に一番よくつかわれているライブラリです。といえます。

・特に配列に関する処理は世界中でサンプルや解説があるので、情報が豊富で学習しやすいです。

・Anacondaでは標準装備されています

・ベクトルや行列等の多次元配列をPythonで実装したり、多次元配列を簡単に操作する必要がある時大活躍です。

・類似のライブラリにSciPyがありますが、とにかく「配列にはNumPy」と覚えていただきたいです。

 

pandas

pandas

・R言語での使い方をPythonで可能にします。ベクトル処理、統計解析、グラフ表示が可能です。

・pandas単体だけでなく、NumPyで作成したデータを、MySQLやPosgreSQLなどのDBにSQL文を利用して引き渡すことができます。

・Anacondaでは標準装備されています。

・NumPyとSciPyで作成したデータをさらに分析したり、簡易的なグラフを作成します。

・SQL文を操作処理でテーブルを操作できるのでが可能となるため、Webエンジニアも比較的簡単に統計分析ができます。

 

SciPy

SciPy

特徴

・NumPyは配列データ型とインデックスの作成、処理が得意です。さらに高度な数値計算処理を行う場合は、SciPyを利用します。

・SciPyはNumPyを元に実装されています。

・統計、最適化、積分、線形代数、フーリエ変換等々をPythonを使って簡単に利用することができます。

・Anacondaでは標準装備されています。

・こんなメソッドが簡単に使えます

  • clusterメソッド:クラスタリング処理
  • integrateメソッド:積分処理
  • linalgメソッド:線形代数処理
  • maxentropyメソッド:エントロピー分布処理
  • ndimagemiscメソッド:画像処理

matplotlib

matplotlib

・データをグラフや画像データとして表示することが出来ます。

・pandasより更に複雑な表示が可能です。

・公式ページは出力グラフとコード例がセットで説明されているので学びやすいです。

・Anacondaでは標準装備されています。

 

scikit-learn

scikit-learn

・Google製の機械学習用のライブラリです。

・分類回帰クラスタ分析(ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、k近傍法など)を簡単に実装できます。

・Anacondaでは標準装備されています。

・NumPy、SciPy、Pandas、Matplotlibを簡単に連携して使えます。

・分類・回帰・クラスタリング・主成分分析等の用途で利用します。

 

TensorFlow

TensorFlow

・TensorFlowは、Googleが開発した深層学習を行うオープンソース・ソフトウェアです。

・公式ページのチュートリアルでここまでの実装が可能です。

  • MNIST:手書き数字判別
  • CNN:画像認識
  • Word2Vec:各単語関係を学習
  • RNN:文章から次の単語予測
  • Seq2Seq Model:フランス語を英語に翻訳

・TensorFlowがAI導入の敷居を低くしてくれています。

 

まとめ

 

今回は、便利なPythonで使えるライブラリを紹介しました。