埼玉大学工学部情報工学科 開講授業『データマイニング演習』教材
Original:https://github.com/su-ohkubo-lab/datamining-excercise
スマホやセンサ技術の普及によって,毎日,大量のデータが生み出される時代になりました.これらの大量のデータは,こちらから働きかけなければただのデータ,つまり単なる数字の羅列に過ぎません.情報技術が発達してデータの取得が簡単になったからこそ,それを活かせるかどうかが鍵になるわけです.つまり,単なるデータを,使えるデータ・情報に変えるための技術が必要とされるようになっています.
そのような時代には,与えられたデータを単純に読むだけではなく,積極的にデータに働きかけて活かすための技術が大切になります.この技術を身につけておくと,今後,社会の様々なところで役に立ちますし,それ以上に,データときちんと向き合って付き合っていく姿勢を養うことは,情報化社会を生きていくうえでとても大切なことのはずです.
ところで・・データを解析するためには「数学がわからないと駄目なのでは?」「高度なプログラミング技術が必要なのでは?」と思うかもしれません.
もちろん,きちんとしたデータ解析のためには数学もプログラミングも必要です.自分が使っているデータ解析手法の数学的な部分も理解していれば,解析結果に自信を持てますし,説得力も増します.プログラムをきちんと組むことができれば,自分の目的に合う適切な解析をおこなえます.
でも,とりあえずデータを解析して何かしらの知見を得たい,というだけであれば,実は数学も高度なプログラミング技術もいりません.Pythonというプログラミング言語を使うと,とても簡単にデータを読み込み,解析し,そして結果を図示することができます.Pythonは人工知能や機械学習,そしてもちろんデータマイニングも含めて幅広く使われていて,初心者にもやさしく,その一方で深層学習(ディープラーニング)の研究・開発現場でも使われているくらい高度なこともできるプログラミング言語です.
この演習では,データを扱うための最低限度の知識を学びながら,Pythonを用いたデータマイニングを実践してみましょう.
- サンプルコードとサンプルデータを配布します.
実践への取り掛かりが容易になりますように,と願っています. - 事前学習用の説明の付記しました.
プログラミング初心者向けを念頭においた説明を付けました.事前に説明に目を通し,必要な部分について各自で調べた上で演習に参加してください.これによって学習・演習の効率を高めます. - 自分で調べながら実施する課題を設置しました.
受講者のレベルに応じて,高度な解析方法を試したり,数学的な部分にまで踏み込んだり,といった形で学習を進めてください.他人との比較ではなく,自分がどれだけ成長できるかが大切です. - この教材を終えたあとが本題です.
演習の本題は「自分でデータを収集し,解析手法を検討し,議論をしながら,解析とレポートの作成をすること」です.本教材はあくまでもその準備段階として利用するものです.この演習は,実際の教室で教員も含めて参加者全員が揃うことで初めて可能になります.教材が公開されているから参加不要,ということではありませんので注意してください.
以下の順番で進みます.詳しくは授業で説明します.
- 演習にあたっての心構え
- Pythonの基本的な使い方
- 回帰問題(データ解析の基本です.データ解釈や予測に使えます)
- 識別問題(「この画像は『猫』,こっちは『犬』」のように識別します.人工知能的な幅広い応用もあります)
- クラスタリング(データをいくつかのかたまりに分けます)