機械学習の参考リンク集

# はじめに

本記事では、機械学習を扱うにあたって、参考になるウェブサイトやブログの記事などを紹介します。私自身の備忘録も兼ねているため、気まぐれで随時更新していきます。ご了承ください。

↓こちらと合わせてご覧ください。
[機械学習の用語集](https://qiita.com/daikikatsuragawa/items/dad446105bfd11ff995b)

# 機械学習の参考リンク集
## 導入・総合
### [機械学習をざっくりと理解する - Qiita](https://qiita.com/t-yotsu/items/1a6bf3a4f3242eae7857)

題の通り、“機械学習をざっくりと理解する”ことに役立ちます。目的変数？説明変数？モデル？回帰問題？分類問題？教師あり学習？教師なし学習？これら単語でさえ曖昧、または知らないような人が読むのにオススメです。

### [Web開発におけるコンピュータサイエンス - 機械学習編1 - Hatena Developer Blog](https://developer.hatenastaff.com/entry/hatena-textbook-machine-learning-01-2016)

「はてなサマーインターンの講義資料」です。インターンシップに利用されていることもあり、かなり読みやすい記事です。文量は多いものの、基本的な内容が書いてあり、入門には十分かと思われます。

### [ポケモンデータ解析.py - Qiita](https://qiita.com/maskot1977/items/2680927b58cdc4fad8d4)
ポケモンのデータを対象として、データ分析〜機械学習までの基本的な流れをプログラムも添えて紹介しています。題材のチョイスもあってか、親しみやすくかなり読み進めやすい内容です。データ分析や機械学習を使用した研究に取り組む大学生、大学院生にオススメです。

## 手法

### [Choosing the right estimator — scikit-learn 0.21.3 documentation](https://scikit-learn.org/stable/tutorial/machine_learning_map/)

Pythonで利用できる機械学習のライブラリ[scikit-learn](https://scikit-learn.org/stable/)のアルゴリズムチートシートです。データの内容や機械学習を使用する目的に基づいて、どのアルゴリズムを使用するとよいのかを選ぶのに役立ちます。

### [【目次】Python scikit-learnの機械学習アルゴリズムチートシートを全実装・解説](http://neuro-educator.com/mlcontentstalbe/)
上記、「[Choosing the right estimator — scikit-learn 0.21.3 documentation](https://scikit-learn.org/stable/tutorial/machine_learning_map/)」に記載されている機械学習アルゴリズムについて実装、解説をしています。チートシートによって選定したアルゴリズムをすぐに試すことが可能です。


### [Kaggle Ensembling Guide | MLWave](https://mlwave.com/kaggle-ensembling-guide/)
複数のモデルを組み合わせることで精度の高いモデルを作成する手法であるアンサンブル学習について、具体例とともに紹介されています。私自身、「そもそも、モデルをアンサンブルしたところで予測精度は良くなるのか？」といういう疑問を持っていましたが、この記事を読んだことによりアンサンブル学習の利点に納得することができました、

### [『Kaggle Ensembling Guide』はいいぞ【kaggle Advent Calendar 7日目】 - u++の備忘録](https://upura.hatenablog.com/entry/2018/12/07/000000)
「[Kaggle Ensembling Guide | MLWave](https://mlwave.com/kaggle-ensembling-guide/)」についての紹介です。「アンサンブル学習」について、端的にメッセージを知りたい方や、英文に抵抗がある方にもオススメです。

## 評価

### [validationの切り方いろいろ（sklearnの関数まとめ）【kaggle Advent Calendar 4日目】 - u++の備忘録](https://upura.hatenablog.com/entry/2018/12/04/224436)
機械学習において、モデルの評価をするときに交差検証（cross-validation）が利用されます。代表的なものとして、K-分割交差検証（K-fold cross-validation）などがあり、これによりトレーニングデータとテストデータとに分割しますが、場合によっては、偏りや順序（時系列）を考慮する必要があります。
この記事ではそのような交差検証の重要さと、交差検証の分割方法について紹介されています。

## その他

### [kaggle初心者はどのコンペに参加すべき？コンペの7分類を紹介 - こここブログ](https://www.kokokocococo555.com/entry/2018/08/29/223655#1-%E5%A7%8B%E3%82%81%E3%81%AE%E4%B8%80%E6%AD%A9Getting-Started)

機械学習・データサイエンスのコミュニティである[Kaggle](https://www.kaggle.com/)。コンペティションに挑戦してみたいが、ハードルが高いと思って前に進めないという人にオススメの記事です。Kaggleのコンペティションは7つに分類されており、どの分類のコンペティションに参加するのかを選定する指針として役に立ちます。

### [Kaggleで使える！Pandasテクニック集 - Qiita](https://qiita.com/R1ck29/items/9b75b630b37c9e3e4b3f)
Pythonを用いるデータ分析で重宝されるライブラリ[Pandas](https://pandas.pydata.org/)について、機械学習で約立つテクニックが紹介されています。例えば、[プログレスバーの表示](https://qiita.com/R1ck29/items/9b75b630b37c9e3e4b3f#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%AC%E3%82%B9%E3%83%90%E3%83%BC%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B)、[大量データの読み込み](https://qiita.com/R1ck29/items/9b75b630b37c9e3e4b3f#%E5%A4%A7%E9%87%8F%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95)などはすぐに役に立つかと思うので使ってみてはいかがでしょうか。

# おわりに

本記事では、機械学習を扱うにあたって参考になるウェブサイトやブログの記事などを紹介しました。私自身、かなりお世話になっているウェブサイトやブログの記事です。これらが、私の紹介によって、みなさんの参考になれば幸いです。

もし、他にもオススメのウェブサイトやブログの記事などがありましたら、コメントなどをいただければ幸いです。