SlideShare a Scribd company logo
  で始める
データ解析の超基礎
Tokyo.R 女子部 #4
@a_macbee
@a_macbee is 誰
@a_macbee
!
渋谷で働く新米データサイ
エンティスト
 ・広告ログ解析の仕事
 ・普段仕事で利用してる
言語はPython
 ・Tokyo.R 女子部 #3 初参加
!
 ・ 初心者
の便利機能
の紹介 等はしません
(出来ません(汗)
の標準機能
+ggplot2 のみを
利用します
※詰まったらどなたか助けて下さい
本日目指すこと
 Rを使って
 データの雰囲気を
 つかむ術を学ぶ
本日の資料
https://github.com/amacbee/tokyorgirls
Download → 解凍
20140712/ 以下に
あります
ヒストグラム
について学びます
データの全体像
がつかめる!
←日本の人口分布
↓テストの点数分布
何はともあれやってみる
!
!
# ggplot2の読み込み
library(ggplot2)
!
!
!
!
!
!
ヒストグラムを
描画するために
必要です!
何はともあれやってみる
!
# データの読み込み
data.path = /path/to/file/ramen_prices.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# データの中身の確認
head(data.frame)
!
# ラーメンの値段の平均
mean(data.frame$Price)
何はともあれやってみる
!
# データの読み込み
data.path = /path/to/file/ramen_prices.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# データの中身の確認
head(data.frame)
!
# ラーメンの値段の平均
mean(data.frame$Price)
データを読み込んで
data.frameに入れる
何はともあれやってみる
!
# データの読み込み
data.path = /path/to/file/ramen_prices.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# データの中身の確認
head(data.frame)
!
# ラーメンの値段の平均
mean(data.frame$Price)
head()で囲むと
データの上から
6行くらいを表示
何はともあれやってみる
!
# データの読み込み
data.path = /path/to/file/ramen_prices.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# データの中身の確認
head(data.frame)
!
# ラーメンの値段の平均
mean(data.frame$Price)
mean()で囲むと
データの
平均値を表示
何はともあれやってみる
!
# ラーメンの値段のヒストグラム
ggplot(data.frame, aes(x=data.frame$Price)) +
geom_histogram(binwidth=100)
!
!
!
!
!
!
こんなのが
出るはず
750
650
850
950
550
ラーメンの
平均的な値段は
750円くらい
何はともあれやってみる
!
# ラーメンの値段のヒストグラム
ggplot(data.frame, aes(x=data.frame$Price)) +
geom_histogram(binwidth=100)
!
!
!
!
!
!
範囲の指定
この場合,100円の範囲で
値をまとめてくれる
x軸の指定
ヒストグラムの
良いところ
2つのヒストグラムの比較
!
# データの読み込み
data.path = /path/to/file/test_scores_1.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# 1組のテストの平均点
mean(data.frame$Score)
!
# 1組のテストの点数のヒストグラム
ggplot(data.frame, aes(x=data.frame$Score)) +
geom_histogram(binwidth=5)
2つのヒストグラムの比較
!
# データの読み込み
data.path = /path/to/file/test_scores_2.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# 2組のテストの平均点
mean(data.frame$Score)
!
# 2組のテストの点数のヒストグラム
ggplot(data.frame, aes(x=data.frame$Score)) +
geom_histogram(binwidth=5)
平均点は?
どちらも同じくらい
A組: 約51点
B組: 約50点
ヒストグラムは?
A 組
B 組
平均点は同じでも
ヒストグラムはかなり違う
↓
データの性質が全然違う
大事なこと
ヒストグラムを書くことで
データの全体像がつかめる
binwidth
に注意
元のデータは
こちらからお借りしています
!
https://github.com/johnmyleswhite/
ML_for_Hackers
!
# データの読み込み
data.path = /path/to/file/body_data.txt
data.frame <- read.table(data.path, header=TRUE, sep= ,')
!
# 平均身長
mean(data.frame$Height)
!
# 身長のヒストグラム(binwidth=5, 0.001, 1)
ggplot(data.frame, aes(x=data.frame$Height)) +
geom_histogram(binwidth=5)
ggplot(data.frame, aes(x=data.frame$Height)) +
geom_histogram(binwidth=0.001)
ggplot(data.frame, aes(x=data.frame$Height)) +
geom_histogram(binwidth=1)
binの幅が
広すぎる
=過剰な平滑化
binwidth=5
binの幅が
小さすぎる
=平滑化の不足
binwidth=0.001
binwidth=1
滑らか
binwidth=1
大事なこと
binwidthの値を変えて
ヒストグラムを確認すること
おまけ1(Rの高度な機能)
もとの形状に
近い形で
描画できる
おまけ2(Rの高度な機能)
男女で
分けてみたり
!
参考図書.1
マンガでわかる

統計学 / 高橋 信
!
http://goo.gl/mzuQ
!
※オススメ!
!
参考図書.2
入門 機械学習

/ D., Conway
!
http://goo.gl/0zNev
!
※かなり難しい!
Thank you!

More Related Content

What's hot

Pythonでターミナルに画像表示
Pythonでターミナルに画像表示Pythonでターミナルに画像表示
Pythonでターミナルに画像表示
Masato Fujitake
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
NaoY-2501
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
drillan
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
Takeshi Akutsu
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
 
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnowS10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
 
pythonでemlファイルを扱う話
pythonでemlファイルを扱う話pythonでemlファイルを扱う話
pythonでemlファイルを扱う話
Satoshi Yamada
 
コボラーがPython始めてみた話
コボラーがPython始めてみた話コボラーがPython始めてみた話
コボラーがPython始めてみた話
Yuuki Nakajima
 
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
 
Requestsで始める5分前帰社
Requestsで始める5分前帰社Requestsで始める5分前帰社
Requestsで始める5分前帰社
Satoshi Yamada
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめました
Nagi Teramo
 
S09 t4 wrapup
S09 t4 wrapupS09 t4 wrapup
S09 t4 wrapup
Takeshi Akutsu
 
オレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPIオレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPI
隆行 神戸
 
ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計
隆行 神戸
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
 
S09 t0 orientation
S09 t0 orientationS09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
 
S08 t0 orientation
S08 t0 orientationS08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
 
Orientation
OrientationOrientation
Orientation
Takeshi Akutsu
 

What's hot (20)

Pythonでターミナルに画像表示
Pythonでターミナルに画像表示Pythonでターミナルに画像表示
Pythonでターミナルに画像表示
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
 
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnowS10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
 
pythonでemlファイルを扱う話
pythonでemlファイルを扱う話pythonでemlファイルを扱う話
pythonでemlファイルを扱う話
 
コボラーがPython始めてみた話
コボラーがPython始めてみた話コボラーがPython始めてみた話
コボラーがPython始めてみた話
 
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
 
Requestsで始める5分前帰社
Requestsで始める5分前帰社Requestsで始める5分前帰社
Requestsで始める5分前帰社
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめました
 
S09 t4 wrapup
S09 t4 wrapupS09 t4 wrapup
S09 t4 wrapup
 
オレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPIオレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPI
 
ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
 
S09 t0 orientation
S09 t0 orientationS09 t0 orientation
S09 t0 orientation
 
S08 t0 orientation
S08 t0 orientationS08 t0 orientation
S08 t0 orientation
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
Orientation
OrientationOrientation
Orientation
 

Similar to Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」

Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
 
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシシステム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
BrainPad Inc.
 
PyConJP2018_LT_mahjong_180918
PyConJP2018_LT_mahjong_180918PyConJP2018_LT_mahjong_180918
PyConJP2018_LT_mahjong_180918
Rio Kurihara
 
プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方
Yuichi Kato
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
Hiroshi Yamato
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
Akira Shibata
 
Rでを作る
Rでを作るRでを作る
Rでを作る
Nagi Teramo
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現する
Takuya Ueda
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
 
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入Hisao Soyama
 
TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語
隆行 神戸
 
TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)
Kiyoshi Ogawa
 
【Ltech#11】ディープラーニングで間取り図を3Dにする
【Ltech#11】ディープラーニングで間取り図を3Dにする【Ltech#11】ディープラーニングで間取り図を3Dにする
【Ltech#11】ディープラーニングで間取り図を3Dにする
LIFULL Co., Ltd.
 
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
Toshinori Sato
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
shoma h
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
 

Similar to Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」 (20)

Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシシステム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
 
PyConJP2018_LT_mahjong_180918
PyConJP2018_LT_mahjong_180918PyConJP2018_LT_mahjong_180918
PyConJP2018_LT_mahjong_180918
 
プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方
 
Why python
Why pythonWhy python
Why python
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
 
Rでを作る
Rでを作るRでを作る
Rでを作る
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現する
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
 
TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語
 
TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)
 
【Ltech#11】ディープラーニングで間取り図を3Dにする
【Ltech#11】ディープラーニングで間取り図を3Dにする【Ltech#11】ディープラーニングで間取り図を3Dにする
【Ltech#11】ディープラーニングで間取り図を3Dにする
 
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 

Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」