オンラインでのプログラミング系の演習をGoogle Colab & Google Driveで行なう

去年に引き続き、東京都立大学の非常勤講師の依頼をid:mamorukさん(小町先生)からして頂いたので、今年も講義を担当してきました。講義の内容としては Mackerelでのロール内異常検知を題材に、機械学習をプロダクトに取り込んでいく際、どういった視点が必要…

Twitter検索結果の語義曖昧性を解消するsaba_disambiguatorのアップデートを行ないました: その2

タイトルだけ見ると何のこっちゃという感じですが、前提としてはこんな感じです。 Mackerelチームではサービスに関するtweetを定期的に観測している mackerelというクエリは鯖に関するものとmackerel.ioに関するものが混じるので、そのまま流していると困る …

SQLレクチャー会をチーム内でやっている話

ここ最近、チーム内でSQLのレクチャー会をやっています。世間的にはプランナーの人や営業の方がSQLを書くのもそれほど珍しいことではなくなってきていると思いますが、チーム内ではまだまだ一般的ではないです。なんとかしていきたい。 SQLレクチャー会の目…

データ分析を元にFAQサイトを継続的に改善する

FAQサイト、サポート問い合わせをせずとも自分で疑問を解決できて便利ですよね。でも、検索した単語が一件もヒットしないと、ちょっとガッカリしてしまします。そういったガッカリを減らすために、簡単なデータ分析を使ってFAQサイトを継続的に改善する話を…

Cloud Functionsを使って、BigQueryのクエリ結果をSlackに定期的に投稿する

