TechAcademyのPython+データサイエンスコースを受講した感想

#記事の内容
TechAcademyの[Python+データサイエンスコース](https://techacademy.jp/python-datascience-set)を受けた感想を記します。
受講を検討されている方の参考になれば幸いです。

○受講目的
○基本情報
　・受講期間
　・学習方法
　・環境構築
○受講までにやっていたこと
○Pythonコースの感想
　・メンター
　・カリキュラム
　・到達レベル
○データサイエンスコースの感想
　・メンター
　・カリキュラム
　・到達レベル
○おわり

#受講目的
私はメーカーで生産技術の仕事をしていますが、
生産性向上のツールとしてデータ分析や機械学習を学びたくて受講しました。
製造条件の自動推定や検査工程の自動化に興味があります。
Python+AIコースにするか迷いましたが、まずはデータを見る力を養うことが重要と考えデータサイエンスコースを選びました。

#基本情報
####受講期間
8週、12週、16週、24週から選択可。私は16週コースを選びました。

（前半）Pythonコース：8週
（後半）データサイエンスコース：8週

データサイエンスコースでPythonを使うため、前半がPythonコースになります。
これは[Python+AIコース](https://techacademy.jp/python-ai-set)であっても同じです。この期間であれば、標準的な勉強時間は10〜20時間/週です。
ただし、かなり個人差があります。
平日1時間、土日各5時間ならやれそうと思い、この期間を選びました。長いほど費用は高くなりますが、余裕を見ておいた方が無難です。特に、働きながらの学習だと平日全く進められないこともありますので笑

####学習方法
TechAcademy独自の教材、又は指定書籍（市販）を独自に勉強します。
理解度を試す課題が各コース5個くらいあり、メンターに採点してもらって全て合格なら修了です。
分からない箇所をメンタリングの時間や、Slackを使って質問します。
メンタリングは週2回各30min設けられており、進捗確認や、補足情報を教えてもらったり、質疑応答はもちろん、時間が余ればプログラミングや仕事について雑談していました。
（規則上はカリキュラムに無い内容はNGなので、雑談有無はメンターに依るかもしれません。）
Slackでは随時質問できます。すぐに返ってくるとは限りませんが、メンターが時間を見つけて回答してくれます。答えを示してもらえるというよりは、このサイトや資料を見たら良いと教えてもらえます。

####環境構築
AWS cloud9を使ってプログラミングします。
こちらが書いたコードはメンターからも見ることができます。
EC2の750hr/月の無料枠を使っていました。


#受講までにやっていた事
[独学プログラマー]
(https://www.amazon.co.jp/dp/B07BKVP9QY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)を読みました。受講前にPythonの基本文法を押さえておくとスムーズに進められますが、Pythonコースの受講が前提であれば、特に何の用意もいりません。データサイエンスコース単独で受ける場合はPythonの基本文法の理解が必要になります。
<img width="220" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318960/8e94b8ee-394e-2740-a7a0-a37d651cdca1.png">

#Pythonコースの感想
####メンター
メンターはプログラマーの方でした。
プログラミングを生業とされている方に教えてもらうのは貴重な体験でした。私はプログラミング素人なので、とにかく動かすことに頭がいきがちなのですが、「こういう書き方をするとバグのリスクを減らせる」とか、「デバッガとしてはこいうツールがある」とか**実務を念頭においた話が聞けたのが良かったです。**

####カリキュラム
**TechAcademy独自の教材を進めていく形式です。**
内容は型から始まり、変数、関数、、if、繰り返し、、オブジェクト指向、、jupyter notebook、Numpy、Pandasからscikit-learnまで、基本文法とデータ分析で使う主たるライブラリが一通り含まれています。**しかし、レベルは高くありません。広く浅くと言った感じです。**実際、8週間コースでしたが教材の写経と修了課題を４週間で終えてしまいました。物足りなかったので、教材と同じ項目について[入門 Python 3](https://www.amazon.co.jp/%E5%85%A5%E9%96%80-Python-3-Bill-Lubanovic/dp/4873117380/ref=asc_df_4873117380/?tag=jpgo-22&linkCode=df0&hvadid=295686767484&hvpos=1o1&hvnetw=g&hvrand=8240134635594735899&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1028852&hvtargid=pla-528205941103&psc=1&th=1&psc=1)を独自に写経しました。**レベルとしてはオライリーの入門書の方がまだ高いと思います。**4週間余ったので、メンターに練習問題を出していただいたり、[paizaスキルチェック](https://paiza.jp/challenges/info)の添削をしてもらいました。同じ問題を解いたコードを見ると、メンターのコードは断然短く、「こんな短くかけるんだ！」と感動しました笑

####到達レベル
このカリキュラムをマスターして到達するレベルは**プログラマー見習いの入口に立てるか立てないかくらい**だと思います。実際、初回にメンターに到達レベルを質問したところ、**「このカリキュラムを受講したからと言って、何か作れるわけではない。会社に入ってからの勉強が本当の勝負」**というお言葉をいただきました。私の実感としてもそうです。


#データサイエンスコース
####メンター
メンターは大学講師の方でした。
研究で統計をバリバリ使われている方だったので、**実際にデータ分析する際の注意点を聞けたのが有益でした。**また、統計を勉強するための書籍を色々教えて頂き、助かりました。
これらは全て雑談の中で聞いた事柄で、**雑談の中で得られるものが多いです笑**

####カリキュラム
**[Pythonで学ぶあたらしい統計学の教科書](https://www.amazon.co.jp/Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%81%82%E3%81%9F%E3%82%89%E3%81%97%E3%81%84%E7%B5%B1%E8%A8%88%E5%AD%A6%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-AI-TECHNOLOGY-%E9%A6%AC%E5%A0%B4-%E7%9C%9F%E5%93%89/dp/4798155063/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=python+%E7%B5%B1%E8%A8%88&qid=1566570463&s=books&sr=1-4)を独自に進めていく形式です。**
統計学の基礎を学びながらPythonのライブラリであるSciPyの使い方に慣れることができます。
検定や統計モデルの概念を分かり易く書いてあるので、初心者でも勉強しやすいです。
内容は記述統計学に始まり、推測統計学や検定、正規線形モデル、一般化線形モデル、機械学習基礎（Ridge回帰、Lasso回帰、ニューラルネットワーク）が含まれます。また、kaggleの[Titanic: Machine Learning from Disaster](https://www.kaggle.com/c/titanic/overview)について紹介があります。
公式の証明など、背景にある理論に遡って調べていたので、時間がなくなり8週ギリギリでの修了になりました。


カリキュラムのレベルはPythonコースと同様広く浅くと言った感じです。統計と機械学習の概要を掴むことを主目的としたカリキュラムになっています。メンターから**統計学の理解としては、このカリキュラムだけでは不十分**とのご指摘を受け、以下紹介されたサイトや書籍を併用して勉強していました（継続中）。
・[高校数学の美しい物語](https://mathtrain.jp/category/toukei)
・[統計WEB](https://bellcurve.jp/statistics/)
・[入門 統計学](https://www.amazon.co.jp/%E5%85%A5%E9%96%80-%E7%B5%B1%E8%A8%88%E5%AD%A6-%E2%88%92%E6%A4%9C%E5%AE%9A%E3%81%8B%E3%82%89%E5%A4%9A%E5%A4%89%E9%87%8F%E8%A7%A3%E6%9E%90%E3%83%BB%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB%E6%B3%95%E3%81%BE%E3%81%A7%E2%88%92-%E6%A0%97%E5%8E%9F-%E4%BC%B8%E4%B8%80/dp/4274068552/ref=sr_1_4?adgrpid=50831475542&gclid=CjwKCAjwnf7qBRAtEiwAseBO_JoxWU_-KEazVvPZClw0mR48TdbT2GDgu7T73TiZPxK-WDb8cKWK5xoCR2YQAvD_BwE&hvadid=338567868634&hvdev=c&hvlocphy=1028852&hvnetw=g&hvpos=1t1&hvqmt=b&hvrand=14990121816254520589&hvtargid=aud-758806828496%3Akwd-311729653825&hydadcr=16036_11170811&jp-ad-ap=0&keywords=%E7%B5%B1%E8%A8%88%E5%AD%A6%E5%85%A5%E9%96%80&qid=1566605808&s=gateway&sr=8-4)
・[データ解析のための統計モデリング入門](https://www.amazon.co.jp/gp/product/400006973X/ref=ox_sc_act_title_9?smid=AN1VRQENFRJN5&psc=1)

修了課題としては、Ridge回帰を使ってkaggle-[House Prices: Advanced Regression Techniques](https://www.kaggle.com/c/house-prices-advanced-regression-techniques)の予測精度を上げる問題が出題されました。

<img width="220" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318960/ff8f5dcb-7578-cf1c-3ea2-713d53700e03.png">

####到達レベル
カリキュラムをマスターした場合、統計の実力としては**統計検定2級を受ける下地ができるくらいだと思います。**機械学習については、ほんと触りだけなのでkaggle入門くらいのレベルだと思います。

#おわり
費用が安くないので、かなり効果がないと受講しにくところですが、
学習意欲が高まっている状態であれば更にブーストをかけるのには有用と感じました。
<font color="green">**絶対オススメ！とまでは言えないですが、これからデータ分析を本格的に勉強したい人の足がかりとしては良いと感じました。**</font>

良かった点としては、
・週2回メンタリングがあるので、継続して勉強する
（何か質問事項を作らないと損！の気持ちから）
・プロとの実力差を体感できて、モチベーションが上がる
・次に学ぶべきことを指南してもらえる

逆にいまいちだったこととしては、
・Pythonコースの内容が想定していたよりも薄かった
・費用が高い

ちなみに、私は受講期間に転職活動（TechAcademyの転職紹介システムではなく）をしており、機械学習やデータ分析をやっている職種を受けましたが、本講座に対する質問は無かったです笑。