SlideShare una empresa de Scribd logo
1 de 23
第14回AIツール入門講座
「Google Colaboratoryによる
ネットワーク分析入門」
2019年5月23日(木)13:00-17:00
村田剛志 (東京工業大学)
本日の資料について
• スライド・コードは以下のサイトに公開
• https://github.com/atarum/20190523
• GitHubのアカウントがなくてもOK
本日のねらい
• 本AIツール入門では、Google Colaboratory上で、Pythonベー
スのネットワーク分析ツールであるNetworkXを用いて、ネッ
トワークを分析するための基礎知識を習得することを目標とし
ます。Google Colaboratoryで実行できるプログラムの実例を示
し、手を動かしながら理解を深められる内容とします。最終的
には自力で小規模のネットワークの分析ができるようになるこ
とを目標とします。
• http://www.ai-
gakkai.or.jp/no14_jsai_tool_introductory_course/
本当のねらい
• 後期開講の大学院講義「Complex Networks」を自分の研究室
の学生さん向けに4-5月にやりたい
• ネットワーク分析(データサイエンス)のための(モダンな)道具
の整備
• 自分の本の宣伝
注意事項
• 参加者はノートパソコンを持参して下さい。またGoogleアカウ
ントを用意して下さい。
• 当日にネットワーク接続ができるよう準備をしておいて下さい。
大学関係の方はeduroamで無線LAN接続ができます。それ以外
の方は、Wi2 (https://wi2.co.jp/jp/) などの無線LANサービス
を使用できるようにしておいて下さい。
• ブラウザはChromeまたはFirefoxを準備して下さい。
今日のスケジュール
• 13:00-14:10
• 1. Google Colaboratory入門:機械学習やデータサイエンスの環境であるGoogle
Colaboratoryについて説明します。
• 2. ネットワーク分析・可視化の具体例:NetworkXやmatplotlibを用いてネットワー
クを入力、分析、可視化して出力するやり方について説明します。
• 14:25-15:35
• 3. ネットワークの特徴量:中心性、クラスタ係数、次数分布など、ネットワークの
性質を理解する上で必要な特徴量について説明します。
• 4. ネットワークアルゴリズム:経路探索やコミュニティ抽出など、ごく基本的なア
ルゴリズムについて説明します。
• 15:50-17:00
• 5. ネットワーク生成モデル:スケールフリー、スモールワールドなどのネットワー
ク生成モデルについて説明します。
• 6. ネットワーク上の情報伝搬:SIRなどの感染モデルや、そのシミュレーションにつ
いて説明します。
sli.doでの質問
• https://www.sli.do/
• #〇〇〇〇(4桁の数字)を入力
• 今日だけ使える掲示板です
• 質問を掲示板に書けます(匿名でも可)
• 他の人の質問を自分も聞きたいときは「いいね」ボタンを
• (すみませんが、全ての質問には対応できないかも知れません)
学ぶ内容
特徴量
モデル プロセス
アルゴリズム
学ぶ内容
特徴量
モデル プロセス
アルゴリズム
パス長、密度、直径、時数分
布、クラスタ係数、 …
ダイクストラ法、グラフ分割、
中心性の計算、 …
ランダムネットワーク、ス
ケールフリーネットワーク、
スモールワールドネットワー
ク、べき法則、configuration
model、…
口コミ/病気の伝搬、影響最大
化、SI model、SIR model、
…
参考文献 (1)
• Networks (second edition), Mark Newman, Oxford University
Press, 2018.
参考文献 (2)
• Networks, Crowds, and Markets: Reasoning About a Highly
Connected World, David Easley and Jon Kleinberg,
Cambridge University Press, 2010.
• http://www.cs.cornell.edu/home/kleinber/networks-book/
• (邦訳)ネットワーク・大衆・マーケット, 浅野孝夫、浅野泰仁 訳 共立
出版, 2013.
• Network Science, Albert-Laszlo Barabasi, Cambridge
University Press, 2016.
• http://networksciencebook.com/
• (邦訳)ネットワーク科学, 池田裕一, 井上寛康, 谷澤俊弘 訳, 共立出版
2019.
参考文献 (3)
• Networks: A Very Short Introduction, Guido Caldarelli,
Michele Catanzaro, Oxford University Press, 2012.
• (邦訳)ネットワーク科学, 高口太朗 訳, 丸善出版, 2014.
• 複雑ネットワーク, 増田直紀, 今野紀雄, 近代科学社, 2010.
• ネットワーク分析 第2版, 鈴木努, 共立出版, 2017.
参考文献 (4)
• Complex Network Analysis in Python, Dmitry Zinoviev,
Pragmatic Bookshelf, 2018.
• Practical Social Network Analysis with Python, Krishna
Raj P.M., Ankith Mohan, K.G. Srinivasa, Springer, 2019.
参考文献 (5)
• PythonユーザのためのJupyter[実践]入門, 池内 孝啓, 片
柳 薫子, 岩尾 エマ はるか, @driller, 技術評論社, 2017.
• 東京大学のデータサイエンティスト育成講座~Python
で手を動かして学ぶデ―タ分析~, 塚本邦尊, 山田典一,
大澤文孝, マイナビ出版, 2019.
• Pythonで学ぶネットワーク分析(仮), 村田剛志, オーム
社, 2019年夏頃出版予定.
?
ネット上の参考資料
• Social Network Analysis with Python and NetworkX
• https://pydata.org/barcelona2017/schedule/presentation/7/
• Ndlib – Network Diffusion Library
• https://ndlib.readthedocs.io/en/latest/
• Google Colaboratoryを用いた機械学習・深層学習の入門教材を
無料公開(健康・医療向けデータを用いた実践編も含む)
• https://research.preferred.jp/2018/12/medical-ai-course-
materials/
ネットワーク分析ツール:igraph
• 特徴量計算の関数が豊富
• http://igraph.org/
ネットワーク分析ツール:Gephi
• 比較的新しく操作が簡単 オンラインチュートリアルあり
• https://gephi.github.io/ (英語)
• http://oss.infoscience.co.jp/gephi/gephi.org/index.html (日本
語)
ネットワーク分析ツール:graph-tool
• Python プラス C++ で高速。並列実行をサポート
• https://graph-tool.skewed.de/
ネットワーク分析ツール:NetworKit
• 高速化や他環境(Python, Jupyter Notebook, Gephiや pandas)
との統合に重点
• https://networkit.github.io/
ネットワーク分析ツール:networkX
• インストールが簡単
• http://networkx.github.io/
Jupyter Notebook
• コード、等式、可視化、コメントなどの文書を
作って共有するオープンソースのWebアプリ
ケーション
• http://jupyter.org/
• Anaconda(データサイエンス向けのPythonディ
ストリビューション)にもJupyter Notebookが
含まれている
• https://www.anaconda.com/
Google colaboratory
• Googleのアカウントだけあれば、インタラクティブなブラウザ
ベースのJupyter Notebook環境を実現
• https://colab.research.google.com/
Google Colaboratoryによるネットワーク
分析
• Jupyter Notebook (Python環境) + networkX (ネットワーク分
析) + matplotlib (グラフ描画)
• NumPy (数値計算)やSciPy (科学技術計算)も必要に応じて使う
• Microsoftも似たような環境を提供
• https://notebooks.azure.com/

