インターンに参加しました(前半)
概要
沖縄の某社インターンに参加してやったこととかです。
完全に日記です。
いきさつ
インターンというかアルバイトに応募したら、研修で同時期に開催される短期サマーインターンにも参加してねという感じでした。
場所はPythonマスターに誘ってもらった真Pythonマスターがいらっしゃるとこですね。
もっと早くに声はかけてもらってましたが能力が足りず面接で喋る材料がなかったので深層学習の基礎をフルスクラッチで書いたりなどしていました。それも結局CNNまで辿り着く前に学会発表などが入り忙しくしているうちにサマーインターンの時期になってしまい、自信は相変わらずなかったですが時期的にこのタイミングで応募するしかないということになってしまい、応募した次第です。
やったこと
Day1
学会発表でいきなりお休みをいただきました。すみませんでした
夜中にSlackで資料がもらえたので頑張って読みましたが環境構築とPython基礎、Pandas基礎、Webクローリングとスクレイピング基礎といった内容でした。クローリングとスクレイピングが新鮮で面白かったので眠かったが結構頑張ってしまいました。結果追いついたっぽかったので良かったです。
BeautifulSoup4というパッケージを使いました。美味しいスープが作れるように頑張ります。
Day2
午前はスクレイピングの演習問題を解いてました。
午後から新しい資料をもらい、データ分析手法の概要と、scikit-learnを使って例題及び演習を解き始めました。
すなわち相関、回帰、決定木・ランダムフォレスト、k-means法、SVMなどといった内容でした。
SVM以外は一通り知識があったのであまり詰まることなくやれました。scikit-learnが統一したインターフェースを持ってて便利ですごいと思いました(粉ミカン)
ランダムフォレストは5月くらいに読んだ論文に出てきたもので、軽く調べたら決定木がたくさん生えてるからフォレストみたいな感じで面白すぎたのでいつかやりたいと思っていて結局触っていなかったので、今回使えたのは良かったです。
SVMも論文で出てきましたがあんまよく分かっていなかったので分かりやすく知ることができて幸いでした。カーネル法の考えがチートみたいだと思いました。
Day3
前日やり残した問題と、kaggleチュートリアルでもあるタイタニック問題について解いていました。 ここでPandasを完全に理解したと思っていたら結構ガバガバだったことに気がついたので(今まで使った経験はありませんでした)ちょっとちゃんとやらないといけないと思いましたが未だにやっていません。
規定時間終了後、論文輪読会があるらしく拝聴しました。メタラーニングの話でした。ニューラルネットワークを使うにあたって現状の自身のハイパーパラメータ決定の行き当たりばったり感が気持ち悪かったので、この分野はいずれ調べてみたいと思いました。
Day4
タイタニック問題の解法をインターン生がそれぞれ発表して総括といった感じでした。やはり自身のPandasの使えなさが目立つ発表となりました。
決定木の深さの話、葉の話などハイパーパラメータに関する部分の話、扱うデータの話(連続値はクラス分類の際扱いが難しい)、相関関係の話(pd.corr()で出した相関関係が低い≠関係ない、ではない)など、とてもためになる話を聞けたと思います。
Day5
前半最終日は自然言語処理入門でした。
我々の記憶に新しいMeCabを使いました。驚いたのはmecab-python3という形でPython用MeCabパッケージがあるという点でした。なんでもあるわねPython
別に特定の言語の信者ではない(信者になれるほど語れない)ですが文字列の扱いはPythonはだいぶ楽だなという感想でした。
Bag-of-Words、TF-IDFというベクトルの指標などの概念をやったのち演習という形になりました。
画像処理はともかくとして言語処理は本当にやったことがないので新鮮でとても面白いものでした。
終わりに
Pandas頑張ります