飽きるまでやります。

私の私による私のためのメモ。内容に一切の責任を負えません。

インターンに参加しました(後半)

概要

インターン後半戦です。

やったこと

Day6

後半インターン課題が発表されました。内容としてはアマz…インターン用に作られた仮装通販ページに対してのWebスクレイピング+分析といったものでした。

まず作戦会議ということで、3人のインターン生で方針決めを行いました。続いてとりあえずデータを使える道具にしなければならなかったので、Webクローリング+スクレイピング班に2人、構文解析班に1人で分かれて作業に取りかかりました。僕は構文解析班ということで、文章を渡したらいろんな形態でデータを返すクラスを書きました。

初心者なので地味にPythonのクラスを書いたことがなかったのでself…thisかな??みたいな感じで書いていました。
これは初日に完成しました。

1つだけやりきれなかった点として、継承クラスで書いたんですが、親クラスの関数への引数の渡し方がわからなくて諦めました。これは後日pandasのplotの公式ドキュメントを読んでいたらわかった気がするので早めに試してみて解決したいです。

Day7-9

ここからはひたすら分析と結果を眺めて憂鬱になる繰り返しでした。色々新しい知見は得られたと思いますがあとでまとめます。

Day10

最終日です。僕はそもそも最終日に分析はしたくないから1日前に終わらそう!!!と言っていたのですが残念ながら成果が得られなかったので最終日も分析をしていました。初期段階の方針の結果は芳しくなく、ただし使えないデータというわけでもなかったため得られたデータを人力で眺めて分析していました。連日の寝不足も相まってなかなかな感じでした。

紆余曲折を経て締め切りの1分前に発表スライドが完成し、なんとか発表と相成りました。

データ分析と課題の特性上、明確な答えが存在しない課題であり結局我々のインターンは成功だったのか失敗だったのかだいぶ謎を残した発表を終えインターンは終了しました。

得られた知見

  • まずデータを眺める
    • 分析の道具となるデータ自体をまず眺めると必ずクライアントが求めている解への仮説が立つ…はず
    • いろんな形にして眺める、これは簡単にできる、そうPandasデータフレームならね
  • 使うデータを絞る
    • 明らかに使えないデータをそぎ落とすのは当然として、そこからさらに仮説を立てて絞る、もしくは絞って仮説を立てる
  • そんな絞ったデータで全体像を語れるの?
    • 全体像を語る必要はなく、こういった条件においてこういった結果になります、というのも一つの分析結果
    • クライアントを納得させることができる材料を揃える
  • データ分析で求められた結果にプラスアルファをおまけするとクライアントがいい印象持つかも

感想

社長さんはとても忙しそうであまり多くの話を聞けなかったのが残念ですがそれでもたくさんの知見を得ることができました。
今後おいおい吸収していきたいと思います。

これは実験や卒研でもそうですが、思った通りの結果にならないのが科学の世界なのかなーと思いました。〆切を過ぎない程度に試行錯誤を重ねていきたいですね。

これは僕個人の勝手な感想なので間違っていたらごめんなさいという感じなのですが、結果の正確性も大事ですが何よりクライアントを納得させることが大事そうな印象を受けました。これはビジネスという感じがしました。

グループワークにおいて、特に締め切りが近い段階では定期的な進度の共有が必須だと感じました。個人間のスキル差も考えないとだし。一応気をつけていたんですが不十分でちょっと大変でした。いろいろ。

今後の課題

とりあえず継承クラスとPandasをやっていきます。特にPandasはPythonを使うようになって初めて思った通りに使えなかったのでここはちょっと克服したいと思います。なんかすごくいい感じのPandasチートシート(?)もらったことだし。データベースの経験があればなーと思いました。継承クラスは多分**kwargsあたりで解決できるはず…。

あと自然言語処理で作りたいものがなんとなく浮かんできたので趣味としてWebスクレイピング自然言語処理はやりたいと思います。画像処理に興味あったはずなんですが画像はどこ行ったんですかね。画像も趣味でやりたいんですけどね。研究もしないとすね。院も決めないと。つら