Istio で gRPC サービスの AB テスト基盤っぽいものを作ってみる

機械学習を用いたサービスを開発する際、推論用の API サーバを立ててリクエストを受ける構成が多いと思います。モデルを改良したときには、全てのリクエストを新しいモデルをサービングする API に渡すわけではなく、トラフィックを分散して AB テストを行…

ここ半年くらいを振り返る

現職に転職して半年くらいが経ちこれまで経験してないことを結構やった気がするので、備忘録として残しておきます。(誰かが記憶と記録が大事と言っていた気がするので) 11月〜1月 ここらへんの時期は社内の開発環境に慣れるためもあり、あるプロダクトで上…

はてなブログのブックマーク数を予測するwebアプリを作った

タイトルのとおり、はてなブログの記事の内容からはてなブックマーク数(はてブ数)を予測するwebアプリを作りました。 ※追記: コストが増加してきたので一旦サービスを止めています… 以下では背景や方法、システムの概要や今後の展望について説明します。 …

人生のステージに応じた壁と井口祐未

これは SHIROBAKO Advent Calendar 2019 22 日目の記事です。 SHIROBAKO とは一体何なのか。この問いに対して 10日目の記事 では、 「辿り着きたい場所」に向かっていく物語 という一つの仮説にたどり着いていました。答えは無数にありそうですが、それを抽…

WebDB Forum 2019で技術報告しました

9月8日〜9日で開催されたWebDB Forum 2019に、スポンサー企業の技術報告という形で登壇しました。 db-event.jpn.org 8日の夜から9日の早朝にかけて台風15号が直撃するというまさかの展開を迎えましたが、柔軟なスケジュール変更で予定されていた全てのセッシ…

Wikipediaを活用した表記ゆれへの対応

自然言語処理のタスクにおいて、表記ゆれの問題が常につきまといます。単純なパターンであれば単純なルールで対処が可能です。例えばアルファベットの大文字・小文字の混在であれば全て小文字に変換すれば良いし、半角文字と全角文字の混在であれば全て全角…

ダウンサンプリングによる予測確率のバイアス

機械学習(二値分類問題を考えます)において不均衡なデータセット(クラス間でサンプルサイズが大きく異なる)を扱う場合、多数派のクラスのサンプルに対してサンプリング行い均衡なデータセットに変換するダウンサンプリングが良く行われます。 この不均衡…

滝沢カレンを作る技術

滝沢カレン(以下、敬称略)をご存知でしょうか。ファッション雑誌『JJ』専属モデルであり、モデルやタレントとして活躍されています。*1 そんな彼女の書く文章は非常に豊かな表現で構成されており、一部では純文学とも評されています。 近年、彼女の文章を…

【論文紹介】Deep Interest Network for Click-Through Rate Prediction

今回は、KDD 2018で発表されたCTR (Click Through Rate) 予測に関する論文 Deep Interest Network for Click-Through Rate Prediction を紹介したいと思います。CTR予測は、広義では注目している行動を起こす確率予測であるので、レコメンドに関する論文と捉…

LDAを用いたカテゴリ変数からの特徴抽出

kaggleのTalkingData AdTracking Fraud Detection Challengeで1位になったチームの解法の1つである、トピックモデルを用いたカテゴリからの特徴抽出を試してみたので紹介します。 Pythonでの実装はこちらです。 github.com 概要 参考にしたのは、kaggleでの…

機械学習の実用的な評価値チートシート

機械学習の評価値として、Accuracy/Precision/Recall/F1などが教科書にも載っており、最も有名な評価値だと思います。 ただ実産業への応用において、これらの評価値では正しくモデルの性能を評価できないことが多く、多くの機械学習エンジニアやデータサイエ…

カテゴリ変数の分散表現を学習するEntity Embeddingの実装

機械学習においてカテゴリ変数を扱うとき、何らかの変換を施して任意の数値で表現しなければなりません。 今回はWord2Vecのように任意のカテゴリ変数の分散表現を学習する、Entity Embeddingの紹介とそのPythonの実装をライブラリとして公開したので紹介しま…

Hugoでポートフォリオサイトみたいなものを作ってGitHub Pagesで公開した

最近アウトプットを増やしたいという思いがあり、とりあえず形からでもと思ってポートフォリオサイトっぽいものを作ろうと思いました。 どうやって作ろうかと思っていた中で、何となく知っていたHugoとかSphinxみたいな単語で調べてみると、そもそも静的サイ…

PyData.tokyo One-day Conference 2018に参加した

PyData.tokyo One-day Conference 2018に参加したので、メモ書きを記載する。 pydatatokyo.connpass.com なお自分の記憶のためのメモなので、内容の正確さは保証できません。 PyData.Tokyo データ分析のための Python パフォーマンスチューニングテクニック …

NumPyでmatrixなら行列の積を*演算子で書けるしPython3.5以上なら@演算子で書ける

Pythonの数値計算ライブラリであるNumPyについて、2014年くらいからちゃんと調査せずに使っていたが、@演算子で行列の積を計算できることを知って色々調べてみた。 そもそも、影響を受けてるはずのMATLABでも*演算子は行列の積だし、C++のEigenでも*演算子は…

回帰分析と機械学習で中央線の高コスパ物件を探す(コスパ高物件導出)

前回は、家賃予測モデルの生成を行いました。 pompom168.hatenablog.com 今回は、Random Forestで生成した家賃予測モデルを使って、コスパ高物件を見つけます。 予測された家賃より実際の家賃が安いほうが、コスパが高いとします。 結果 1位〜5位を掲載しま…

回帰分析と機械学習で中央線の高コスパ物件を探す(家賃予測モデル生成)

前回は、データの可視化と変数選択を行いました。 pompom168.hatenablog.com 今回は、本格的に家賃予測モデルを生成します。 スクレイピングした物件の、8割を学習に、2割を評価のテスト用に使用することにします。 使用する変数 説明変数 部屋数、間取りK有…

回帰分析と機械学習で中央線の高コスパ物件を探す(データ可視化+変数選択)

前回の記事の続きです。 pompom168.hatenablog.com 今回は、具体的にデータの中身を見ていくために可視化を行います。 また、主に多重共線性をなくすために変数選択を行います。 データの可視化 物件数 まずは、各駅ごとの物件数を見ます。 なんとなく納得す…

回帰分析と機械学習で中央線の高コスパ物件を探す(スクレイピング+前処理)

みんなが大好き中央線沿いで、コスパ高い物件を探してみます。 完全に以下のブログに触発されたものです。 www.analyze-world.com やったこと webから中央線沿いの物件情報をスクレイピング モデルへの入力のため前処理 データの可視化と変数選択 家賃予測モ…