機械学習に必須の Python ライブラリ トップ 10

機械学習に必須の Python ライブラリ トップ 10

[51CTO.com クイック翻訳] 現在、Python は人気があり広く使用されているプログラミング言語の 1 つであり、業界の多くのプログラミング言語に取って代わりました。 Python が開発者の間で非常に人気がある主な理由の 1 つは、使用できるライブラリの大規模なコレクションをユーザーに提供していることです。

この記事では、Python のいくつかのライブラリについて説明します。開発者はこれらを使用して、データの記述、クリーンアップ、表現を行い、さまざまな既存のアプリケーションで機械学習の効果を有効にすることができます。彼らです:

  • テンソルフロー
  • サイキットラーン
  • ナンピ
  • ケラス
  • パイトーチ
  • ライトGBM
  • エリ5
  • サイパイ
  • テアノ
  • パンダ

[[272293]]

1. テンソルフロー

TensorFlow とは何ですか?

現在 Python で機械学習プロジェクトに取り組んでいる場合は、人気のオープンソース ライブラリである TensorFlow について聞いたことがあるはずです。これは Google が Brain Team と共同で開発したもので、主に機械学習アプリケーションの開発に使用されます。

TensorFlow は、多くのテンソル演算を伴う新しいアルゴリズムのライブラリのように機能します。ニューラル ネットワークは計算グラフとして簡単に表現できるため、TensorFlow を使用してテンソルに対する一連の操作として実装できます。ここで、テンソルは N 次元のデータ行列として表されます。

TensorFlowの特徴

TensorFlow は速度に最適化されています。 XLA などのテクノロジーを使用して、高速な線形代数演算を実現します。

  • レスポンシブビルド

TensorFlow を使用すると、グラフの各部分を簡単に視覚化できます。ただし、後述する NumPy や SciKit にはこのオプションはありません。

  • フレキシブル

Tensorflow はモジュール型であるため、機能面でも柔軟な操作性があり、ユーザーは必要な独立した部分のみを選択できます。

  • トレーニングが簡単

CPU と GPU のトレーニングを通じて分散コンピューティングを簡単に実現できます。

  • 並列ニューラルネットワークトレーニング

TensorFlow はパイプライン化された操作を提供するため、ある意味では複数のニューラル ネットワークと複数の GPU をトレーニングできます。これは、大規模システム上のモデルに非常に効率的です。

  • 大規模なコミュニティ

言うまでもなく、Google によって開発されているため、多数のソフトウェア エンジニアが安定性の向上に取り組み続けることになります。

  • オープンソース

オープンソースなので、インターネットに接続できる人なら誰でも利用できます。

TensorFlow の受け入れ

Google 音声検索や Google フォトなどのおなじみのアプリケーションはすべて、TensorFlow ライブラリを使用して開発されています。 TensorFlow によって作成されたライブラリのコレクションは C および C++ で記述されていますが、洗練された Python フロントエンドを備えています。したがって、Python コードはこれによってコンパイルされ、C および C++ で構築された TensorFlow 分散エンジンによって実行されます。

2. サイキットラーン

Scikit-Learn とは何ですか?

これは、NumPy および SciPy に関連付けられた Python ライブラリであり、複雑なデータを処理するための Python ライブラリの 1 つと見なされています。 Scikit-Learn には多くの改良バージョンがあり、その 1 つは、クロス検証機能と複数のパラメーター インジケーターの提供を通じて、ロジスティック回帰や最近傍法などのさまざまなトレーニング方法を改善することです。

Scikit-Learnの特徴

  • 相互検証: 未知のデータに対するモデルの精度をチェックおよび監視するためのさまざまな方法を提供します。
  • 教師なし学習アルゴリズム: 同様に、クラスタリング、因子分析、主成分分析、教師なしニューラル ネットワークなどの多数のアルゴリズムも提供します。
  • 特徴抽出: 画像やテキストから特徴を抽出するために使用できます (例: Bag of words)。

Scikit-Learnの受け入れ

標準的な機械学習およびデータマイニングタスクを実装するために使用できる多数のアルゴリズムが含まれています。たとえば、次元削減、分類、回帰、クラスタリング、モデル選択などです。

3. ナンバリング

NumPy とは何ですか?

