Weitere ähnliche Inhalte
Ähnlich wie Rでpgxを使う (20)
Kürzlich hochgeladen (11)
Rでpgxを使う
- 1. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
R で PGX を使う
日本オラクル株式会社
武井美緒
2016年12月20日
- 2. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むこと
はできません。以下の事項は、マテリアルやコード、機能を提供することをコ
ミットメント(確約)するものではないため、購買決定を行う際の判断材料にな
さらないで下さい。オラクル製品に関して記載されている機能の開発、リリース
および時期については、弊社の裁量により決定されます。
Oracle と Java は、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国に
おける登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
2
- 3. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
自己紹介
3
名前:武井 美緒(たけい みお)
所属:日本オラクル株式会社
クラウド・テクノロジーコンサルティング事業本部
担当:Analytics関連製品担当
(Oracle R Enterprise,Oracle Data Miner…)
機械学習についてのトレーニングやデータ分析の技術支援を実施
- 4. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
R で PGX を使う
4
PGX release 2.3.0(現在は2.2.1)ではRからPGXを実行できます!
利用のために必要なもの
■PGX:PGX release 2.3.0
■R:ORE(Oracle R Enterprise)
■Rパッケージ:
-OAAgraph
-rJava(Third-Party Packages)
- 5. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
念のため・・・Rとは?
5
・統計とデータサイエンスにおいて広く利用されているオープンソースのプログラミング言語と
その実行環境
・ベクトルを主なデータ構造とし、最小限の労力で統計解析を可能にする
・豊富なデータセット集
・活発なコミュニティによるサードパーティライブラリの充実
・統計解析に必要な多数の高水準組み込み関数
・視覚化に優れたグラフ機能
- 6. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
・Oracle DatabaseのオプションであるAdvanced Analyticsのコンポーネントの1つ
・Oracle Databaseと統合するためのRパッケージおよびOracle Databaseの機能のセット
・RユーザはSQLを使用せずにOracle Databaseにアクセスすることができ、サーバ上の埋め込み
Rエンジン上でRスクリプトを実行できるため、大規模データの統計解析にも対応できる。
・データの移動を排除し、データベースサーバ上でデータの準備・モデルの構築・Rオブジェクト
の保存/管理ができるため、クライアントPCのメモリ制約を回避できる。
Database Server
R Engine
Other R packages
Oracle R Enterprise
packages
R
Client
Spawned R Engine
Other R packages
Oracle R Enterprise
packages
SQL
結果 結果
OREとは・・・?
- 7. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
7
「はじめようPGX」で実行していたヒーローのグラフを使ってRからPGXを実行
してみる
今回は次数中心性をRから実行
抜粋:
Oracle Labs 発!
Parallel Graph Analytics(PGX)
- 8. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
8
さっそくやってみる①
#必要なライブラリの読み込み
>require(rJava)
>require(OAAgraph)
#PGXサーバーへ接続
>oaa.graphConnect(pgxBaseUrl = "http://192.168.56.102:7007")
#ヒーローのグラフをロード(有効グラフとして読み込み※)
>graph <- oaa.graph(jsonPath = "/home/oracle/work/pgx/pgx_data/hero-
network.json")
※そのため「Oracle Labs 発! Parallel Graph Analytics(PGX) 」の資料の結果と異なります
- 9. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
9
さっそくやってみる②
#前処理の実施
>graph <- oaa.simplify(graph, keepMultiEdges = FALSE, keepSelfEdges = FALSE,
keepTrivialNodes = FALSE, createCopy = TRUE, name = NULL)
#取り込んだグラフの確認
>print(graph)
Graph Name: hero-network_sub-graph_1
Number of Nodes: 6426
Number of Edges: 224169
Persistent Graph: FALSE
Node Properties:
Edge Properties:
- 10. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
10
さっそくやってみる③
#次数中心性のアルゴリズムの実行
> c1 <- degree(graph, name ="INDEGREE", mode="In")
#次数中心性の結果をRで分析するための準備
> cursor <- oaa.cursor(graph, c("INDEGREE"))
#Rのデータフレーム型としてデータを取得(全ノードのデータを取得)
>df <- oaa.next(cursor,graph$num_nodes)
- 11. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
11
さっそくやってみる④
#データの確認
>head(df)
INDEGREE
LITTLE, ABNER 15
BLACK PANTHER/T'CHAL 487
STEELE, SIMON/WOLFGA 9
RAVEN, SABBATH II/EL 8
IRON MAN IV/JAMES R. 326
IRON MAN/TONY STARK 1106
- 12. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
12
Rのデータフレーム型になれば可視化もおてのもの
#データフレームに列を追加、次数中心性の値が大きい順にソートし30件を抽出
>df$name <- row.names(df)
>df <- head(df[order(-df$INDEGREE),],n=30)
#棒グラフを表示
> par(mai = c(2, 0.68, 0.1, 0.35))
> barplot(df$INDEGREE,las=2,names.arg=df$name,cex.names=0.8)
- 13. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RからPGXを実行!
13
Rのデータフレーム型になれば可視化もおてのもの
- 14. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
おわりに
14
RからPGXを実行できます!
Rから実行することで、PGXで実施した結果を簡単に可視化、さらなる分析の実
施を一連の流れの中で実施できるためとても便利になります。