LoginSignup
0
0

More than 5 years have passed since last update.

SAS Viyaで回帰分析モデルを試す

Last updated at Posted at 2019-03-21

SAS Viyaでは様々なアクションセットが用意されており、データ分析を容易に行えるようになっています。今回はその一つ、回帰分析モデルを試す方法を紹介します。なお、この処理はSAS Viyaのデモアカウントでも行えますので、ぜひお試しください。

データのアップロード

元のデータは以下のURLに用意してあります。ダウンロードしてください。

そしてSAS ViyaのJupyter Notebookでアップロードします。

SAS Viyaへの接続

まずSAS Viyaに接続します。認証情報はあなたのものに書き換えてください。

cashost='localhost'
casport=5570
useremail='dev@sas.com'
userpassword='xxxxxxxxxxx'
casauth='~/.authinfo'
conn = CAS(cashost, casport, useremail, userpassword, caslib="casuser")

データの読み込み

次に先ほどアップロードしたデータを読み込みます。

cars = conn.upload('cars.csv').casTable

カラム情報は次のようになっています。

print(cars.columninfo());

出力結果です。

[ColumnInfo]

          Column  ID     Type  RawLength  FormattedLength  NFL  NFD
 0          Make   1  varchar         13               13    0    0
 1         Model   2  varchar         39               39    0    0
 2          Type   3  varchar          6                6    0    0
 3        Origin   4  varchar          6                6    0    0
 4    DriveTrain   5  varchar          5                5    0    0
 5          MSRP   6   double          8               12    0    0
 6       Invoice   7   double          8               12    0    0
 7    EngineSize   8   double          8               12    0    0
 8     Cylinders   9   double          8               12    0    0
 9    Horsepower  10   double          8               12    0    0
 10     MPG_City  11   double          8               12    0    0
 11  MPG_Highway  12   double          8               12    0    0
 12       Weight  13   double          8               12    0    0
 13    Wheelbase  14   double          8               12    0    0
 14       Length  15   double          8               12    0    0

+ Elapsed: 0.0014s, user: 0.001s, mem: 0.7mb

アクションセットを読み込む

回帰分析のアクションセットを読み込みます。

conn.loadactionset('regression')

モデルを作る

モデルを定義します。ターゲットと入力値を指定します。

cars.glm(
    target = 'MSRP',
    inputs = ['MPG_City']
)

モデルを次のように定義して、プロパティをセットすることもできます。

linear1 = cars.Glm()
linear1.target = 'MSRP';
linear1.inputs = ['MPG_City']
linear1()

分布をグラフ化する

ではデータを可視化してみます。まず取得するデータの定義です。

result1 = conn.CASTable('cas.MSRPPrediction2', replace=True)
linear1.output.casout = result1
linear1.output.pred = 'Predicted_MSRP'
linear1.output.resid = 'Residual_MSRP'
linear1.output.lcl = 'LCL_MSRP'
linear1.output.ucl = 'UCL_MSRP'
linear1()

次に出力設定です。

from bokeh.charts import Scatter, output_file, show
out1 = result1.to_frame()
p = Scatter(out1, x='Residual_MSRP', y='Predicted_MSRP', color='Origin', marker='Origin')
output_file('scatter.html')
show(p)

結果として、以下のようなグラフが得られるはずです。

Screenshot_ 2019-03-20 14.56.42.png

まとめ

データの分析、可視化は大変そうに感じますがSAS Viyaを使うことでストレスなく素早く可視化まで行えます。SAS for Developers | SASからデモアカウントを作れますので、ぜひお試しください。

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