NumPy は、Python で人気のある機械学習ライブラリの 1 つと考えられています。 TensorFlow やその他のライブラリは、さまざまな操作を実行するために内部的に NumPy を使用します。その中でも、配列インターフェースは NumPy の最も便利で重要な機能の 1 つです。

NumPy の機能

  • インタラクティブ: NumPy は非常にインタラクティブで使いやすいです。
  • 数学的: 複雑な数学を通じて、実装は非常にシンプルになります。
  • 直感的: コーディングと概念を理解しやすくすることができます。
  • 強力なインタラクティブ性: 広く使用されているため、オープンソースの貢献が多くなります。

NumPyの受け入れ

NumPy ライブラリ インターフェイスを使用すると、画像、音波、その他のバイナリ生ストリームを N 次元の実数配列として表現できます。機械学習に有効活用するためには、フルスタックエンジニアが深く理解する必要があります。

4. ケラス

Kerasとは何ですか?

Keras は、機械学習用の優れた Python ライブラリの 1 つと考えられています。ニューラルネットワークをより簡単に表現するためのメカニズムを提供します。同時に、Keras はモデルのコンパイル、データセットの処理、グラフの視覚化に使用できるツールもいくつか提供します。

Keras はバックエンドで内部的に Theano または TensorFlow を使用します。 CNTK などのさまざまな一般的なニューラル ネットワークで使用できます。他の機械学習ライブラリと比較すると、Keras はバックエンド インフラストラクチャを使用して計算グラフを作成するため、その後の実行は比較的遅くなります。さらに、すべての Keras モデルはポータブルです。

Kerasの特徴

  • Keras は CPU と GPU の両方でスムーズに実行されます。
  • Keras は、完全接続、畳み込み、プーリング、再帰、埋め込みなど、ニューラル ネットワークのほぼすべてのモデルをサポートしています。さらに、これらのモデルを組み合わせて、より複雑なモデルを構築することもできます。
  • Keras のモジュール性により、表現力と柔軟性が非常に高まり、革新的な研究に適しています。
  • Keras は完全に Python ベースのフレームワークであり、開発者はさまざまなデバッグを簡単に実行できます。

Keras の承認

現在、Netflix、Uber、Yelp、Instacart、Zocdoc、Square などの Web サイトでは、インタラクティブな機能を構築するために Keras を使用しています。多くのスタートアップ企業は、Keras が提供するディープラーニング技術を自社製品の中核に活用したいと考えています。

Keras には、レイヤー、オブジェクト、アクティベーション関数、オプティマイザー、画像やテキスト データを処理するための一連のツールなど、ニューラル ネットワークの一般的な構成要素が多数含まれています。

さらに、MNIST、VGG、Inception、SqueezeNet、ResNet など、前処理済みのデータと事前トレーニング済みのモデルのコレクションも多数提供しています。

採用率の面では、Keras はディープラーニング研究者の間で 2 番目に人気のある Python ライブラリです。 Keras は、CERN や NASA などの大規模な科学組織の研究者によって使用されています。

5. パイトーチ

PyTorch とは何ですか?

PyTorch は、開発者がテンソル計算を実行し、動的な計算グラフを作成し、GPU アクセラレーションを通じて勾配を自動的に計算できるようにする大規模な機械学習ライブラリです。さらに、PyTorch は、ニューラル ネットワークに関連するアプリケーションの問題を解決するために使用できる豊富な API も提供します。

PyTorch は Torch をベースにした、C で実装されたオープンソースの機械学習ライブラリです。もちろん、Lua 用のラッパーも付属しています。

PyTorchの機能

ハイブリッドフロントエンド

新しいハイブリッド フロント エンドにより、Eager モードでの使いやすさと柔軟性が確保されます。シームレスにグラフ モードに変換された後、C++ ランタイム環境で速度、最適化、および対応する機能を維持できます。

  • 分散トレーニング

Python と C++ のピアツーピア通信へのアクセスを活用して、集合操作と非同期実行のネイティブ サポートを提供し、研究環境と実稼働環境の両方でパフォーマンスを最適化します。

  • Pythonファースト

PyTorch は、Python バインディングを備えたモノリシックな C++ フレームワークではありません。 Python に深く統合されるように構築されています。したがって、Cython や Numba などのパッケージだけでなく、さまざまな一般的なライブラリでも使用できます。

  • ライブラリとツール