N番煎じネタです。Google Apps Scriptでやる例をよく見る気がするけど、Cloud Functionsを使ってやりたかったのじゃ。 以下のような設定をyamlに書いておくと、クエリ結果をテンプレートに従ってテキストに展開して、定期的にSlackに投稿(cron likeな設定が…

BigQueryのテーブルのメタデータをCloud Data Catalogで管理する

自分が使いたいと思ったBigQuery上のリソース(tableやview)、内容を事前に完全に把握できている、ということは結構少ないのではないかと思います。そういったときに手助けをしてくれるのがメタデータです。BigQueryのリソースに対するメタデータを、Cloud Da…

カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました

第3回 データアーキテクト(データ整備人)を”前向きに”考える会という勉強会で、CREとしてデータ基盤を整備する活動についてオンライン登壇しました。 カスタマーサクセスのためのデータ整備人の活動記録 from syou6162 イベント登壇はまあまあやってきたは…

データウェアハウスやデータマートのviewが壊れていないかvalidationする

データ基盤の小ネタです。 データ基盤におけるview データ基盤でデータスキャンがそれほど大きくない場合、積極的にviewを使っています(BigQueryを利用しています)。日時のバッチでテーブルとして掃き出してもよいですが、バッチを回さずにクエリをガシガシ…

WFHの感想

特に結論はないです。今の時期にどういうことを感じていたかをテキストで残しておくと、10年後とかに見返したときに振り替えれるかなぁと思って。 よかった系 自宅環境を整備しないといけなくなったので、少しだけ環境が整理された スタンディングデスクは買…

「データ活用のための数理モデリング入門」を読みました

著者の一人からご恵贈いただきましたので、紹介してみたいと思います。 機械学習を中心としたデータ活用の敷居は下がってきているが... 10年ほど前と比べると、データ活用、特に機械学習を「使う」ハードルは以下のように下がってきています。 sklearnやPyTo…

最近の砂場活動その14: GoogleAnalytis For Firebaseのデータを使ってImplicit-feedbackな推薦システムを構築する

ここ半年ほどデータ分析やりまくっているのはいいんだけど、機械学習全然やってない 仕事に不満があるわけでは全然ないけど、人間は欲張りなのであれこれやりたい FirebaseのBigQuery Exportである程度データが溜まりつつある ということで、タイトルの通り…

最近買って or 使ってよかったもの

とりとめもなく書きます。 MacBook Pro iPad mini Fit Boxing スタンディングデスク デロンギ BigQuery MacBook Pro 自分の金ではなく会社用のPC。これまでは13インチを使ってたけど、32GBの広大なメモリを求めて16インチのものを買った。画面が広くなると、…

MackerelチームのCustomer Reliability Engineerになりました

2020/02からMackerelチームのCRE (Customer Reliability Engineer) になりました。もうちょっと早くエントリを書く予定でしたが、職種が変わった & 期初であれこれイベントが多いということで遅くなってしまった...。 CREになろうと思ったきっかけ 一番大き…

データに関連するいくつかの見方と私

ポエムです。元々書きたかったエントリがあったのですが、長くなってしまったのでパーツ毎に切り出します。 自分のやりたい方向性やキャリア的なものを考えると、大体その中心には「データ」がいます。データに対してどう向き合い方はいくつかパターンがある…

近況報告

生存してます。最近色々インプットしまくることに時間を取ってる結果、アウトプットが死んでいました。記憶がまだあるうちにまとめて書いておきます。 MLCTで登壇しました Mackerel Drink Up #9 Tokyoで登壇しました 首都大で非常勤講師を担当しました デー…

Twitter検索結果の語義曖昧性を解消するsaba_disambiguatorのアップデートを行ないました

タイトルだけ見ると何のこっちゃという感じですが、前提としてはこんな感じです。 Mackerelチームではサービスに関するtweetを定期的に観測している mackerelというクエリは鯖に関するものとmackerel.ioに関するものが混じるので、そのまま流していると困る …

最近の砂場活動その13: Vue.js + Nuxt.jsで構築したアプリケーションをTypeScript化する

趣味プロジェクトであるML-Newsのフロントを整備したのは約一年前。その頃はVue.jsのTypeScript対応も微妙な時期(?)だった。 最近の砂場活動その3: フロントエンド編(Vue.js/SPA) - yasuhisa's blog ちょいちょいTypeScriptサポート対応したよという声も(個…

最近の砂場活動その12: Data Studioを使ってGoogle Analyticsと任意のデータを紐付けてデータ分析する

仕事でデータ分析をやる機運が高まっていて、Google Data Studioをぼちぼち使っていこうとしてる。仕事のデータは分析する前のデータパイプラインなどあれこれ考える必要があるので、ひとまず趣味プロジェクトのML-Newsを題材にして遊んでみる。こういうとき…

Machine Learning Casual Talks #10でMackerelのロール内異常検知について発表しました

メルカリさんのオフィスで開かれたMachine Learning Casual Talks (MLCT) #10に「教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜」というタイトルで登壇してきました。 MLCTは機械学習をサービスで運用していく知見を共有…

超交流会に登壇しました

ハカルスの染田さんと同僚のid:daiksyさんと一緒に登壇(パネルディスカッション)してきました。アルゴリズムがどうこうというより、実際にユーザに使ってもらえるプロダクト・サービスにするのはどうすればよいか、それを運用していくために必要な苦労・工夫…

Splatoon2のウデマエがやっとXに到達した

一番好きなルールのガチエリアでウデマエXに到達したので、結構うれしい。 苦節(?)N年、やっとウデマエXまでたどり着いた!!!— Yasuhisa Yoshida (@syou6162) April 23, 2019 これや! pic.twitter.com/AqfnovLzDX— Yasuhisa Yoshida (@syou6162) April 23…

AWS Fargate上でMackerelのプラグインを実行 & 監視する

特定のホストの紐付かないメトリックをMackerelのプラグイン経由で監視する場合、AWSであればEC2上に監視専用のホスト(いわゆるmonitoringホスト)を立てることが多いです。これは便利な一方で、以下のような問題点があります。 EC2ホストの面倒を見ないとい…

2018年の砂場活動振り返り

インフラやミドルウェアにとにかく苦手意識があるが、仕事的にいつまでもそう言ってられない。そこで、最悪全部ぶっ壊れても大丈夫な砂場を作り、そこを土台に活動をするというのを2018年の目標に設定していた。 結構な時間をかけたこともあり、それなりの砂…

最近の砂場活動その11: Nuxt.jsでサーバーサードレンダリング

タイトルの通りやりましたというお話です。以前は$http_user_agentを見て、googlebotだったらrendertronを経由させてレンダリングした結果を見せることでお茶を濁して凌いでいた。 この方法、SPA自体は全く変更する必要なくbotにレンダリングされた結果を見…

最近の砂場活動その10: songmu/horensoを使ってバッチの処理時間をMackerelのサービスメトリックに記録する

機械学習の前処理をやるバッチの処理時間が以前は20分くらいだったのにいつの間にか2時間かかっていた...ということがありました。処理時間を短かくする修正は入れたものの、処理時間がどれくらいかかっているかを継続的に監視する仕組みがそもそもないのが…

最近の砂場活動その9: Cognitoで認証済みのユーザーでAPI Gatewayを呼び出す

AWS

ML NewsのWeb UIにアノテーションボタンを付けたい、でもユーザー管理機能は作りたくない(アノテーションするのは自分だけなので)。AWSのCognitoとAPI Gatewayを組み合せると簡単にできると聞いたので、やってみました。色々てこずったので正直あまり簡単で…

Pretraining Sentiment Classifiers with Unlabeled Dialog Dataを読んだ

論文読み会をやるので久しぶりに論文を読みました。久しぶりじゃダメなんだけど...。今年のACL2018でYahoo! JAPAN Researchの方が発表された内容です。 pretrainingを教師なしの対話データを使って精度向上させる Y!のリアルタイム検索でも使われているっぽ…

ついに開幕したTリーグを観戦しに行きました

10/24に開幕した卓球リーグ、Tリーグに観戦してきたので日記を書きます。 京都から名古屋の武田テバオーシャンアリーナに、以下の3試合を観戦しにいきました。 10/27 TT彩たま vs 岡山リベッツ 10/27 木下マイスター東京 vs 琉球アスティーダ 10/28 TT彩たま…

最近の砂場活動その8: Nginxとrendertronでprerenderingされた結果をクローラに見せる

趣味サイトをVue.jsを使ってSPAとして作っている。人間が見る分には問題ないが、GoogleBotがきたときにレンダリングされていなくて解釈された結果が悲しい感じになっている。 Vue.jsでもサーバーサイドレンダリングができたりするようだが、アプリケーション…

最近の砂場活動その7: Nginxで特定のパスはVPC内からしか接続できないようにする

しょうもないことですが、Nginx初心者なので自分用メモです。用語とか色々間違ってるかもしれない...。 Client => ALB => Nginx => Appのような構成を考える。ヘルスチェックやサーバーの特定の負荷状況を返すエンドポイント(こういうやつ)が存在し、これはA…