7.3 グラフィックのレンダリング
OML4Pyには、データのグラフィック表示をレンダリングするための関数が用意されています。
oml.boxplot
およびoml.hist
関数は、ボックス・アンド・ウィスカー・プロットまたはヒストグラムを生成するために必要な統計をデータベース内で計算することで、スケーラビリティとパフォーマンスを向上させます。
OML4Pyは、matplotlib
ライブラリを使用して出力をレンダリングします。matplotlib.pyplot
のメソッドを使用して、作成されたイメージをカスタマイズし、matplotlib.pyplot.show
を使用してイメージを表示できます。デフォルトでは、レンダリングされたグラフィックのプロパティは、matplotlib.rcParams
に格納されているものと同じです。
oml.boxplot
およびoml.hist
関数のパラメータについては、help(oml.boxplot)
またはhelp(oml.hist)
を呼び出すか、Oracle Machine Learning for Python APIリファレンスを参照してください。
ボックス・プロットの生成
oml.boxplot
関数を使用して、xのそれぞれの列またはx内のそれぞれの列オブジェクトについてボックス・アンド・ウィスカー・プロットを生成します。
例7-13 oml.boxplot関数の使用方法
この例では、最初にsklearn
からwineデータセットをロードし、pandas.DataFrame
オブジェクトwine_data
を作成します。次に、wine_data
から一時データベース表とそれに対応するプロキシoml.DataFrame
オブジェクトoml_wine
を作成します。oml_wine
の8から12の範囲(12を含まない)の索引を持つそれぞれの列に基づいてボックス・アンド・ウィスカー・プロットを描画します。引数showmeans
およびmeanline
は、算術平均を表示し、平均をボックスの全幅にわたる線としてレンダリングするようにTrue
に設定します。引数patch_artist
は、ボックスがパッチ・アーティストで描画されるようにTrue
に設定します。
import oml
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
wine = datasets.load_wine()
wine_data = pd.DataFrame(wine.data, columns = wine.feature_names)
oml_wine = oml.push(wine_data)
oml.graphics.boxplot(oml_wine[:,8:12], showmeans=True,
meanline=True, patch_artist=True,
labels=oml_wine.columns[8:12])
plt.title('Distribution of Wine Attributes')
plt.show()
この例の出力は次のようになります。
図wine_boxplot.pngの説明
この図は、wineデータセットの4つの列(Proanthocyanins、Color intensity、HueおよびOD280/OD315 of diluted wines)それぞれに関するボックス・アンド・ウィスカー・プロットを示しています。ボックスはデータの下位四分位値から上位四分位値まで伸び、中央値にはオレンジ色の実線が表示されています。ボックスから伸びるウィスカーはデータの範囲を示しています。上限は、ウィスカーの終点にある横線です。フライヤまたは外れ値の点は、ウィスカーの終点を通り越したものです。平均は、各ボックスの幅にまたがる緑色の点線として表示されています。
ヒストグラムの生成
oml.hist
関数を使用して、xに含まれているそれぞれのデータセット列についてヒストグラムを計算して描画します。
例7-14 oml.hist関数の使用方法
この例では、最初にsklearn
からwineデータセットをロードし、pandas.DataFrame
オブジェクトwine_data
を作成します。次に、wine_data
から一時データベース表とそれに対応するプロキシoml.DataFrame
オブジェクトoml_wine
を作成します。次に、oml_wine
のproline列に基づいてヒストグラムを描画します。引数bins
では、10個の等幅ビンを生成することを指定します。引数color
では、棒を紫色で塗りつぶすことを指定します。引数linestyle
およびedgecolor
は、棒のエッジをピンク色の実線として描画するように設定します。
import oml
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
wine = load_wine()
wine_data = pd.DataFrame(wine.data, columns = wine.feature_names)
oml_wine = oml.push(wine_data)
oml.graphics.hist(oml_wine['proline'], bins=10, color='red',
linestyle='solid', edgecolor='white')
plt.title('Proline content in Wine')
plt.xlabel('proline content')
plt.ylabel('# of wine instances')
plt.show()
この例の出力は次のようになります。
図proline_hist_rw60.pngの説明
この図は、wineデータセットのProline列に関する従来の棒型のヒストグラムを示しています。proline値の範囲は、同じサイズの10個のビンに分割されています。各ビンの矩形の棒の高さは、各ビン内のワイン・インスタンスの数を示しています。棒は赤色で、エッジは白色の実線です。
親トピック: データの準備および探索