Más contenido relacionado

Similar a Introduction of network analysis with Google Colaboratory -- Orientation

ノンプログラミングで楽したい
ノンプログラミングで楽したいノンプログラミングで楽したい
ノンプログラミングで楽したい裕之 木下
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話You&I
 
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて拓将 平林
 
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太Preferred Networks
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
Rubyでオリジナルプログラムをつくろう
RubyでオリジナルプログラムをつくろうRubyでオリジナルプログラムをつくろう
RubyでオリジナルプログラムをつくろうK K
 
初backlogで、試行錯誤。最終的にこうなった!
初backlogで、試行錯誤。最終的にこうなった!初backlogで、試行錯誤。最終的にこうなった!
初backlogで、試行錯誤。最終的にこうなった!Masahiro Ienaga
 
プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝OsSAL
 
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようVisual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようShinya Nakajima
 
Hour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウムHour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウムYuta Tonegawa
 
プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話Mitsushige Ishiguro
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 

Similar a Introduction of network analysis with Google Colaboratory -- Orientation (20)

ノンプログラミングで楽したい
ノンプログラミングで楽したいノンプログラミングで楽したい
ノンプログラミングで楽したい
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
Google colab 2
Google colab 2Google colab 2
Google colab 2
 
Google ColabでDL入門
Google ColabでDL入門Google ColabでDL入門
Google ColabでDL入門
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話
 
