nend・nex8のエンジニア・技術ブログ2018-03-12「そのアプリ、広告あるんですか?」2値分類こんにちは。ピザが大好きg_takahashiです。イタリアではマフィアに襲われて5万円盗まれました。前回はデータの可視化をしましたが、今回は2値分類に取り組みます。次の画像をご覧ください。お分かりいただけただろうか。iTunesストアにあるアプリには広告があるかどうかが記載されていないです。さんのアプリにはそういった情報が書いていない。これをデータを使って判定することが今回の目的です。目標正解率は90%です。今回は広告あるなしの2値分類をしていきます。データ収集にはRubyを使い、解析にはPythonを使いました。機械学習にはscikit-learnとgensimを使いました。Playのカテゴリ毎のページをクロールして、レビュー部分のみスクレイプする。取得したアプリ数は合計3403個。内訳は58%が広告を含む、42%が広告を含まない。形態素解析、TF-IDF、辞書作成、Bag-of-Wordsの順番で、自然言語から数値へ加工しました。一つのレビューが整数が入ったlistになるイメージです。コーパスの作成は、現代語に強いmecab-ipadic-neologdを利用して、形態素解析を行い、TF-IDFの値が0.8以上のもののみを抜き出しました。メモリ容量の制約があり、制約を超えると分類機の学習の段階でカーネルがダウンしてしまうため、ダウンしないギリギリ数値がTF-IDFでは0.8でした。このときの特徴量は4800程です。データの形式をlistからpandasのDataFrameに変更することでメモリ使用量が大幅にダウンすることが分かり、そもそも特徴量の制約はあまり考える必要がなかったということが分かりました。これは次回の改善点として、そのまま解析に移ります。各データ、各分類機での結果は以下のようになりました。68.3%(±1.78%)ベイジアンフィルタは多項分布を仮定したモデルの方が当てはまりが良かったです。5分割の交差検定は1分程度で終わります。ロジスティック回帰は最適化にSGDを使い、正則化項にはL2を使いました。交差検定には1.5時間かかります。L1と比較したのですがL2のほうが当てはまりが良かったです。L1では従属変数のパラメータが0になることが多く、意味のない変数を排除できるといったことを考えると、TF-IDFの処理がその代わりを務めたためと考えられます。最適化の手法はsag,sagaとも比較してもSGDのほうが正解率、経過時間ともに良く、使いやすかったです。SVMでもL2を正則化項としました。タイプ2のほうがaucが高く、カテゴリを特徴量として使うことは有意であるとわかります。各用語の説明はfan_k_arimuraさんのブログに素晴らしくまとまっています。tech-blog.fancs.comおまけ自然言語処理を調べていたらWord2Vec、Doc2Vecに興味が湧き、2値分類に応用できないかを実験してみました。レビューの内容が広告の有無で変化するならdoc2vecが広告を持つレビューを判断してくれるのではないか、という発想です。Doc2Vecによって、300次元にしたあとで、K-Meansによって2つのクラスターに分けます。PCAによって次元削減してグラフを作ると以下のようになります。水色この図を見てみるとX軸の-0.3あたりでK-Meansによる分割がされていることがわかりますが、分割された集合の中には、広告ありなしに関わらず含まれているためこの手法は優れていないことがわかりました。20%も足りなく、よろしくない結果になりました。Playストア用のスクレイプに大きく時間を掛けてしまいました。githubを覗いてみると、他の多数の方が既にそれらを作っていて、これを使えばよかったなと反省しています。車輪の再発明というやつをやってしまいました。・pandasすごい。・AdaBoostを使ってのモデルの改善、tf-idfの調整など多数の改善点が見つかり、調整を続けていきたいと思います。・勉強することが多くエキサイティングな時間を過ごせました。プレゼンをする機会もいただいて、人として成長したと思います。ありがとうございました。今後はよりtech-drivenに頑張ります。Word2Vec)こんにちは!5日間インターンに参加させて頂いた中島です。昨...2018-09-07アドテクの会社でCTR予測をしてみた。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。