SAS ViyaはAIプラットフォームになります。Webブラウザ上で機械学習の設計、実行ができるStudioという環境も用意されていますが、開発者はプログラミングコードで開発することも可能です。プログラミング言語はJava/Python/R/SASが選べます。
機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルオブジェクト(Python版)で取得できるデータについて解説します。
テーブルの作り方
テーブルはCSV、HTML、他のデータベースなどから作れます。
out = sess.upload('Jupyter_Saved_Work/Data/iris.csv')
ファイルをアップロードした後、casTableとして取得します。
iris = out.casTable
テーブル情報
テーブル情報は tableInfo メソッドで確認できます。
iris.tableInfo()
Name | Rows | Columns | IndexedColumns | Encoding | CreateTimeFormatted | ModTimeFormatted | AccessTimeFormatted | JavaCharSet | CreateTime | ... | Global | Repeated | View | SourceName | SourceCaslib | Compressed | Creator | Modifier | SourceModTimeFormatted | SourceModTime |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | IRIS | 150 | 5 | 0 | utf-8 | 2018-10-10T00:50:58-04:00 | 2018-10-10T00:50:58-04:00 | 2018-10-10T00:50:58-04:00 | UTF8 | 1.854766e+09 | ... | 0 | 0 | 0 | 0 | dev@sas.com | 2018-10-10T00:50:57-04:00 |
テーブルのオーナー情報は userinfo で取得できます。
iris.userinfo()
{
'userId': 'dev@sas.com',
'providedName': 'dev@sas.com',
'uniqueId': 'dev@sas.com',
'groups': [
'sas',
'openid',
'_PDC_pdcesx13111'
],
'providerName': 'OAuth/External PAM',
'anonymous': False,
'hostAccount': True,
'guest': False
}
データ概要を確認
データの内容をざっと確認したい時には summary メソッドを使います。
iris.summary()
Column | Min | Max | N | NMiss | Mean | Sum | Std | StdErr | Var | USS | CSS | CV | TValue | ProbT | Skewness | Kurtosis |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | SepalLength | 4.3 | 7.9 | 150.0 | 0.0 | 5.843333 | 876.5 | 0.828066 | 0.067611 | 0.685694 | 5223.85 | 102.168333 | 14.171126 | 86.425375 | 3.331256e-129 | 0.314911 |
1 | SepalWidth | 2.0 | 4.4 | 150.0 | 0.0 | 3.054000 | 458.1 | 0.433594 | 0.035403 | 0.188004 | 1427.05 | 28.012600 | 14.197587 | 86.264297 | 4.374977e-129 | 0.334053 |
2 | PetalLength | 1.0 | 6.9 | 150.0 | 0.0 | 3.758667 | 563.8 | 1.764420 | 0.144064 | 3.113179 | 2583.00 | 463.863733 | 46.942721 | 26.090198 | 1.994305e-57 | -0.274464 |
3 | PetalWidth | 0.1 | 2.5 | 150.0 | 0.0 | 1.198667 | 179.8 | 0.763161 | 0.062312 | 0.582414 | 302.30 | 86.779733 | 63.667470 | 19.236588 | 3.209704e-42 | -0.104997 |
同様に describe メソッドはデータが縦に確認できます。
iris.describe()
SepalLength | SepalWidth | PetalLength | PetalWidth |
---|---|---|---|
count | 150.000000 | 150.000000 | 150.000000 |
mean | 5.843333 | 3.054000 | 3.758667 |
std | 0.828066 | 0.433594 | 1.764420 |
min | 4.300000 | 2.000000 | 1.000000 |
25% | 5.100000 | 2.800000 | 1.600000 |
50% | 5.800000 | 3.000000 | 4.350000 |
75% | 6.400000 | 3.300000 | 5.100000 |
max | 7.900000 | 4.400000 | 6.900000 |
カラムの確認
カラムがどう読み込まれたかは columninfo で確認します。
iris.columninfo()
Column | ID | Type | RawLength | FormattedLength | NFL | NFD |
---|---|---|---|---|---|---|
0 | SepalLength | 1 | double | 8 | 12 | 0 |
1 | SepalWidth | 2 | double | 8 | 12 | 0 |
2 | PetalLength | 3 | double | 8 | 12 | 0 |
3 | PetalWidth | 4 | double | 8 | 12 | 0 |
4 | Name | 5 | varchar | 15 | 15 | 0 |
データを閲覧する
データの閲覧は fetch メソッドを使います。 to を指定して件数を制限できます。
iris.fetch(to=3)
SepalLength | SepalWidth | PetalLength | PetalWidth | Name |
---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 |
1 | 4.9 | 3.0 | 1.4 | 0.2 |
2 | 4.7 | 3.2 | 1.3 | 0.2 |
カラム情報
テーブルに存在するカラムは columns プロパティを使って確認します。
iris.columns
Index([
'SepalLength',
'SepalWidth',
'PetalLength',
'PetalWidth',
'Name'
], dtype='object')
さらに型を知りたい場合は dtypes を使います。
iris.dtypes
SepalLength double
SepalWidth double
PetalLength double
PetalWidth double
Name varchar
dtype: object
info を使うと多くの情報が確認できます。
iris.info()
CASTable('IRIS', caslib='CASUSER(dev@sas.com)')
Data columns (total 5 columns):
N Miss Type
SepalLength 150 False double
SepalWidth 150 False double
PetalLength 150 False double
PetalWidth 150 False double
Name 150 False varchar
dtypes: double(4), varchar(1)
data size: 9200
vardata size: 2000
memory usage: 9232
解析を行う際にはテーブルの内容を確認しながら行っていくと思います。これらのメソッドが役立つ場面は多いと思いますので、ぜひ覚えておいてください。