SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
bnlearnパッケージの紹介

    2013/02/23 (土)
  第29回R勉強会 #TokyoR
     Kentaro Taguchi
自己紹介
• 背景 経営工学
• 仕事 データマイニング
• 趣味 unityの勉強




                2
目次
1.   目標
2.   データ入手
3.   bnlearnの使用
4.   分析結果




                  3
1.目標
bnlearn (Bayesian network learning and
inference)パッケージによるベイジアンネット
ワークの作成

• 題材
  映画タイトルのツイート分析



                                         4
2.データ入手


ツイート1000件×3タイトルを取得




           http://www.tweetarchivist.com/




                                            5
MeCab,RMeCabのインストール
• 和布蕪(MeCab)
日本語形態素解析ソフト

• RMeCab
R からMeCabを呼び出して使うインターフェイス

MeCabのインストールと解説 石田基広氏
http://rmecab.jp/wiki/

                            6
MeCabで形態素解析
data1 = read.csv(“twitter.csv”, header=TRUE) # CSVファイル読み込み
library(RMeCab) # RMeCab読み込み
res <- RMeCabDF(data1, 2) # 出現頻度の高い形容詞に絞り込み
head(res) # 内容の確認




                                                             7
ターム・文書行列を作成

res <- docMatrixDF(data1[,"text"], pos=c("形容詞"), minFreq=20) # 出現頻度
の高い形容詞を指定




                       ツイート1 ツイート2 ・・・ ツイートn
             ターム1
             ターム2
                                頻度
               ・・・

             タームm


                                                                      8
形容詞の出現頻度

res <- t(res) # 転置
head(res) # 内容の確認




                     9
離散変数に変換
res2 <- res>=1 # 1回以上出現しているならばTRUE
head(res2) # 内容の表示
data2 <- data.frame(data1$title, res2) # タイトルと結合




                                                   10
3.bnlearnの使用
• bnlearn
ベイジアンネットワークのグラフ作成,パラメータ推定


install.packages(“bnlearn”) # bnlearnのインストール
source(“http://bioconductor.org/bioLite.R”) # パッケージのurl指定
bioLite(“Rgraphviz”) # グラフ表示用パッケージのインストール



情報元サイト
http://www.bnlearn.com




                                                            11
空のグラフ作成
library(bnlearn) # パッケージの読み込み
e = empty.graph(LETTERS[1:12]) # ノード12個の空のグラフを作成
plot(e) # グラフを表示




                                                   12
エッジを追加
arc.set = matrix(c(“A”, “B”, “A”, “C”, ... , “A”, “L”), ncol = 2, byrow = TRUE) #
エッジを指定
arcs(e) = arc.set # 空のグラフにエッジを追加
plot(e) # グラフを表示




                                                                                    13
データを再度加工
head(data3) # 内容の表示


• numeric型かfactor型に統一しておく必要がある
• 「いい」「良い」などが混ざっていたので,頻度の多いほうを採用




                              14
パラメータ推定
fit <- bn.fit(e, data3) # 最尤法によるパラメータ推定
fit # 内容の表示




                     条件付き確率




                                          15
棒グラフの表示
bn.fit.barchart(fit$B) # 棒グラフの表示




                                   16
4.分析結果
                               いい
                        0.09

             欲しい        0.08              かわいい
                        0.07
                        0.06
                        0.05

  面白い                   0.04                      ない
                        0.03
                        0.02
                        0.01                             T
                          0                              D
                                                         B
  怖い                                               やばい




        早い                                   悪い




                   凄い               楽しい



                                                         17
ベイジアンネットワークの事例




         http://www.bnlearn.com/bnrepository/
                                       18

Más contenido relacionado

Similar a Bnlearn tokyo r29th

テーブル・テキスト・画像の反実仮想説明
テーブル・テキスト・画像の反実仮想説明テーブル・テキスト・画像の反実仮想説明
テーブル・テキスト・画像の反実仮想説明tmtm otm
 
データとは何か
データとは何かデータとは何か
データとは何かKenta Suzuki
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017wada, kazumi
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#信之 岩永
 
13.01.20. 第1回DARM勉強会資料#4
13.01.20. 第1回DARM勉強会資料#413.01.20. 第1回DARM勉強会資料#4
13.01.20. 第1回DARM勉強会資料#4Yoshitake Takebayashi
 
TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#ta2c
 
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノートWataru Shito
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Ken Morishita
 
KETpic できれいな図を書こう
KETpic できれいな図を書こうKETpic できれいな図を書こう
KETpic できれいな図を書こうYoshitomo Akimoto
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Yuto Takei
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開Seiya Tokui
 
Stan勉強会資料(前編)
Stan勉強会資料(前編) Stan勉強会資料(前編)
Stan勉強会資料(前編) daiki hojo
 
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章Haruki Eguchi
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806swkagami
 
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定(文献紹介)深層学習による動被写体ロバストなカメラの動き推定
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定Morpho, Inc.
 
Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takminTakuya Minagawa
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 

Similar a Bnlearn tokyo r29th (20)

テーブル・テキスト・画像の反実仮想説明
テーブル・テキスト・画像の反実仮想説明テーブル・テキスト・画像の反実仮想説明
テーブル・テキスト・画像の反実仮想説明
 
データとは何か
データとは何かデータとは何か
データとは何か
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#.NET Core 2.x 時代の C#
.NET Core 2.x 時代の C#
 
13.01.20. 第1回DARM勉強会資料#4
13.01.20. 第1回DARM勉強会資料#413.01.20. 第1回DARM勉強会資料#4
13.01.20. 第1回DARM勉強会資料#4
 
TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#
 
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 2.講義ノート
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
KETpic できれいな図を書こう
KETpic できれいな図を書こうKETpic できれいな図を書こう
KETpic できれいな図を書こう
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
Stan勉強会資料(前編)
Stan勉強会資料(前編) Stan勉強会資料(前編)
Stan勉強会資料(前編)
 
Tokyo r7 sem_20100724
Tokyo r7 sem_20100724Tokyo r7 sem_20100724
Tokyo r7 sem_20100724
 
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定(文献紹介)深層学習による動被写体ロバストなカメラの動き推定
(文献紹介)深層学習による動被写体ロバストなカメラの動き推定
 
Sakashita
SakashitaSakashita
Sakashita
 
Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takmin
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 

Bnlearn tokyo r29th