作業日誌2018-09-26
作業日誌2018-09-26
【やったこと】
- CourseraのHow to Win a Data Science CompetitionのWeek2、EDAの実践〜Validationまで終了。
【わかったこと / 進捗があったこと】
- index * feature statistic (feature1 *feature1.mean()など)の散布図はなるほど便利。
- plt.plot(x, ‘.’)
- train.nunique(axis=1) == 1のカラムは削除したほうが良い。役に立たないのにモデル作成時にメモリを食うため。
- df.drop_duplicates()で値が丸々被っている行も消しておこう。
- targetの平均と、訓練データのindex順にとった移動平均のグラフを描くことで、訓練データに偏りが無いかどうか確認できる。
- EDAのチェックポイント
- Get domain knowledge.
- Check if the data is intuitive.
- Understand how the data was generated.
- Explore individual features.
- Explore pairs and groups.
- Clean features up.
- Check for leaks!
- 「print 'Train shape', train.shape」の形は出力に便利。
- Numeraiという毎週データが変わるタイプのコンペがあるらしい。
- sorted correlation heatmapで要素のグループ化が捗る。
【考えたこと】
- NULL値の出力:train.isnull().sum(axis=1).head(15)
- pd.info()の方が好きだなあ。
作業日誌2018-09-25
【やったこと】
- CouseraのHow to Win a Data Science CompetitionのWeek2、EDAの匿名データの扱いまで終了。
- 上記コースの最終アサインメントで変数の寄与度を見た。
- ベルばら全巻が半額だったので買って一気読みした。
【わかったこと / 進捗があったこと】
- 企業によって変数が加工してあるデータを使ったコンペがあることは知っていたけれど、値がハッシュされていることもあるというのは知らなかった。探索の仕方が面白かったけれど、実際のところはどれぐらい深掘りするのかなという気にもなった。
- RandomForestでさくっと重要そうな変数にあたりをつけるのは便利だなと思った。
- pandasのnuniqueメソッドを新しく覚えた。べんり。
【考えたこと】
- Visualizationのチャプターがとても役に立ちそうで良い。
- 現在の学習経路をtwitterで公開してみたら反応が大きかったので、今の自分の学習したい項目と、カリキュラムの予定を書いてみようかなと思った。
作業日誌2018-09-24
【やったこと】
- CouseraのHow to Win a Data Science CompetitionのWeek1完了。
- 上記コースの最終アサインメントに仕掛かり。
- コスキン(笛)の練習
【わかったこと / 進捗があったこと】
- Courseraの最終アサインメントは早いうちから取り組んだ方が良い。
- MacbookにJupyter入れておくとコインランドリーでも作業できる…が、plotly使わないならiPadのPythonistaでもいけたかな?と後から気づく。
【考えたこと】
- 10月最初の連休は演奏会と小旅行で埋まりそうなので、Courseraを前もって進めておきたい。
- 画像系の下処理の話が出てきたけれど、NNや画像認識の基本的な流れがあまりよくわかっていないので、AidemyのCNNによる画像認識をどこかのタイミングで進めておきたい。
- Courseraの中で画像認識が取り立てて扱われないのであれば、終わってからでも良いかな。
作業日誌2018-09-23
【やったこと】
- CourseraのHow to Win a Data Science CompetitionのWeek1、Pandasのアサインメントを完了。
- 問4で2日間詰まっていたが、フォーラムに行ったら解消。問題文がわかりづらいけれど、item_cnt0未満のレコードを切り捨てるわけではなく、varで分散を求める際にddof=1を指定すると解決。
- Week1のデータ前処理の部分まで終了。
- 今まで知りたかった、「どんなモデルでどんな前処理をしたら良いのか」を学べて良かった。
- 『Scikit-learnとTensorFlowによる実践機械学習』、2章まで読了。
- 機械学習の手順をまとめておきたい。kaggleで写経したものも手順をまとめてあるので、「データの前処理」「モデル作成」「モデルの評価」などの手順ごとに、どんな手法を使ったのかでまとめておきたい。また、よく図式化されたものがなかなか無いので、ストックが溜まったらまとめる。
- はてなブログで活動日誌を始めた。
- 副業の打ち合わせをした。
- はじめてスタバから電話会議で、ミーハーなので時代の最先端!とわくわくする。ノマド的な。
- 個人Slackに「learning-product-mng」を追加。
【わかったこと / 進捗があったこと】
- CourseraのJupyter NotebookのアサインメントはiPadでも投稿可能。
- Pandasのvarメソッドでddofパラメータを使うと不偏分散を求められる。
- One hot codingはnon-tree-basedでは大変重要。
- データのscalingはnon-tree-basedでは欠かせないが、tree basedではよしなに扱ってくれるので不要。
- XGBoostはNaNをよしなに取り扱ってくれる。
- 欠損値の処理は値を予測できたり、平均や中央値で補って問題なさそうな場合はそのように。ただし、カテゴリ変数の前処理を施す前にやっておいた方が良い(欠損値を999などで埋めた後にLabelingしたら謎の495が生まれたりするのを防ぐため。)
【考えたこと】
- ゲームではないプロダクトの企画に関するフレームワークを今一度整理しておきたい。マネタイズを含めたデザインをするにあたって、どういう手順を踏んで計画されるべきなのか、勉強しておく。
- 個人Slackは考え事や記事の整理に大変便利。
- やはり人生をGamificationする仕組みづくりにコミットしたい。
scikit-learnとTensorFlowによる実践機械学習
- 作者: Aurélien Géron,下田倫大,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
このBlogについて
このBlogは、ヨノセコがひたすらその日にやったことを記録していくものです。主に、特定のコンテンツとしてまとめるまでも至らない、毎日の小さな何かを記録します。
このBlogで進捗を重ねつつ、ある程度まとまったものをnoteなどで発信したりしていけたらなと思います。