コードを書いたり理解する速度をどのようにあげるか
質問
機械学習や特徴量など、本で学べることは大体理解し、Pythonもある程度理解していますが、個々のライブラリやgpuに関する知識があまり無く、notebookをcopyしてもそのままでは動かなかったり、titanicの時と比べてコードの実行にかなり時間がかかっているようでなかなかsubmitまで辿りつけません。
実際にコードを書いたりnotebookを理解するためにおすすめの書籍や勉強方法が有れば是非教えて頂きたいです。
答え
podcastで話したのでよければ。34:30からです。
早くなる方法は色々とあるかと思いますが、まずは量をこなすしかないと思います。
例えば仕事で機械学習をしている人は、毎日コードを書いて、効率的な方法を模索しており、それでもスピードを課題としているわけです。その方のように早くなるためにはまずは量が必要になります。
それを前提とした上で、Kaggleの速度という意味だと、まずはKaggleでよく行われる処理などは最低限理解し、自分のやり方があると良いです。そうすると他の人のやり方をみたときに、自分との違い、そのやり方と自分のやり方の違いやメリデメなどを比較できるようになります。
また、自分の過去のコードの整理や、どこにどの情報があるかを知っていることも速度の面では、重要そうです。最低限のベースラインなどは、過去に自分が書いたコードや人のコードのコピペなどで出来上がることもあり、その状況はかなり早いと思います。
おすすめの勉強方法としては、コードを積み上げるために、Kaggleをやると良いです。スピードが相当上がります。
更にスピードを早くしたいなら、自分が過去に取り組んだコンペなどを、再度0の状況でやると良さそうです。
残念ながら、一度やったコンペでも以外と早くできないものです。
ツイート