Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2022年度データアナリティクスII-第1回-20220411

 2022年度データアナリティクスII-第1回-20220411

2022年前期に静岡大学情報学部で開講される講義「データアナリティクスII」(山本担当パート)の講義資料.

059fb717431a8cd2b509ffebc57d905a?s=128

Y. Yamamoto

April 11, 2022
Tweet

More Decks by Y. Yamamoto

Other Decks in Education

Transcript

  1. ⼭本 祐輔 静岡⼤学 情報学部 yusuke_yamamoto@acm.org 2022年度前期 データアナリティクスII – 山本担当モジュール 2022年4月11日

    ⼭本祐輔 クリエイティブコモンズライセンス (CC BY-NC-SA 4.0) BadData, not BigData: Excelで体感するデータ分析現場の悲劇
  2. 21世紀に最も注⽬される職業であるデータサイエンス⼈材 https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/

  3. よくあるデータサイエンス教育・教材の狙い 3 画像出典:amazon.co.jp 分析技術・理論の理解 ツールの使い⽅・お作法

  4. よくあるデータサイエンス教育・教材の狙い 4 画像出典:amazon.co.jp 分析技術・理論の理解 ツールの使い方・お作法 シナリオ(目的)が あらかじめ決まっている 分析に適したデータが あらかじめ用意されている

  5. UCI ML Repository: 機械学習でよく利⽤されるデータセット集のサイト

  6. UCI ML Repository: 機械学習でよく利⽤されるデータセット集のサイト Iris(アヤメ)のデータセット Analysis-readyなデータセットだけで データサイエンスを学習できるのか?

  7. データ 構築 前処理 アルゴリズム 適用 評価・分析 データ解析・活⽤のプロセス 種々のアルゴリズムの 適用・開発 構築したモデルの評価,

    データマイニングした知見の分析
  8. データ分析に必要な データを収集・構築する データ 構築 前処理 アルゴリズム 適用 評価・分析 データ解析・活⽤のプロセス アルゴリズムを走らせるために

    データをクリーニング,統合,変形 データ分析・活用 作業の8割 有意義なデータ分析・活用を行うには、 目的に応じたデータの準備・加工・手法選択が必要
  9. データアナリティクスII の⽬的 さまざまな種類のデータを 目的に応じて収集・加工・分析する手法を学ぶ 9

  10. ⼭本担当モジュールで学ぶこと 画像出典:https://www.oreilly.co.jp/books/9784873116402/ 関係データベース (50MB, 最⼤10万⾏) SQL 前処理・データ分析のための 関係データベースの操作 ビッグデータからの情報抽出 バッドデータの現実

    データ分析の前処理の 重要性の理解
  11. 授業の進め⽅ 課題の 開示 初回 必要知識 の解説 ノック 演習 ノック の解説

    課題の 開示 2回⽬〜5回⽬ 必要知識 の解説 ノック 演習 ノック の解説 前回課題 の解説 3名1組のグループになって演習を行う
  12. 授業の進め⽅ 課題の 開示 2回⽬〜5回⽬ 必要知識 の解説 ノック 演習 ノック の解説

    前回課題 の解説 3名1組のグループになって演習を行う 初回 必要知識 の解説 ノック の解説 課題の 開示 ノック 演習 「課題」とか「ノック」って何?
  13. 課題 ・次回授業までに取り組む演習課題で その⽇の授業の冒頭に発表される ・「課題」は最終レポートの問題の⼀部

  14. ノック ・課題を解くのに必要なスキルを学ぶための ⼩さなクイズ集(60〜70問) ・ノックの解説は授業内に⾏う 課題が解けるのであればノックはやらなくてよい

  15. 授業で使うもの PC/Mac Google Colaboratory (2回⽬以降) Googleアカウントを持っていない⼈は取得しておくこと Excel (初回のみ)

  16. ⼭本担当モジュールの成績評価 レポート 課題 16 + 授業中 の活動 最終レポート1回 (毎回の演習課題を繋いだもの) 授業中に出題する

    ノックの回答発表 (加点要素)
  17. バッドデータ(1/2) ҮѴҚӃҠ̔ѻ̔ҙр઄ࣂඬ೾࿾ঈྩၷజ๕нжЖи̢ᆋᇊ3໇4द1ຶ॓਱̣ 䠐 ⏨ዪ䞉ᖺ㱋ู ᖺ㱋 ேཱྀ䠄R2.1.1᫬Ⅼ䠅 ஺௜ᯛᩘ䠄R3.4.1᫬Ⅼ䠅 ேཱྀ䛻ᑐ䛩䜛 ஺௜ᯛᩘ⋡ ඲య䛻ᑐ䛩䜛

    ஺௜ᯛᩘ๭ྜ ⏨ ዪ ィ ⏨ ዪ ィ ⏨ ዪ ィ ⏨ ዪ ィ ඲య 62,036,028 65,102,005 127,138,033 18,146,192 17,823,371 35,969,563 29.3% 27.4% 28.3% 100.0% 100.0% 100.0% 0䡚4ṓ 2,451,534 2,331,996 4,783,530 413,155 397,028 810,183 16.9% 17.0% 16.9% 2.3% 2.2% 2.3% 5䡚9 2,703,139 2,567,979 5,271,118 523,961 508,686 1,032,647 19.4% 19.8% 19.6% 2.9% 2.9% 2.9% 10䡚14 2,805,669 2,667,945 5,473,614 494,090 487,797 981,887 17.6% 18.3% 17.9% 2.7% 2.7% 2.7% 15䡚19 3,012,009 2,865,038 5,877,047 586,884 578,133 1,165,017 19.5% 20.2% 19.8% 3.2% 3.2% 3.2% 20䡚24 3,294,145 3,116,004 6,410,149 811,149 850,766 1,661,915 24.6% 27.3% 25.9% 4.5% 4.8% 4.6% 25䡚29 3,332,499 3,133,721 6,466,220 915,349 946,339 1,861,688 27.5% 30.2% 28.8% 5.0% 5.3% 5.2% 30䡚34 3,562,668 3,387,856 6,950,524 1,051,511 1,040,528 2,092,039 29.5% 30.7% 30.1% 5.8% 5.8% 5.8% 35䡚39 3,938,861 3,791,620 7,730,481 1,135,626 1,090,662 2,226,288 28.8% 28.8% 28.8% 6.3% 6.1% 6.2% 40䡚44 4,476,747 4,321,668 8,798,415 1,231,316 1,141,612 2,372,928 27.5% 26.4% 27.0% 6.8% 6.4% 6.6% 45䡚49 5,052,054 4,908,004 9,960,058 1,395,037 1,297,418 2,692,455 27.6% 26.4% 27.0% 7.7% 7.3% 7.5% 50䡚54 4,370,727 4,295,647 8,666,374 1,289,006 1,233,930 2,522,936 29.5% 28.7% 29.1% 7.1% 6.9% 7.0% 55䡚59 3,893,633 3,885,044 7,778,677 1,302,965 1,260,233 2,563,198 33.5% 32.4% 33.0% 7.2% 7.1% 7.1% 60䡚64 3,705,990 3,778,959 7,484,949 1,329,803 1,271,875 2,601,678 35.9% 33.7% 34.8% 7.3% 7.1% 7.2% 65䡚69 4,136,887 4,375,393 8,512,280 1,445,363 1,378,442 2,823,805 34.9% 31.5% 33.2% 8.0% 7.7% 7.9% 70䡚74 4,135,964 4,624,192 8,760,156 1,593,712 1,574,026 3,167,738 38.5% 34.0% 36.2% 8.8% 8.8% 8.8% 75䡚79 3,190,582 3,961,097 7,151,679 1,107,851 1,189,419 2,297,270 34.7% 30.0% 32.1% 6.1% 6.7% 6.4% 80䡚84 2,169,304 3,092,116 5,261,420 816,458 857,729 1,674,187 37.6% 27.7% 31.8% 4.5% 4.8% 4.7% 85䡚89 1,246,148 2,296,585 3,542,733 482,691 495,063 977,754 38.7% 21.6% 27.6% 2.7% 2.8% 2.7% 90䡚94 462,823 1,243,823 1,706,646 180,748 178,387 359,135 39.1% 14.3% 21.0% 1.0% 1.0% 1.0% 95䡚99 86,004 393,936 479,940 34,177 38,269 72,446 39.7% 9.7% 15.1% 0.2% 0.2% 0.2% 100ṓ௨ୖ 8,623 63,336 71,959 5,340 7,029 12,369 61.9% 11.1% 17.2% 0.0% 0.0% 0.0% データ出典:総務省(https://www.soumu.go.jp/kojinbango_card/kofujokyo_07.html) 世の中は計算機で処理しにくいバッドデータで溢れている
  18. バッドデータ(1/2) ҮѴҚӃҠ̔ѻ̔ҙр઄ࣂඬ೾࿾ঈྩၷజ๕нжЖи̢ᆋᇊ3໇4द1ຶ॓਱̣ 䠐 ⏨ዪ䞉ᖺ㱋ู ᖺ㱋 ேཱྀ䠄R2.1.1᫬Ⅼ䠅 ஺௜ᯛᩘ䠄R3.4.1᫬Ⅼ䠅 ேཱྀ䛻ᑐ䛩䜛 ஺௜ᯛᩘ⋡ ඲య䛻ᑐ䛩䜛

    ஺௜ᯛᩘ๭ྜ ⏨ ዪ ィ ⏨ ዪ ィ ⏨ ዪ ィ ⏨ ዪ ィ ඲య 62,036,028 65,102,005 127,138,033 18,146,192 17,823,371 35,969,563 29.3% 27.4% 28.3% 100.0% 100.0% 100.0% 0䡚4ṓ 2,451,534 2,331,996 4,783,530 413,155 397,028 810,183 16.9% 17.0% 16.9% 2.3% 2.2% 2.3% 5䡚9 2,703,139 2,567,979 5,271,118 523,961 508,686 1,032,647 19.4% 19.8% 19.6% 2.9% 2.9% 2.9% 10䡚14 2,805,669 2,667,945 5,473,614 494,090 487,797 981,887 17.6% 18.3% 17.9% 2.7% 2.7% 2.7% 15䡚19 3,012,009 2,865,038 5,877,047 586,884 578,133 1,165,017 19.5% 20.2% 19.8% 3.2% 3.2% 3.2% 20䡚24 3,294,145 3,116,004 6,410,149 811,149 850,766 1,661,915 24.6% 27.3% 25.9% 4.5% 4.8% 4.6% 25䡚29 3,332,499 3,133,721 6,466,220 915,349 946,339 1,861,688 27.5% 30.2% 28.8% 5.0% 5.3% 5.2% 30䡚34 3,562,668 3,387,856 6,950,524 1,051,511 1,040,528 2,092,039 29.5% 30.7% 30.1% 5.8% 5.8% 5.8% 35䡚39 3,938,861 3,791,620 7,730,481 1,135,626 1,090,662 2,226,288 28.8% 28.8% 28.8% 6.3% 6.1% 6.2% 40䡚44 4,476,747 4,321,668 8,798,415 1,231,316 1,141,612 2,372,928 27.5% 26.4% 27.0% 6.8% 6.4% 6.6% 45䡚49 5,052,054 4,908,004 9,960,058 1,395,037 1,297,418 2,692,455 27.6% 26.4% 27.0% 7.7% 7.3% 7.5% 50䡚54 4,370,727 4,295,647 8,666,374 1,289,006 1,233,930 2,522,936 29.5% 28.7% 29.1% 7.1% 6.9% 7.0% 55䡚59 3,893,633 3,885,044 7,778,677 1,302,965 1,260,233 2,563,198 33.5% 32.4% 33.0% 7.2% 7.1% 7.1% 60䡚64 3,705,990 3,778,959 7,484,949 1,329,803 1,271,875 2,601,678 35.9% 33.7% 34.8% 7.3% 7.1% 7.2% 65䡚69 4,136,887 4,375,393 8,512,280 1,445,363 1,378,442 2,823,805 34.9% 31.5% 33.2% 8.0% 7.7% 7.9% 70䡚74 4,135,964 4,624,192 8,760,156 1,593,712 1,574,026 3,167,738 38.5% 34.0% 36.2% 8.8% 8.8% 8.8% 75䡚79 3,190,582 3,961,097 7,151,679 1,107,851 1,189,419 2,297,270 34.7% 30.0% 32.1% 6.1% 6.7% 6.4% 80䡚84 2,169,304 3,092,116 5,261,420 816,458 857,729 1,674,187 37.6% 27.7% 31.8% 4.5% 4.8% 4.7% 85䡚89 1,246,148 2,296,585 3,542,733 482,691 495,063 977,754 38.7% 21.6% 27.6% 2.7% 2.8% 2.7% 90䡚94 462,823 1,243,823 1,706,646 180,748 178,387 359,135 39.1% 14.3% 21.0% 1.0% 1.0% 1.0% 95䡚99 86,004 393,936 479,940 34,177 38,269 72,446 39.7% 9.7% 15.1% 0.2% 0.2% 0.2% 100ṓ௨ୖ 8,623 63,336 71,959 5,340 7,029 12,369 61.9% 11.1% 17.2% 0.0% 0.0% 0.0% データ出典:総務省(https://www.soumu.go.jp/kojinbango_card/kofujokyo_07.html) 世の中は計算機で処理しにくいバッドデータで溢れている ҮѴҚӃҠ̔ѻ̔ҙр઄ࣂඬ೾࿾ ⏨ዪ䞉ᖺ㱋ู ᖺ㱋 ேཱྀ䠄R2.1.1᫬Ⅼ䠅 ஺௜ ⏨ ዪ ィ ⏨ ඲య 62,036,028 65,102,005 127,138,033 18,146,192 0䡚4ṓ 2,451,534 2,331,996 4,783,530 413,155 5䡚9 2,703,139 2,567,979 5,271,118 523,961 10䡚14 2,805,669 2,667,945 5,473,614 494,090 データの項目が入れ子構造になっている…
  19. バッドデータ(2/2) 世の中は計算機で処理しにくいバッドデータで溢れている どの場所に何のデータが格納されているか、 規則性がない…

  20. 様々なバッドデータ フォーマットが統一されていない… 1つのセルに複数データが入っている… データが空… データに重複がある… データが構造化されていない… ファイルが文字化けしている… 入力ルールに反している…

  21. 様々なバッドデータ フォーマットが統一されていない… 1つのセルに複数データが入っている… データが空… データに重複がある… データが構造化されていない… ファイルが文字化けしている… 入力ルールに反している… バッドデータが大量にあっても, 前処理しないと分析ワザが使えない…

  22. 今回のお題 架空の小売店の購買データを題材に、 Excelでバッドデータに立ち向かう 22

  23. 小売店の購買に関するバッドデータ 1

  24. ⼩売店の購買データ レシート明細 購買履歴データ 購買履歴は何らかの方法で管理されている

  25. シナリオ あなたは新⽶データサイエンティスト. 初めての案件が、⼩売店「杏森堂」からやってきました. 杏森堂のセールス担当者 杏森堂では,顧客台帳をオリジナルのExcelを使っ て管理しています.おかげさまで,売り上げも安定し ています.Excelのデータも結構な量になってきた ので,データ分析できると,いろんな知見が分かると 思うんです.試しに少し分析していただけますか?

  26. Day 1 の課題 授業サポートWebsiteに掲載されたファイルと Excelを用いて、以下の3つの表を作成せよ 商品A … 商品Z 2019年1月 2019年2月

    … 2019年7月 商品ごとの年⽉別売上情報 A市 … H市 2019年1月 2019年2月 … 2019年7月 各市ごとの年⽉別売上情報 顧客名 山本祐輔 … 静岡花子 集計期間中に買い物を ⾏っていない顧客のリスト
  27. 課題に⽤いるファイル 顧客台帳データ(2ファイル:kokyaku_daicho_X.csv) 購買記録に関するデータ( 2ファイル: uriage_X.csv)

  28. 授業サポートWebsite https://data-analytics2022.hontolab.org/

  29. 演習の進め⽅ 1. 課題を行うためのファイルをダウンロード 2. 課題の詳細内容を確認 3. ノックを解いて課題を解くためのヒントを得る !"#$%&'()*+,-.!/0) *12345678

  30. DAY1ノックの解説 2

  31. Knock 3:⽇付形式の変換 列の書式設定で日付の形式を変更する

  32. Knock 4−5:ピボットテーブル(1/3) 表データを複数の軸(列)からデータをまとめる (集約演算) 商品名 年度 売上 商品A 2020 10万円

    商品B 2019 20万円 商品A 2021 50万円 … ・軸はいくつでも設定可能 ・代表的な集約演算は「個数」「合計」「平均」「最小/最大値」など 商品名 売上合計 商品A 60万円 商品B 30万円 商品C 75万円 … 商品名でまとめて (全年度の)売上を合計
  33. Knock 4−5:ピボットテーブル(2/3) 集約元の表を選択して「ピボットテーブル」を押す

  34. Knock 4−5:ピボットテーブル(3/3) 集約したい軸(テーブルの列名),集約関数を選択

  35. Knock 8−9:VLOOKUP関数(1/3) 表データを縦方向に検索し,値が一致した 行の指定した範囲のデータを返す関数 商品名 年度 売上 商品C 2020 10万円

    商品B 2019 20万円 商品A 2021 50万円 … データを追加したい表
  36. Knock 8−9:VLOOKUP関数(1/4) 表データを縦方向に検索し,値が一致した 行の指定した範囲のデータを返す関数 商品名 年度 売上 単価 商品C 2020

    10万円 商品B 2019 20万円 商品A 2021 50万円 … 単価情報を 列として追加したい データを追加したい表
  37. Knock 8−9:VLOOKUP関数(2/4) 表データを縦方向に検索し,値が一致した 行の指定した範囲のデータを返す関数 商品名 年度 売上 商品C 2020 10万円

    商品B 2019 20万円 商品A 2021 50万円 … 商品名 カテゴリ 単価 商品A 飲み物 250円 商品B 惣菜 400円 商品C 野菜 80円 … データを追加したい表(表A) 検索対象となる表(表B)
  38. Knock 8−9:VLOOKUP関数(3/4) 表データを縦方向に検索し,値が一致した 行の指定した範囲のデータを返す関数 商品名 年度 売上 商品C 2020 10万円

    商品B 2019 20万円 商品A 2021 50万円 … ※ VLOOKUP関数は検索対象列として表の左端(1列目)を想定 商品名 カテゴリ 単価 商品A 飲み物 250円 商品B 惣菜 400円 商品C 野菜 80円 … データを追加したい表(表A) 検索対象となる表(表B) = VLOOKUP(商品C, 表B, 2) 検索したい値 検索対象となる表 情報を引っ張る列は 何番⽬?(カテゴリ)
  39. Knock 8−9:VLOOKUP関数(1/4) 表データを縦方向に検索し,値が一致した 行の指定した範囲のデータを返す関数 商品名 年度 売上 単価 商品C 2020

    10万円 80円 商品B 2019 20万円 400円 商品A 2021 50万円 250円 … データを追加したい表
  40. バッドデータ対策 3

  41. 様々なバッドデータ フォーマットが統一されていない… 1つのセルに複数データが入っている… データが空… データに重複がある… データが構造化されていない… ファイルが文字化けしている… 入力ルールに反している…

  42. 代表的なバッドデータ事例(1/2) 氏名 生年月日 性別 山本祐輔 1982-09-25 男 浜松葵 1993-07-07 女

    静岡駿 平成6年11月5日 男 … … … 顧客リストの表 商品名 カテゴリ 単価 走れメロス 文学 480円 WIRED Vol.X 雑誌 1000円 走れメロス 文学 1050円 … … … 商品リスト データ制約に違反 矛盾データの存在 ISO8601拡張形式に 従っていない 単価情報が⽭盾 (同⼀データなのか?)
  43. 代表的なバッドデータ事例(2/2) 氏名 購買時間 購入物 山本祐輔 2022-04-06 12:31:50 単3電池 浜松葵 2022-04-07

    11:17:55 おーいお茶 山本祐輔 2022-04-07 11:42:07 味噌汁, おにぎり梅 … … … 顧客リストの表 1つのセルに複数のデータが混入している 購⼊物ごとに⾏を分けて記録 していれば,ピボットテーブル も使いやすいのに…
  44. 人間が読みやすいデータ 計算機が処理しやすいデータ ≠

  45. 人間が読みやすいデータ 計算機が処理しやすいデータ 変換・加⼯ あらかじめ制約を加えたデータ収集の しくみを作っておくのが楽

  46. 関係データベース(RDB: Relational Database) l データ管理者が指定したデータの整合性を担保 l ⼤規模データを効率よく検索・集計することが可能 Wikipediaを扱う関係データベースのER図 (画像出典:https://ja.wikipedia.org/)

  47. 次回以降 関係データベースとして保存された購買データを使用 ※ 特別にデータベース環境を⽤意する必要はありません