Google Colaboratoryの使い方
Google Colaboratoryの使い方Google Colaboratoryの使い方
Google Colaboratoryの使い方
 
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
[JAZUG 7周年総会]社内でIoT&AIな農業系チャットボット開発講座をやってみて
 
Pytorch
PytorchPytorch
Pytorch
 
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太
Playgram開発秘話_2022年1月プログラミングシンポジウム招待講演_西澤勇輝、岡本雄太
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
PyCharm入門
PyCharm入門PyCharm入門
PyCharm入門
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
Rubyでオリジナルプログラムをつくろう
RubyでオリジナルプログラムをつくろうRubyでオリジナルプログラムをつくろう
Rubyでオリジナルプログラムをつくろう
 
初backlogで、試行錯誤。最終的にこうなった!
初backlogで、試行錯誤。最終的にこうなった!初backlogで、試行錯誤。最終的にこうなった!
初backlogで、試行錯誤。最終的にこうなった!
 
プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝
 
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようVisual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
 
Hour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウムHour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウム
 
プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話
 
ChatGPTでしりとり
ChatGPTでしりとりChatGPTでしりとり
ChatGPTでしりとり
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 

Más de tm1966

情報理工学院情報工学系村田研究室.pptx
情報理工学院情報工学系村田研究室.pptx情報理工学院情報工学系村田研究室.pptx
情報理工学院情報工学系村田研究室.pptxtm1966
 
Networks, Deep Learning and COVID-19
Networks, Deep Learning and COVID-19Networks, Deep Learning and COVID-19
Networks, Deep Learning and COVID-19tm1966
 
友人関係と感染症伝搬をネットワークで理解する
友人関係と感染症伝搬をネットワークで理解する友人関係と感染症伝搬をネットワークで理解する
友人関係と感染症伝搬をネットワークで理解するtm1966
 
Graph Neural Networks
Graph Neural NetworksGraph Neural Networks
Graph Neural Networkstm1966
 
Network analysis and visualization by Google Colaboratory
Network analysis and visualization by Google ColaboratoryNetwork analysis and visualization by Google Colaboratory
Network analysis and visualization by Google Colaboratorytm1966
 
Networks, Deep Learning (and COVID-19)
Networks, Deep Learning (and COVID-19)Networks, Deep Learning (and COVID-19)
Networks, Deep Learning (and COVID-19)tm1966
 
20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworkstm1966
 
Structural data analysis based on multilayer networks
Structural data analysis based on multilayer networksStructural data analysis based on multilayer networks
Structural data analysis based on multilayer networkstm1966
 
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...Introduction of network analysis with Google Colaboratory -- Diffusion in Net...
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...tm1966
 
Introduction of network analysis with Google Colaboratory -- Network Models
Introduction of network analysis with Google Colaboratory -- Network ModelsIntroduction of network analysis with Google Colaboratory -- Network Models
Introduction of network analysis with Google Colaboratory -- Network Modelstm1966
 