研究者と開発者の活発なコミュニティにより、ツールとライブラリの豊富なエコシステムが実現しました。このシステムは PyTorch を拡張し、コンピューター ビジョンから強化学習までさまざまな分野での開発をサポートするために使用できます。

PyTorch の受け入れ

PyTorch は Facebook の人工知能研究グループによって開発され、主に自然言語処理などのアプリケーションに使用されています。たとえば、Uber の Pyro ソフトウェアでは確率的プログラミングに使用されています。

現在、PyTorch は多くの点で TensorFlow を上回っており、注目を集め続けています。

6. ライトGBM

LightGBMとは何ですか?

勾配ブースティングは、最も人気のある機械学習ライブラリの 1 つです。再定義された基本モデルと決定木を使用して、開発者が新しいアルゴリズムを構築するのに役立ちます。 LightGBM、XGBoost、CatBoost などの特別なライブラリは、さまざまな一般的な問題の解決に役立ちます。

LightGBMの特徴

  • 高速な計算能力により高い生産性を保証します。
  • インターフェースは直感的でユーザーフレンドリーです。
  • トレーニング速度は他のディープラーニングライブラリよりも高速です。
  • NaN 値やその他の正規化された値を計算するときにエラーが発生しにくくなります。

LightGBMの受け入れ

LightGBM は、高いスケーラビリティ、最適化、高速な勾配ブースティングにより、機械学習開発者、特にフルスタック エンジニアの間で人気があります。

7.エリ5

Eli5とは何ですか?

ほとんどの場合、機械学習モデルからの予測はあまり正確ではありませんが、Eli5 の組み込み Python 機械学習ライブラリはこれを克服するのに役立ちます。これは、すべての機械学習モデルの視覚化とデバッグを組み合わせたもので、アルゴリズムのすべてのステップをトレースできます。

Eli5の特徴

さらに、Eli5 は XGBoost、lighting、scikit-learn、sklearn-crfsuite などの他のライブラリをサポートし、それらのさまざまなタスクを実装できます。

Eli5 承認

  • 短時間で大量の計算を必要とする数学アプリケーションに適しています。
  • Eli5 は、他の Python パッケージとの依存関係がある場合に重要な役割を果たすことができます。
  • さまざまな分野で従来のアプリケーションだけでなく新しい方法も実装する能力。

8. サイパイ

SciPyとは何ですか?

SciPy は、アプリケーション開発者およびエンジニア向けの機械学習ライブラリです。 SciPy スタックとは異なり、SciPy ライブラリには最適化、線形代数、積分、統計のモジュールが含まれています。

SciPyの特徴

SciPy ライブラリの主な特徴は、開発に NumPy を使用しているため、その配列は NumPy の特性を最大限に活用していることです。さらに、SciPy は最適化、数値積分、その他の特殊なサブモジュールなどのモジュールを提供します。これらすべてのサブモジュールのすべての関数には、詳細なサポートドキュメントがあります。

SciPy の承認

SciPy は NumPy を使用して数学関数を解くライブラリであるため、SciPy は NumPy 配列を基本データ構造として採用し、科学プログラミングで使用される一般的なタスク用のさまざまなモジュールが付属しています。

SciPy は、線形代数、積分 (微積分)、常微分方程式の解、信号処理など、さまざまなタスクを簡単に処理できます。

9. テアノ

Theanoとは何ですか?

Theano は、Python で多次元配列を計算するために使用できる機械学習フレームワーク ライブラリです。 Theano は TensorFlow と同様に動作しますが、TensorFlow ほど効率的ではないため、本番環境にはあまり適していません。ただし、TensorFlow と同様に、Theano は分散環境または並列環境でも使用できます。

Theanoの特徴

  • NumPy との緊密な統合 - ユーザーは Theano コンパイルされた関数で NumPy 配列を完全に利用できます。
  • GPU を透過的に使用し、CPU よりも高速にデータ集約型の計算を実行します。
  • 効率的な記号微分 - Theano は、1 つ以上の入力が与えられた場合に関数の導関数を提供します。
  • 速度と安定性のために最適化 - x が非常に小さい場合でも、log(1+x) の正しい答えが得られます。
  • 動的 C コードを生成 - 式をより速く、より効率的に評価します。
  • 広範なユニット テストと自己検証 - モデル内のさまざまな種類のエラーを検出して診断する機能。

