GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

altair-viz

altair – Pythonの宣言型統計可視化ライブラリ

投稿日:

Pythonの宣言型統計可視化ライブラリ https://altair-viz.github.io/

アルテア

Altairは、Python用の宣言型統計可視化ライブラリです。

Altairは、 Jake VanderplasBrian Grangerによって、 UW Interactive Data Labと密接に協力して開発されました。

Altairを使用すると、データとその意味を理解するのに多くの時間を費やすことができます。 AltairのAPIはシンプルでフレンドリーで一貫性があり、強力なVega-Lite JSON仕様の上に構築されています。 このエレガントでシンプルでシンプルで、最小限のコードで美しく効果的な視覚化を実現します。

Altairのドキュメント

注:Altairのドキュメントは現在、非常に不完全な形式です。 私たちはより包括的な文書を作成しています。 乞うご期待!

Altairのドキュメントサイト 、Altairのチュートリアルノートブックを参照してください。

Altairを使用して、JupiterノートブックのネイティブVega-Liteレンダラでデータセットをすばやく視覚化して表示する例を示します。

import altair as alt

# Uncomment/run this line to enable Altair in JupyterLab/nteract:
# alt.enable_mime_rendering()

# load data as a pandas DataFrame
cars = alt.load_dataset('cars')

alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
)

統計的視覚化のためのPython API

Altairは、統計的視覚化を宣言的に構築するためのPython APIを提供しています。 統計的可視化とは、

  • データソースは、さまざまなデータタイプ(量的、序数、名目、日付/時刻)の列で構成されるDataFrameです。
  • DataFrameは、行がサンプルに対応し、列が観測変数に対応するきちんとした形式です。
  • データは、グループ・バイ・データ変換を使用して視覚特性 (位置、色、サイズ、形状、ファセットなど)にマッピングされます。

Altair APIには、実際の可視化レンダリングコードは含まれていませんが、代わりにVega-Lite仕様に従ってJSONデータ構造が生成されます。 結果のVega-Lite JSONデータは、次のユーザーインターフェイスでレンダリングできます。

特徴

  • Traitletsに基づいて慎重に設計された、宣言的なPython API。
  • ビジュアライゼーションがタイプチェックされ、 Vega-Lite仕様に完全に準拠していることを保証する自動生成の内部Python API。
  • Vega-Lite JSON仕様からAltair Pythonコードを自動生成します。
  • ライブJupyter Notebook、JupyterLab、nteract、GitHubおよびnbviewerの視覚化を表示します。
  • ビジュアライゼーションをPNG / SVGイメージ、スタンドアロンHTMLページ、 オンラインVega-Liteエディタにエクスポートします。
  • 視覚化をJSONファイルとしてシリアル化します。
  • Example Galleryで数多くのサンプルを使ってAltairを紹介

インストール

:Altairバージョン2.0にはPython 3.5以降が必要です。 現在、Python 2では動作しません。

視覚化のためにAltairを使用するには、2組のツールをインストールする必要があります

  1. コアAltairパッケージとその依存関係

  2. 使用したいフロントエンドのレンダラ( Jupyter NotebookJupyterLab 、またはnteract

Altairは、 pipまたはcondaいずれかと一緒にcondaことができます。 完全なインストール手順については、 https://altair-viz.github.io/getting_started/installation.htmlを参照してください。

サンプルノートとチュートリアルノート

インタラクティブなチュートリアルとサンプルを含むJupyter NotebookのGithubリポジトリを別に用意しています:

https://github.com/altair-viz/altair_notebooks

バインダーを使用しているノートブックでライブノートサーバーを起動するには、次のバッジをクリックします。

プロジェクト哲学

多くの優れたプロットライブラリがPythonに存在します。

各図書館は、特定のセットをうまく処理します。

ユーザーの課題

しかし、そのようなオプションの普及は、これらのAPIのどれが現在の課題に最適であるかを見つけるために、これらのAPIをすべて調べなければならないため、ユーザーにとって大きな困難を招いています。 これらのライブラリはいずれも、高水準の統計的視覚化に最適化されていないため、ユーザーはAPIを使用して独自のアセンブリを作成する必要があります。 データサイエンスを学ぶだけの人にとっては、データを調べるのではなく、APIの学習に専念する必要があります。

もう1つの課題は、現在のプロットAPIが、たとえビジュアライゼーションの付随的な詳細の場合でも、ユーザーがコードを記述する必要があることです。 これは、関心のある列やそれらの列のデータ型などの基本情報を使用して、視覚化のタイプ(ヒストグラム、散布図など)を推論することができるので、不幸で不必要な認知的負担につながります。

たとえば、2つの数値カラムの視覚化に興味がある場合は、散布図がほぼ確実に出発点になります。 カテゴリの列を追加する場合は、色やファセットを使用してその列をエンコードすることをお勧めします。 可視化を推測することが困難であると判明した場合、単純なユーザインタフェースは、コーディングなしで視覚化を構築することができる。 TableauInteractive Data Labの PolestarVoyagerは、そのようなUIの優れた例です。

設計手法と解決策

私たちは、プログラム上のAPIと組み込みのレンダリングを備えたもう1つのビジュアライゼーションライブラリを作成しなければ、これらの課題に対処できないと考えています。 Altairのビジュアライゼーション構築手法は、既存のビジュアライゼーションライブラリのすべての機能を活用するレイヤードデザインを使用します。

  1. 純粋に宣言的な制約のある単純なPython API(Altair)を作成する
  2. Vega-Lite仕様に従ったJSON出力を出力するには、API(Altair)を使用します。
  3. 既存の可視化ライブラリを使用してその仕様をレンダリングする

このアプローチを使用すると、はるかに単純なAPIを使用して探索的な視覚化を実行し、そのユースケースに対して適切なレンダラーを選択し、そのレンダラーのすべての機能を活用して高度なプロットのカスタマイズを行うことができます。

宣言的なAPIは、Matplotlib、Bokehなどの完全なプログラムAPIと比べて必然的に制限されることになります。これは、探索的視覚化のユーザーエクスペリエンスを簡素化するために必要と思われる意図的な設計選択です。

開発インストール

Altairには次の依存関係が必要です。

リポジトリをクローンしている場合は、リポジトリのルートから次のコマンドを実行します。

pip install -e .

リポジトリを複製したくない場合は、次のコマンドを使用してインストールできます。

pip install git+https://github.com/altair-viz/altair

テスト

テストスイートを実行するには、 py.testがインストールされている必要があります。 テストを実行するには、以下を使用します。

py.test --pyargs altair

(ソースチェックアウトからテストを実行している場合は、 – --pyargsフラグを省略できます)。

フィードバックと貢献

AltairのGitHubリポジトリからの入力、フィードバック、バグレポート、寄稿を歓迎します 特に、AltairがVega-Lite仕様を出力するために、他の可視化ライブラリからの仲間の努力を歓迎します。 この部分をAltair自身よりも大きく見ています。VegaとVega-Liteの仕様は、おそらく、データ視覚化の原則的な単一言語フランス語のための最も良い既存の候補です。

JupiterのノートブックベースのサンプルをGitHubリポジトリ( https://github.com/altair-viz/altair_notebooks)に追加して寄稿したいと考えています。

いつアルテア?

Altairは星座Aquilaの中で最も明るい星で、DenebとVegaと共に、 Summer Triangleとして知られる北半球の星座を形成します。







-altair-viz

執筆者: