GitHubじゃ!Pythonじゃ!

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

reiinakano

scikit-plot – シキット学習オブジェクトにプロット機能を追加するための直感的なライブラリ

投稿日:

シキット学習オブジェクトにプロット機能を追加するための直感的なライブラリ。

Scikit-plotへようこそ

詳細な視覚化のための1行の関数

分析から行くための最も簡単で簡単な方法…

…これに…。

Scikit-plotは、 ビジュアライゼーションが 、単なる補足事項ではなく、データサイエンスプロセスにおける最も重要なコンポーネントの1つであるという、非独創的なデータ科学者の恐ろしい認識の結果です。

括弧で囲まれた数字の単一行のダンプではなく、クラスラベルで完成した混乱マトリックスの色付きヒートマップを見ていると、洞察を得るのが簡単です。 さらに、結果を誰かに提示する必要がある場合(事実上、誰かがあなたにデータサイエンスを依頼するときはいつでも)、それらをExcelで数値ではなく視覚的に表示できます。

つまり、機械学習では頻繁にポップアップする数多くの視覚化があります。 Scikit-plotは、(私自身のような)審美的に挑戦されたプログラマーに、できるだけ少年集典で素早く美しいグラフやプロットを生成する機会を提供する謙虚な試みです。

さて、それを証明してください。 私たちに例を示してください。

Naive Bayesをマルチクラス分類で使用し、共通の分類メトリックの結果を視覚化したいと考えると、受信者動作特性曲線の下の面積。 ROCはバイナリ分類でのみ有効であるため、各クラスのROCが正のクラスであればそれを表示する必要があります。 追加のボーナスとして、プロット内のミクロ平均とマクロ平均カーブを示してみましょう。

scikit-learnを使って、scikit-learnのサンプル数字データセットを使ってみましょう。

# The usual train-test split mumbo-jumbo
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
nb = GaussianNB()
nb.fit(X_train, y_train)
predicted_probas = nb.predict_proba(X_test)

# The magic happens here
import matplotlib.pyplot as plt
import scikitplot as skplt
skplt.metrics.plot_roc_curve(y_test, predicted_probas)
plt.show()

かなり。

以上です。 その小さな例では、 詳細な視覚化のための単一行の関数 Scikit-plotの全哲学が取り入れられています。 ドキュメントで利用可能なプロットをブラウズし、必要な引数を使って関数を呼び出します。 Scikit-Plotは可能な限りあなたの道を離れようとします。 不要な鐘や笛はありません。 また、鐘や笛必要なときは、各機能がプロット内のさまざまな要素をカスタマイズするための無数のパラメータを提供します。

最後に、 マルチクラスROC曲線をプロットする非スキットプロットの方法を比較し、 表示します。 どちらをやるの?

最大限の柔軟性。 非サイクリング学習オブジェクトとの互換性。

Scikit-plotは、scikit-learnインターフェイスをベースにしていますが、利用可能な関数を使用するにはScikit-learnオブジェクトは実際には必要ありません。 あなたが求めている機能を提供している限り、彼らはあなたに喜んでプロットを描画します。

ここでは、サンプルデータセットでKerasクラシファイアの精度リコールカーブを生成する簡単な例を示します。

# Import what's needed for the Functions API
import matplotlib.pyplot as plt
import scikitplot as skplt

# This is a Keras classifier. We'll generate probabilities on the test set.
keras_clf.fit(X_train, y_train, batch_size=64, nb_epoch=10, verbose=2)
probas = keras_clf.predict_proba(X_test, batch_size=64)

# Now plot.
skplt.metrics.plot_precision_recall_curve(y_test, probas)
plt.show()

ここで、 skplt.metrics.plot_precision_recall_curveは、地面真理値yとプロットを生成するための予測確率のみが必要であることが明確に分かります。 これにより、Keras NNからNLTK Naive Bayesまで、あなたが作成した画期的な分類アルゴリズムまで、分類子として必要なものを使用できます。

可能性は無限大。

インストール

インストールは簡単です! まず、 Scikit-learnMatplotlibがインストールされていることを確認してください。

それからちょうど実行する:

pip install scikit-plot

または、最新の開発バージョンが必要な場合は、このレポを複製して実行してください

python setup.py install

ルートフォルダに保存します。

condaを使用している場合は、以下を実行してScikit-plotをインストールできます。

conda install -c conda-forge scikit-plot

ドキュメントと例

Scikit-plotの全機能を調べてください。

詳細なドキュメントはこちらでご覧いただけます

例はこのレポのexamplesフォルダにあります

Scikit-plotに貢献する

バグを報告していますか? 機能を提案しますか? あなた自身のプロットをライブラリに追加したいですか? 寄稿者のガイドラインをご覧ください

シキットプロットを引用する

Scikit-plotを学術論文で使用していますか? あなたはすべきです! 審査員は目の保養が大好きです。

もしそうなら、DOIでScikit-plotを引用することを検討してください

APA

中野玲一郎。 (2017)。 reiinakano / scikit-plot:0.3.4 [データセット]。 ゼノドー。 http://doi.org/10.5281/zenodo.293191

IEEE

[1]中野玲一郎、「レイナカノ/シキットプロット:0.3.4」 Zenodo、201 2月19日。

ACM

[1]中野玲一郎2017年。りなかかの/シキットプロット:0.3.4。 ゼノドー。

ハッピープロット!







-reiinakano
-, , , , ,

執筆者: