LoginSignup
0
0

More than 5 years have passed since last update.

casTableのサマリーをグラフ化する

Posted at

SAS ViyaはAIプラットフォームになります。Webブラウザ上で機械学習の設計、実行ができるStudioという環境も用意されていますが、開発者はプログラミングコードで開発することも可能です。プログラミング言語はJava/Python/R/SASが選べます。

機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルのサマリーを表示した際の各値の意味を解説します。

今回はステップバイステップでデータをグラフ化する流れを紹介します。

データを取り込む

今回使うのは organics.sas7bdat です。年齢、性別ごとに健康状態などが入ったデータです。まずこのデータを読み込みます。

organics = sess.upload('organics.sas7bdat')

データを確認します。

organics.casTable.summary()
Column Min Max N NMiss Mean Sum Std StdErr Var USS CSS CV TValue ProbT Skewness Kurtosis
0 DOB -15266.00 7190.00 22223.0 0.0 -5877.324574 -1.306118e+08 4825.522949 32.370026 2.328567e+07 1.285102e+12 5.174542e+11 -82.104075 -181.566881 0.0 0.077679 -0.849240
1 EDATE 13933.00 13933.00 22223.0 0.0 13933.000000 3.096331e+08 0.000000 0.000000 0.000000e+00 4.314117e+12 0.000000e+00 0.000000 NaN NaN NaN NaN
2 AGE 18.00 79.00 20715.0 1508.0 53.797152 1.114408e+06 13.206048 0.091755 1.743997e+02 6.356449e+07 3.612516e+06 24.547858 586.312118 0.0 -0.079830 -0.843893
3 LCDATE -21914.00 13846.00 21942.0 281.0 11644.613937 2.555061e+08 2317.765457 15.647011 5.372037e+06 3.093138e+12 1.178679e+11 19.904185 744.206937 0.0 -7.631565 98.238337
4 ORGANICS 0.00 3.00 22223.0 0.0 0.294740 6.550000e+03 0.562831 0.003776 3.167786e-01 8.970000e+03 7.039455e+03 190.958650 78.066014 0.0 2.021011 4.245531
5 BILL 0.01 296313.85 22223.0 0.0 4420.590041 9.823877e+07 7559.047522 50.706745 5.713920e+07 1.704021e+12 1.269747e+12 170.996348 87.179527 0.0 8.037186 184.871517
6 ORGYN 0.00 1.00 22223.0 0.0 0.247716 5.505000e+03 0.431696 0.002896 1.863613e-01 5.505000e+03 4.141322e+03 174.270256 85.541739 0.0 1.168908 -0.633711
7 AFFL 0.00 34.00 21138.0 1085.0 8.711893 1.841520e+05 3.421125 0.023531 1.170409e+01 1.851702e+06 2.473894e+05 39.269588 370.233401 0.0 0.891684 2.096860
8 LTIME 0.00 39.00 21942.0 281.0 6.564670 1.440420e+05 4.657113 0.031440 2.168870e+01 1.421460e+06 4.758717e+05 70.942063 208.801826 0.0 2.282790 8.077622

一部のデータを取り出し

表示に利用するデータだけに絞り込みます。

varlist = ['Age', 'BILL', 'ORGYN']
result = organics.casTable.summary(input=varlist)

各データのサマリーを取り出します。

df = result['Summary']

そしてサマリーの中でも必要なデータだけを指定します。今回はMin、MeanそしてMaxの3つです。

df.index = df['Column']
stackedDf = df[['Min', 'Mean', 'Max']].stack()

出力すると次のようになります。

print(stackedDf)

各カラムにおけるMin、Mean、Max値だけが抽出されます。

Column      
AGE     Min         18.000000
        Mean        53.797152
        Max         79.000000
BILL    Min          0.010000
        Mean      4420.590041
        Max     296313.850000
ORGYN   Min          0.000000
        Mean         0.247716
        Max          1.000000
dtype: float64

ビジュアル化する

このデータをグラフ化するのに使えるのが bokeh.charts になります。

from bokeh.charts import Bar, output_file, show

棒グラフの準備をします。

p = Bar(df, 'Column', 
  values='Mean',
  color='#1f77b4',
  agg='mean',
  title='',
  xlabel='',
  ylabel='Frequency'
)

そしてファイルを用意して出力します。

output_file('visual1.html')
show(p)

これでグラフが確認できるはずです。

graph1.png


サマリーをグラフ化する際には上記の手順でできるはずです。大量のデータをすべて閲覧するのは大変ですが、トレンドを掴むのであればサマリーを使うのが良いでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0