テアノの受け入れ

Theano 式の実際の構文は、後続の実際の計算を抽象的な意味で定義してコンパイルするだけなので、通常のソフトウェア開発に慣れている初心者にはあまり適していません。しかし、ディープラーニングを扱うために特に使用される場合、大規模なニューラルネットワークアルゴリズムに必要なさまざまな種類の計算が使用されます。さらに、Theano は 2007 年に開発されて以来、ディープラーニングの研究開発における業界標準と見なされています。

私たちは、Theano の人気が時間とともに高まると楽観的に予測しています。

10. パンダ

パンダとは何ですか?

Pandas は、高度なデータ構造とさまざまな分析ツールを提供する Python 機械学習ライブラリでもあります。 Pandas ライブラリの重要な機能は、1 つまたは 2 つのコマンドを使用してデータに対して複雑な操作と変換を実行できることです。 Pandas には、データ、フィルタリング、時系列関数など、グループ化メソッドが多数組み込まれています。

パンダの特徴

Pandas を使用すると、データを操作するプロセス全体が簡単になります。 Pandas の主な機能には、再インデックス、反復、ソート、集計、接続、視覚化操作のサポートが含まれます。

パンダの受け入れ

現在、Pandas ライブラリのさまざまなリリースは、主にバグ修正、機能強化、API の変更に重点を置いています。 Pandas の最新の改良により、データのグループ化と並べ替えが可能になりました。アプリケーションに適切な出力方法を選択し、さまざまなカスタムタイプの操作を実行するためのサポートを提供します。ユーザーは、データ分析のために Pandas を他のライブラリ ツールと併用することで、より高いパフォーマンスと柔軟性を実現できます。

原題: 2019 年に知っておくべき Python ライブラリ トップ 10、著者: Sayantini Deb

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  2019年に注目すべき9つのAIトレンド

>>:  AIを使って人の心を理解する?感情科学の専門家:表情から感情を識別するのは信頼できない

ブログ    
ブログ    

推薦する

...

...

大スキャンダル?国内のAI専門家数十人が参加した論文が重大な盗作の疑いで告発される

清華大学、北京大学、上海交通大学、テンセント、ファーウェイ、JD.com、バイトダンス、そして今最も...

改良された ResNet が Transformer を上回り、アーキテクチャの戦いが再燃します。著者は「革新はない」と述べた

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

Python で多層パーセプトロン ニューラル ネットワークを実装する

[[341199]]何かを学べない限り、車輪の再発明をしないでください。 TensorFlow、Py...

アリババが自社開発したAI推論チップがリリース、Hanguang 800は他のチップより10倍強力

[51CTO.comよりオリジナル記事] 9月25日、DAMOアカデミーの張建鋒学長は杭州雲奇カンフ...

インタビュー必読: 4 つの典型的な電流制限アルゴリズムの説明

[[402482]]最近、当社の業務システムは、トークン バケット アルゴリズムに基づいて実装された...

CLRNet: 自動運転における車線検出のための階層的改良ネットワーク アルゴリズム

車線は高レベルのセマンティクスを備えた交通標識であり、視覚ナビゲーション システムでは特に重要です。...

Stack OverflowがAI搭載製品「OverflowAI」を発表

スタックオーバーフローStack Overflow は、2008 年に設立された、プログラマー向けの...

職場におけるAIと自動化の重要性

AI は問題解決に新たな次元をもたらし、さまざまな業界の企業に利益をもたらします。 AI は、膨大な...

2021年チューリング賞発表:高性能コンピューティングの先駆者であり、TOP500スーパーコンピューティングリストの共同創設者であるジャック・ドンガラが受賞

丸一日待った後、ついに答えが明らかになりました!先ほど、2021年のチューリング賞が発表されました。...

我が国の独自開発OS micROSがリリースされました!このロボットの「心と脳」は単純ではない

9月10日、2019年世界コンピューター会議が湖南省で開催されました。中国科学院院士の楊学軍氏は、我...

人工知能は人々を失業させるだけでしょうか?マッキンゼーの調査と分析では、異なる答えが出ました。

AIへの追加投資は2030年までに雇用の5%に貢献し、創出される追加の富は労働需要を促進し、雇用を...

...

...