少しづつですが、学んできている。
データサイエンティストは、前職がマーケターとか理数系の修士博士を取っていないとなれない仕事だなーと思い、一度プログラマーとしてのキャリアを進むべきだ!と考えrailsとrubyの勉強をしていました。
今は簡単なアプリとか、作りたいものは基本作れるようになった感じです。
さらなるスキルアップのために、もう一度本腰を入れてデータサイエンスの勉強を始めたところです。
そもそも、データサイエンティストに必要な能力とは
①ハッキングスキル(プログラミングとか)
②数学、統計(を意味のある形にして、実装と運用をする)スキル
③独自の強み(前職とか)
参考:@hik0107 さん【そろそろデータサイエンティストの定義とスキルセットについて本気で考えてみる】
これらの能力をつけようとしている方々向け(僕と同じ初学者)に記事を書かせてもらいます。
失敗1: プログラム書けなすぎた
というより、当時の僕にとってpythonが分かりづらかったのかもしれません。
pythonがわかりづらいと感じた人は、phpとかrubyのようなわかりやすい言語の文法だけ覚えて再度pythonに挑戦すると、かなりわかりやすく(むしろ、pythonすげーなと)感じると思います。遠回りのように見えて、この方法が一番近いです。
これから勉強を始める方が注意すると、役立つと思われること
・python3が分かりづらかった。やるならcondaでpython2と3(3.5とか)で、分けてて進めるのがおすすめ。
→python3だと、本に書いてある通りに進めない時がある。
・python2,3で生じるエラーに免疫がなかった。
→(当時はわかりませんでしたが、エラーの文末か文頭読めば理解できるのでご安心ください!)
・プログラミングは、問題を解きながら覚えていくのが一番早い and 楽しい!
rubyをある程度勉強して、【ここめんどくさいな〜】と感じていたところを、pythonは補っていたのを最近知りました。
科学技術計算ライブラリも充実しているし使うならpythonですね。
失敗2: 統計スキル全く無すぎた
ある程度プログラミングができるようになるとコードは少し読めて理解できるようになりますが、次は「なんのアルゴリズムなのか、全くわかんない!」現象が起こります!
その時に、統計学のこういう定理とか公式がどう生きるか知っておけば、すごい楽しくデータサイエンスの勉強ができるはず!
勉強する順番は、ロジスティック回帰まで勉強するならまずこんな感じで進めていけば大丈夫かなと思います。
(現在お試し中なので、本当にうまくいくかわかりません。)
1:標準偏差、基準値などなど
2:確率密度関数(ガウス分布(正規分布)、カイ二乗分布などなど)
3:2変数
4:微分、行列
5:単回帰
6:重回帰
7:ロジスティック回帰
漫画のやつとか、わかりやすい統計学の本がたくさんあるので、理論を先に覚えていくのも1つの手だなと思いました!
まとめ
これから勉強を始める方は、
・pythonを勉強する!
・統計学を勉強する!
ここを進めると、少しづつ分かってくると思います!
P.S. これから自分に必要だと思っていること
たぶん、今僕がやっていることは、基本中の基本のようなことだと思います。
これからは、
・さらなる統計スキル
→いろいろな手法があると思うので、いろんな選択肢の中から正確な手法を選択できる用にならないといけないなと思います。どのような知識があると更に良いか、先駆者の皆様教えてくださいm(__)m
・データ処理スキル
→複雑なSQLとかちゃんと書けるようになりたいです。
・数学スキル
→pythonに任せちゃえばいいかなと思っているのですが、そんなことは無いのでしょうか?わかる方いれば教えて欲しいです!
===小さく作ろう!===
当たり前のことなんですが、研究されている方も居るくらいなので短期間にすべてを知ることなんて出来ません。今仕事にしている人も、全てに詳しかったら日本なんかで働いていないと思います。
プログラミングの勉強をしていて思いましたが、小さくつくって、知識を少しづつ積んでいくのが大切だなと思いました。
皆様のご意見是非教えてくださいm(__)m!!