Advertisement

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

Jul. 22, 2014
Advertisement

More Related Content

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

Advertisement

Recently uploaded(20)

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

  1.   で始める データ解析の超基礎 Tokyo.R 女子部 #4 @a_macbee
  2. @a_macbee is 誰
  3. @a_macbee ! 渋谷で働く新米データサイ エンティスト  ・広告ログ解析の仕事  ・普段仕事で利用してる 言語はPython  ・Tokyo.R 女子部 #3 初参加 !  ・ 初心者
  4. の便利機能 の紹介 等はしません (出来ません(汗) の標準機能 +ggplot2 のみを 利用します ※詰まったらどなたか助けて下さい
  5. 本日目指すこと  Rを使って  データの雰囲気を  つかむ術を学ぶ
  6. 本日の資料 https://github.com/amacbee/tokyorgirls Download → 解凍 20140712/ 以下に あります
  7. ヒストグラム について学びます
  8. データの全体像 がつかめる! ←日本の人口分布 ↓テストの点数分布
  9. 何はともあれやってみる ! ! # ggplot2の読み込み library(ggplot2) ! ! ! ! ! ! ヒストグラムを 描画するために 必要です!
  10. 何はともあれやってみる ! # データの読み込み data.path = /path/to/file/ramen_prices.txt data.frame <- read.table(data.path, header=TRUE, sep= ,') ! # データの中身の確認 head(data.frame) ! # ラーメンの値段の平均 mean(data.frame$Price)
  11. 何はともあれやってみる ! # データの読み込み 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に入れる
  12. 何はともあれやってみる ! # データの読み込み 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行くらいを表示
  13. 何はともあれやってみる ! # データの読み込み 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()で囲むと データの 平均値を表示
  14. 何はともあれやってみる ! # ラーメンの値段のヒストグラム ggplot(data.frame, aes(x=data.frame$Price)) + geom_histogram(binwidth=100) ! ! ! ! ! !
  15. こんなのが 出るはず
  16. 750 650 850 950 550 ラーメンの 平均的な値段は 750円くらい
  17. 何はともあれやってみる ! # ラーメンの値段のヒストグラム ggplot(data.frame, aes(x=data.frame$Price)) + geom_histogram(binwidth=100) ! ! ! ! ! ! 範囲の指定 この場合,100円の範囲で 値をまとめてくれる x軸の指定
  18. ヒストグラムの 良いところ
  19. 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)
  20. 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)
  21. 平均点は? どちらも同じくらい A組: 約51点 B組: 約50点
  22. ヒストグラムは?
  23. A 組
  24. B 組
  25. 平均点は同じでも ヒストグラムはかなり違う ↓ データの性質が全然違う
  26. 大事なこと ヒストグラムを書くことで データの全体像がつかめる
  27. binwidth に注意
  28. 元のデータは こちらからお借りしています ! https://github.com/johnmyleswhite/ ML_for_Hackers
  29. ! # データの読み込み 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)
  30. binの幅が 広すぎる =過剰な平滑化 binwidth=5
  31. binの幅が 小さすぎる =平滑化の不足 binwidth=0.001
  32. binwidth=1
  33. 滑らか binwidth=1
  34. 大事なこと binwidthの値を変えて ヒストグラムを確認すること
  35. おまけ1(Rの高度な機能) もとの形状に 近い形で 描画できる
  36. おまけ2(Rの高度な機能) 男女で 分けてみたり
  37. ! 参考図書.1 マンガでわかる
 統計学 / 高橋 信 ! http://goo.gl/mzuQ ! ※オススメ!
  38. ! 参考図書.2 入門 機械学習
 / D., Conway ! http://goo.gl/0zNev ! ※かなり難しい!
  39. Thank you!
Advertisement