Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@ViyaDev

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

More than 1 year has passed since last update.

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からデモアカウントを作れますので、ぜひお試しください。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?