Edited at

casTableでデータの相関関係を確認する

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

機械学習を用いる際に専用のテーブル(casTable)を用いますが、今回はそのテーブルオブジェクト(Python版)でデータの相関関係を確認する方法を紹介します。


テーブルの作り方

テーブルはCSV、HTML、他のデータベースなどから作れます。

out = sess.upload('Jupyter_Saved_Work/Data/iris.csv')

ファイルをアップロードした後、casTableとして取得します。

tbl = out.casTable


相関関係はCorrelationで確認できる

まず相関関係を取得できるオブジェクトを作ります。

cor1 = tbl.correlation()

さらにテーブルを取り出します。

cor1.get_tables('Correlation')

そうすると、以下のようにデータが返ってきます。同じデータ同士は 1.000000 ですが、他のデータについては相関が割合で表示されます。このデータを見るだけでも何となくデータの状態が見えてきます。

[Pearson Correlation Coefficients for IRIS

Variable SepalLength SepalWidth PetalLength PetalWidth
Name
Iris-setosa SepalLength 1.000000 0.746780 0.263874 0.279092
Iris-setosa SepalWidth 0.746780 1.000000 0.176695 0.279973
Iris-setosa PetalLength 0.263874 0.176695 1.000000 0.306308
Iris-setosa PetalWidth 0.279092 0.279973 0.306308 1.000000,
Pearson Correlation Coefficients for IRIS

Variable SepalLength SepalWidth PetalLength PetalWidth
Name
Iris-versicolor SepalLength 1.000000 0.525911 0.754049 0.546461
Iris-versicolor SepalWidth 0.525911 1.000000 0.560522 0.663999
Iris-versicolor PetalLength 0.754049 0.560522 1.000000 0.786668
Iris-versicolor PetalWidth 0.546461 0.663999 0.786668 1.000000,
Pearson Correlation Coefficients for IRIS

Variable SepalLength SepalWidth PetalLength PetalWidth
Name
Iris-virginica SepalLength 1.000000 0.457228 0.864225 0.281108
Iris-virginica SepalWidth 0.457228 1.000000 0.401045 0.537728
Iris-virginica PetalLength 0.864225 0.401045 1.000000 0.322108
Iris-virginica PetalWidth 0.281108 0.537728 0.322108 1.000000]

swat.concat を使うとデータをつなげて見られます。

swat.concat(cor1.get_tables('Correlation'))

| | Variable | SepalLength | SepalWidth | PetalLength | PetalWidth

|----|----|----|----|----

| Iris-setosa | SepalLength | 1.000000 | 0.746780 | 0.263874 | 0.279092

| Iris-setosa | SepalWidth | 0.746780 | 1.000000 | 0.176695 | 0.279973

| Iris-setosa | PetalLength | 0.263874 | 0.176695 | 1.000000 | 0.306308

| Iris-setosa | PetalWidth | 0.279092 | 0.279973 | 0.306308 | 1.000000

| Iris-versicolor | SepalLength | 1.000000 | 0.525911 | 0.754049 | 0.546461

| Iris-versicolor | SepalWidth | 0.525911 | 1.000000 | 0.560522 | 0.663999

| Iris-versicolor | PetalLength | 0.754049 | 0.560522 | 1.000000 | 0.786668

| Iris-versicolor | PetalWidth | 0.546461 | 0.663999 | 0.786668 | 1.000000

| Iris-virginica | SepalLength | 1.000000 | 0.457228 | 0.864225 | 0.281108

| Iris-virginica | SepalWidth | 0.457228 | 1.000000 | 0.401045 | 0.537728

| Iris-virginica | PetalLength | 0.864225 | 0.401045 | 1.000000 | 0.322108

| Iris-virginica | PetalWidth | 0.281108 | 0.537728 | 0.322108 | 1.000000


機械学習のネットワークを組む前に一度軽くデータの相関関係を確認することで見えるものもあるでしょう。 Correlation は使いどころの多そうなメソッドなので覚えておくと便利です。

SAS for Developers | SAS