# データ・マイニング
- [琉大知能情報コース](https://ie.u-ryukyu.ac.jp/~tnal/2021/dm/)3年次向けの選択科目、かつ、工学部の融合選択科目。2021年度から前期開講になるため、Numpy/Pandas/Matplotlib周りの演習も加える予定。

---
## 授業の流れ
- 導入
  - [データマイニング外観](./1-intro/intro.md)
  - [前提](./1-intro/env.md)
- Part 1: 機械学習入門
  - [機械学習外観](./2-ml-intro/ml-intro.md)
  - [コード例（線形回帰）](./2-ml-intro/regression_diabetes.ipynb)
  - プログラミング演習
    - [Numpy入門](./2-ml-intro/intro_numpy.ipynb), [Matplotlib入門](./2-ml-intro/intro_matplotlib.ipynb)
    - [映画レビューデータを通したデータ処理演習(Pandas)](./2-ml-intro/data_wrangling.ipynb)
  - [機械学習の中身を覗いてみよう](./2-ml-intro/ml-intro2.md)
  - [1次元データセットを通した勾配法の理解](./2-ml-intro/gradient_descent.ipynb)
- Part 2: 特徴量エンジニアリング
  - 特徴ベクトル、数値データに対する前処理: [資料](./3-feature-engineering/preprocess-number.md), [コード例](./3-feature-engineering/preprocess_numerical.ipynb)
  - カテゴリデータに対する前処理: [資料](./3-feature-engineering/preprocess-category.md), [コード例](./3-feature-engineering/preprocess_categorical.ipynb)
- Part 3: 特徴量エンジニアリング：自然言語処理
  - シソーラス、カウントと推論に基づいた設計、次元削減: [資料](./4-nlp/nlp1.md), [コード例](./4-nlp/nlp1_code.ipynb)
  - 代表的な自然言語処理（日本語を例に）: [資料](./4-nlp/typical_methods.md), [mecab編](./4-nlp/typical_methods_mecab.ipynb), [spacy編](./4-nlp/typical_methods_spacy.ipynb)
  - テキストデータに対する特徴量設計2（word2vecによる分散表現）
  - 転移学習外観
- タスク＆アルゴリズム例
  - グラフマイニング
  - 頻出パターンマイニング
  - 推薦システム
  - 時系列データ分析

---
## 参考文献
- データマイニング・機械学習全般
  - [Data Mining: Practical Machine Learning Tools and Techniques, 4th Edition](http://www.cs.waikato.ac.nz/ml/weka/book.html), 代表的なアルゴリズムとそれを用いた事例集。深層学習まで含みます。学内接続で[附属図書館の電子版](http://opac.lib.u-ryukyu.ac.jp/opc/xc/openurl/search?rft.isbn=9780128042915)読めます。
  - [データからの知識発見](https://www.amazon.co.jp/dp/459531373X/), 代表的なアルゴリズムの解説本。1冊にまとめてるためにやや急ぎ足ですが、多数のアルゴリズムを概観するならオススメ。
  - [Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition](https://www.amazon.co.jp/dp/1789955750), scikit-learnをベースに「適用方法」を中心に解説。
  - [Pythonで動かして学ぶ！あたらしい機械学習の教科書 第2版](https://www.shoeisha.co.jp/book/detail/9784798159911), 機械学習の中身をシミュレーション＆可視化しながら学んでいく教科書。
  - [機械学習のエッセンス 実装しながら学ぶPython、数学、アルゴリズム](https://www.sbcr.jp/product/4797393965/), 数学中心に基礎から学んでいく教科書。
  - [仕事ではじめる機械学習](https://www.oreilly.co.jp/books/9784873118215/), タスク視点から整理した事例集。
- 特徴量エンジニアリング
  - [機械学習のための特徴量エンジニアリング――その原理とPythonによる実践](https://www.oreilly.co.jp/books/9784873118680/), 機械学習を具体的なタスクに適用しようとした際に直面する「あるある事例集」。
  - [5.3. Preprocessing data](https://scikit-learn.org/stable/modules/preprocessing.html)
- 自然言語処理
  - [自然言語処理 (放送大学教材)](https://www.amazon.co.jp/dp/4595319584/)
  - [ゼロから作るDeep Learning ――Pythonで学ぶディープラーニングの理論と実装](https://www.oreilly.co.jp/books/9784873117584/)
  - [ゼロから作るDeep Learning ❷ ――自然言語処理編](https://www.oreilly.co.jp/books/9784873118369/)
  - [深層学習](https://www.kspub.co.jp/book/detail/1529021.html)
  - [自然言語処理の基本と技術](https://www.shoeisha.co.jp/book/detail/9784798128528)
  - NLTK: [Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit](https://www.nltk.org/book/)
  - [MeCab: Yet Another Part-of-Speech and Morphological Analyzer](https://taku910.github.io/mecab/)
  - [日本語構文・格・照応解析システム KNP](http://nlp.ist.i.kyoto-u.ac.jp/index.php?KNP)
    - [KNPの基本的な出力の読み方](http://cr.fvcrc.i.nagoya-u.ac.jp/~sasano/knp/format.html)
    - [pyknp: Python Module for JUMAN++/KNP](https://pyknp.readthedocs.io/en/latest/)
  - [Python による日本語自然言語処理](http://www.nltk.org/book-jp/ch12.html)
    - Python 2.x時代のコード。関連ライブラリも当時のもののため、そのままでは動作しないコード例あり。自然言語処理における代表的なタスクや取組事例として参考にしよう。
  - [GiNZA公式サイト](https://megagonlabs.github.io/ginza/)
  - [spaCy公式サイト](https://spacy.io)
  - [word2vecによる自然言語処理](https://www.oreilly.co.jp/books/9784873116839/)
  - [gensim](https://radimrehurek.com/gensim/)
  - [fastText](https://fasttext.cc)
  - [BERT](https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html)
  - T5
  - GPT-3
  - 事例紹介
    - [自然言語処理 #2 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/nlp2)
    - [自然言語処理 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/nlp)
