SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
地理データを集め、可視化し分析することが簡単に
できるプログラミング言語について
2020/2/3
BIT VALLEY -INSIDE- Vol.16
Mr_Sakaue(SKUE)
● 阪上晃幸(@Mr_Sakaue)
● データアナリスト@渋谷のベンチャー企業
● 経歴
2012/2:インターン@渋谷のベンチャー企業
2012/3:一橋大学大学院経済学研究科 修士課程修了
2012/4〜:渋谷のベンチャー企業入社
● 趣味
料理、ブログ記事の作成
『かものはしの分析ブログ』で検索!
自己紹介
2
● 事故物件に関する某UGC(User Generated Content)サイトがあるが、人口あたりの発
生件数などが提供されていない。事故の発生要因もフリーテキストなため全体感を俯瞰
することが難しい。そこでテキストマイニングなどを用いてその詳細を調べ引っ越しの際
の参考としたい。
研究動機
3
1. 某UGCサイトから事故物件の情報をWebスクレイピング
2. 事故物件に記載された住所から緯度経度をAPIにより取得
3. メッシュデータを作成し、メッシュあたりの事故物件件数を集計
4. 国土地理院の提供している人口や地価などのメッシュデータとつなぎこむ
5. 集計・可視化をする
6. 事故物件に関してテキストマイニングをする
研究計画
4
1.某UGCサイトから事故物件の情報をWebスクレイピング
5
【主な処理内容】
1.都内の住所一覧を収集
2.検索窓に住所を入力
3.検索結果一覧の上位 5件をクリック
4.一度地図を引くことで物件を広い範囲で捉
えれるようにする
5.物件のマークの要素を取得し、 1件ずつク
リックし、表示された物件の情報をデータフ
レームに格納する
事故物件に記載された住所から緯度経度をAPIにより取得
6
"{"ResultInfo":{"Count":1,"Total":1,"Start":1,"Status":200,"Description
":"","Copyright":"","Latency":0.011},"Feature":[{"Id":"34368.2","Gid
":"","Name":"広島県山県郡安芸太田町穴(大字)
","Geometry":{"Type":"point","Coordinates":"132.37215787,34.56353
237","BoundingBox":"132.34500700,34.53783800
132.40468100,34.61470700"},"Category":[],"Description":"","Style":[],
"Property":{"Uid":"932e61fed665b8216c2c3c3fed72600199c1e52a","Ca
ssetteId":"b22fee69b0dcaf2c2fe2d6a27906dafc","Yomi":"ヒロシマケンヤ
マガタグンアキオオタチョウアナ(オオアザ)
","Country":{"Code":"JP","Name":"日本"},"Address":"広島県山県郡
安芸太田町穴(大字)
","GovernmentCode":"34368","AddressMatchingLevel":"3","AddressT
ype":"町・大字"}}]}"
【主な処理内容】
1.Yahoo!のAPIのアカウントに関する config
ファイルを読み込む。
2.先程の工程で手に入れた住所の緯度経度
をAPIを用いて取得
メッシュデータを作成し、メッシュあたりの事故物件件数を集計
7
メッシュデータを作成し、メッシュあたりの事故物件件数を集計
8
横軸は事故物件発生件数、縦軸は頻度。
※APはAccidental Propertyの略
一番発生しているのは新
宿歌舞伎町周辺の1km
メッシュ
2番目に発生しているの
は池袋周辺の1kmメッ
シュ
国土地理院の提供している人口や地価などのメッシュデータとつなぎこむ
9
国土地理院の提供している人口や地価などのメッシュデータとつなぎこむ
10
国土地理院の提供している人口や地価などのメッシュデータとつなぎこむ
11
それぞれ属するメッ
シュごとに集計し平均
値を取った。
集計・可視化をする
12
集計・可視化をする
13
人口密度が高いと治安が悪くなる?人口
密度が高いと地価が上がる?
横軸は地価の階級値、縦軸は人口あたり事故物件発生件数
※APはAccidental Propertyの略
集計・可視化をする
14
インタラクティブに操作できる
事故物件に関してテキストマイニングをする
15
MeCabで形態素解析を行い、頻度の高いものの文字が大きくなるよう表示
以下は事故物件の詳細に関するテキストについて
事故物件に関してテキストマイニングをする
16
以下は事故物件の住所について形態素解析を行ったもの
事故物件に関してテキストマイニングをする
17
LDA(トピックモデル)を用いて、潜在的なトピック数を10に固定してそのトピックに含まれ
やすい単語のランキングTop5
治安と関係してそうなトピック
は少なめだった。
事故物件に関してテキストマイニングをする
18
LDA×ベイズ時系列分析の手法を用いて、潜在的なトピック数を3に固定してそのトピッ
クの時系列推移をプロット
・incident(事件)に関するトピックが近年増えている?
・近年まではビルからの転落が減っていた?
これまでの分析はたった一つのプログラミング言語で可能
19
1. 某UGCサイトから事故物件の情報をWebスクレイピング
2. 事故物件に記載された住所から緯度経度をAPIにより取得
3. メッシュデータを作成し、メッシュあたりの事故物件件数を集計
4. 国土地理院の提供している人口や地価などのメッシュデータとつなぎこむ
5. 集計・可視化をする
6. 事故物件に関してテキストマイニングをする
その言語とは
20
Python
21
ではなくて
22
● 統計解析に特化したスクリプト言語
● データ取得、前処理、可視化、分析、レポーティング、分析結果を用いたアプリケーション
の開発までをスムーズに行える
● RStudio、Jupyter Notebookなど統合開発環境が充実
● 自由な書き方ができる
● 豊富なライブラリ(2020年1月時点で15,344以上(GitHub除く) )
● 頻度の高いコミュニティー(Tokyo.R)
● カジュアルに相談できるSlackチャンネル(r-wakalang)
● 書籍も充実(統計解析系の本はRを扱っているものも多い)
R言語
23
R言語の人気は伸び悩んでいる?
24
● configファイルの読み込み:config
● Seleniumの実行:RSelenium
● APIを用いたデータ取得:RJSONIO、RCurl
● データ整形:tidyverse(dplyr)
● 地理データ関連:jpmesh、sf、kokudosuuchi、jpndistrict
● 可視化:mapview、ggplot2
● 形態素解析:RMeCab
● LDA:topicmodels
● LDA×ベイズ時系列分析:LDATS
本日登場したライブラリ
25
さぁ、皆さんも
R言語
始めてみませんか?
26
Enjoy
27

Más contenido relacionado

Más de Teruyuki Sakaue

[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理
[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理
[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理Teruyuki Sakaue
 
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2Teruyuki Sakaue
 
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選Teruyuki Sakaue
 
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7Teruyuki Sakaue
 
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1Teruyuki Sakaue
 
Marketing×Python/Rで頑張れる事例16本ノック
Marketing×Python/Rで頑張れる事例16本ノックMarketing×Python/Rで頑張れる事例16本ノック
Marketing×Python/Rで頑張れる事例16本ノックTeruyuki Sakaue
 
機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測Teruyuki Sakaue
 

Más de Teruyuki Sakaue (7)

[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理
[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理
[第6回]データ分析ランチセッション - Camphrでモダンな自然言語処理
 
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
[DSO] Machine Learning Seminar Vol.1 Chapter 1 and 2
 
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
[第1回]データ分析ランチセッション ~ Qiita Advent Calendar2019から得た情報10選
 
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7流行りの分散表現を用いた文書分類について Netadashi Meetup 7
流行りの分散表現を用いた文書分類について Netadashi Meetup 7
 
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1
HRビジネスにおけるデータサイエンスの適用 @ BIT VALLEY -INSIDE- Vol.1
 
Marketing×Python/Rで頑張れる事例16本ノック
Marketing×Python/Rで頑張れる事例16本ノックMarketing×Python/Rで頑張れる事例16本ノック
Marketing×Python/Rで頑張れる事例16本ノック
 
機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測機械学習による積極的失業〜オウンドメディアの訪問予測
機械学習による積極的失業〜オウンドメディアの訪問予測
 

地理データを集め、可視化し分析することが簡単にできるプログラミング言語について @ BIT VALLEY -INSIDE- Vol.16