Introduction of network analysis with Google Colaboratory -- Network Algorithms
Introduction of network analysis with Google Colaboratory -- Network AlgorithmsIntroduction of network analysis with Google Colaboratory -- Network Algorithms
Introduction of network analysis with Google Colaboratory -- Network Algorithmstm1966
 
Introduction of network analysis with Google Colaboratory -- Network Metrics
Introduction of network analysis with Google Colaboratory -- Network MetricsIntroduction of network analysis with Google Colaboratory -- Network Metrics
Introduction of network analysis with Google Colaboratory -- Network Metricstm1966
 
Introduction of network analysis with Google Colaboratory -- Example of Netwo...
Introduction of network analysis with Google Colaboratory -- Example of Netwo...Introduction of network analysis with Google Colaboratory -- Example of Netwo...
Introduction of network analysis with Google Colaboratory -- Example of Netwo...tm1966
 
20160901 jwein
20160901 jwein20160901 jwein
20160901 jweintm1966
 
20140925 multilayernetworks
20140925 multilayernetworks20140925 multilayernetworks
20140925 multilayernetworkstm1966
 

Más de tm1966 (15)

情報理工学院情報工学系村田研究室.pptx
情報理工学院情報工学系村田研究室.pptx情報理工学院情報工学系村田研究室.pptx
情報理工学院情報工学系村田研究室.pptx
 
Networks, Deep Learning and COVID-19
Networks, Deep Learning and COVID-19Networks, Deep Learning and COVID-19
Networks, Deep Learning and COVID-19
 
友人関係と感染症伝搬をネットワークで理解する
友人関係と感染症伝搬をネットワークで理解する友人関係と感染症伝搬をネットワークで理解する
友人関係と感染症伝搬をネットワークで理解する
 
Graph Neural Networks
Graph Neural NetworksGraph Neural Networks
Graph Neural Networks
 
Network analysis and visualization by Google Colaboratory
Network analysis and visualization by Google ColaboratoryNetwork analysis and visualization by Google Colaboratory
Network analysis and visualization by Google Colaboratory
 
Networks, Deep Learning (and COVID-19)
Networks, Deep Learning (and COVID-19)Networks, Deep Learning (and COVID-19)
Networks, Deep Learning (and COVID-19)
 
20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks
 
Structural data analysis based on multilayer networks
Structural data analysis based on multilayer networksStructural data analysis based on multilayer networks
Structural data analysis based on multilayer networks
 
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...Introduction of network analysis with Google Colaboratory -- Diffusion in Net...
Introduction of network analysis with Google Colaboratory -- Diffusion in Net...
 
Introduction of network analysis with Google Colaboratory -- Network Models
Introduction of network analysis with Google Colaboratory -- Network ModelsIntroduction of network analysis with Google Colaboratory -- Network Models
Introduction of network analysis with Google Colaboratory -- Network Models
 
Introduction of network analysis with Google Colaboratory -- Network Algorithms
Introduction of network analysis with Google Colaboratory -- Network AlgorithmsIntroduction of network analysis with Google Colaboratory -- Network Algorithms
Introduction of network analysis with Google Colaboratory -- Network Algorithms
 
Introduction of network analysis with Google Colaboratory -- Network Metrics
Introduction of network analysis with Google Colaboratory -- Network MetricsIntroduction of network analysis with Google Colaboratory -- Network Metrics
Introduction of network analysis with Google Colaboratory -- Network Metrics
 
Introduction of network analysis with Google Colaboratory -- Example of Netwo...
Introduction of network analysis with Google Colaboratory -- Example of Netwo...Introduction of network analysis with Google Colaboratory -- Example of Netwo...
Introduction of network analysis with Google Colaboratory -- Example of Netwo...
 
20160901 jwein
20160901 jwein20160901 jwein
20160901 jwein
 
20140925 multilayernetworks
20140925 multilayernetworks20140925 multilayernetworks
20140925 multilayernetworks
 

Introduction of network analysis with Google Colaboratory -- Orientation