nykergoto’s blog

機械学習とpythonをメインに

ECSのHealthCheckがDjangoの動的ページのときに失敗する

Django を ECS with Fargate に Deploy しているようなアプリケーションがあり、Django の ECS task には ALB が紐付いていている状況を考える。 TargetGroup はつながっている先のサーバーが動作しているかどうかをテストして Healthy or Not を判断するよ…

コンテナ物語 世界を変えたのは「箱」の発明だった・を読む。

西梅田にあるジュンク堂でこの本を買った。珍しく友達との飲み会の約束よりも早めについてしまったので本でも仕入れていこうかとより、適当にさまよっていると「コンテナ」という単語が目に入った。ソフトウェアエンジニアにとってコンテナは大変身近な概念…

Vercel で 502 OPTIMIZED_EXTERNAL_IMAGE_REQUEST_UNAUTHORIZED Error に遭遇する。

前提 Next.js を利用したアプリケーションを vercel へデプロイして利用している。 一部 item 詳細ページでは SSG を使っていて、一覧ページでは逐次別でホスティングしている API へリクエストを送る。 取得した item ごとに画像が紐付いていて、画像は clo…

システム運用アンチパターン・本読み section2&3

社内本読みの記録です。GOTO・MEMOが僕のメモ/Discussionがその内容を社内で議論したときの記録になります。 §2: パターナリスト症候群 GOTO・MEMO キーワード: ゲートキーパー 承認における「決定権を持つ人」の比喩 ゲートキーパーはなにかイベントがあっ…

項目応答理論の理論と実装

モチベーション: 変わった学校の定期テスト ある学校では期末ごとに定期テストが開催されています。生徒は同じタイミングで同じ問題を解きます。この試験の結果から生徒の能力値を推定してほしいと依頼があったとしましょう。この場合すべての生徒は同じ問題…

ゼロ状態を考える

今回はコードを書く時の気持の話です. たとえば配列 x の要素が 0.5以下の掛け算の値を取得する、みたいなことをしたいとします. たとえば以下の code で出来るような処理です (map つかおうやとかは置いておいて...) import numpy as np def calc_factor(x)…

実践Django / 一歩先に進むことが出来る本

このたび実践Django Python による本格Webアプリケーション開発を著者の芝田さんから頂きました。もともとこの本は買おうと思っていたので、大変嬉しくちょうだいいたしました。芝田さん、ありがとうございます:D 光栄なことに@c_bata_さんから実践Djangoを…

Django Congress 2021 に参加しました!

2021/07/03 に開催された Django Congress に参加しました。とても有意義なお話を沢山拝聴でき勉強になりましたし非常に楽しかったです! ありがとうございました! 以下各発表の自分のメモ書きになります。(スライドは随時追加予定です) 公式ページ: https://…

[tips] factoryboy で作成したモデルに type hint をつける方法

factoryboy は python 用のモックアップデータを作成するライブラリです。 Django の model object にも対応していて required な field を動的に生成したり (ex. user_0001 みたいに連番にしたり, アルファベットをランダムに選んだ文字列にしたり...)、rel…

docker pull をすると toomanyrequests でエラーになるやつ

docker pull をすると toomanyrequests でエラーになる ERROR: Preparation failed: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.dock…

Websocket の認証 (Authentication) について考える

はじめに 以下は Websocket 初心者の筆者が、認証 (Authorization) 付き Websocket 通信を行なうためにどうやったら良いのか、を調べたメモ書きです。 日本語や英語で調べても、どんなやり方があって実際どうやればいいのか、まとめて書いているページが見当…

特徴量選択アルゴリズム HSIC Lasso とその周辺を調べた

先日、特徴量選択についてツイートしたところ Kaggle Master のアライさんに「HSIC Lassoはまさにぴったしなんではないでしょうか?」と教えていただきました。 お、となるとHSICLassoはまさにぴったしなんではないでしょうか?https://t.co/Ezigm9OriK— Hide…

pythonで実行時間を測定しつつ時間も取得したい

実行時間を測定するには? KaggleMasterのアライさん著・Kaggleコード遺産でおなじみ timer を使うのが便利です! いつもお世話になってます Kaggleコード遺産 - Qiita from contextlib import contextmanager from time import time # https://qiita.com/kagg…

scikit-learn の grid-search を sample_weight と同時に使用する場合の問題点

以下の記事によると scikit-learn の BaseSearchCV の実装には問題があり意図しない動作をしている可能性がある、とのことが報告されています。いつも scikit learn を使う身としては気になる話題なので、少し詳しく見ていきます。 deaktator.github.io Base…

SGDにおける「順番」の問題

この記事は atma Advent Calendar adventar.org の 12/1 分の記事です。大分遅くなってしまいましたがこの記事では Stochastic Gradient Descent における順番が与える影響とそれにまつわる論文をいくつか紹介したいと思います。 Stochastic Gradient Descen…

pyspark (mmlspark) で LightGBM 使うときのメモ

Spark 上で Machine Learning を行うためのツールを Microsoft が MMLSpark (Microsoft Machine Learning for Apache Spark) というパッケージで公開しています。 https://github.com/Azure/mmlspark この中に lightGBM on spark も含まれており python を使…

解釈可能な機械学習モデルを作るライブラリ Interpret を Docker で動かすときのメモ

解釈可能なモデリングを目的としたライブラリ interpret を使うときに Docker で利用していると動かないという現象があったのでその解決方法です。 github.com 環境 python=3.7.7 / conda==4.8.3 で動作する docker を利用しています。interpret自体のversio…

python: loggingの出力値を文字列として取得したい

python の logging で出力した info とかを文字列として取得したい! という場合の方法についてのメモです。 下準備 単純な logger と stream handler (コンソールへの出力のハンドラ) を用意します。 詳しくは https://docs.python.org/ja/3/howto/logging.h…

機械学習なdockerfileを書くときに気をつけとくと良いこと

みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがい…

JWT でのログインができるかどうかを確認するテスト

Django Rest Framework + allauth 使用時に JWT での Login ができているかどうかを念の為確認するテスト。 import pytest from django.urls import reverse from atma.shops.models import Shop from .factories import UserFactory @pytest.mark.django_db…

NGBoostを読んで、実装する。

不確実性を考慮した予測が可能と噂の NGBoost の論文を読んでみたので、全体のながれをまとめて見ました。加えて自分でも NGBoost を実装して、その結果を載せています。 元の論文 NGBoost: Natural Gradient Boosting for Probabilistic Prediction はこち…

python の DateTime・Timezone と Django での取扱い

django でアプリケーションを作っていて timezone 周りで困ったことがあったので、初めて django および python での時間の取り扱いについて真面目に調べてみた記録です。 はじめに・ われわれが使っている時計の時間とは何か まず時計が示している時間とは…

python で logging を止める

はじめに: 基本的なお作法 python の logging の話です。logging そのまま呼び出しもできるのですが若干やんちゃやで、ということが公式ドキュメントに書いています。 ロガーに名前をつけるときの良い習慣は、ロギングを使う各モジュールに、以下のように名…

Wantedly さんの Machine Learning 輪講に参加しました!

先週、wantedly さんの Machine Learning 輪講に参加させていただきました。 www.wantedly.com Machine Learning 輪講は最新の技術や論文を追うことで、エンジニアが「技術で解決できること」のレベルをあげていくことを目的にした会です。 とのことで社内外…

gitlab registry にログインできなくなった時の対処法

自分の環境 ubuntu 16.04 ➜ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS" 起こったこと 現象は単純で gitlab registry へのログインができないというもの my-project o…

データコンペサイトを作る: フロントエンド編

この記事はオンサイトデータコンペ atmaCup のシステムぐるぐる https://www.guruguru.ml/ のフロントエンドの話です。 atmaCupとは? オンサイトデータコンペatmaCupとは実際に会場に集まり、準備されたデータをテーマに沿って分析・予測を行い、その精度を…

データコンペサイトを作る DjangoRestFramework編

この記事は atma Advent Calendar 2019 - Qiita 2019/12/21 の記事です。 今年自社のサービスとして オンサイトのデータコンペティション atmaCup をはじめました。 オンサイトデータコンペとは実際に会場に集まり、準備されたデータをテーマに沿って分析・…

Kaggle Days Tokyo のオンサイトコンペに参加しました! #kaggledaystokyo

Kaggle Days Tokyo で開催されたオンサイトコンペに参加してきました!! 結果としては全体 88 チーム中 private で 56 位という悔しさの残る結果になりました。が同時に反省点と学びもとても多い素晴らしいコンペだったので、感想兼反省文を書いていこうと思…

RMSE を Fold ごとに取ると全体の値より小さくなる証明

この記事を書く前に twitter でお話をしている流れで、まますさんに的確な証明を頂くことができました! 証明にはこちら RMSE.pdf - Google ドライブ からアクセスできます。(まますさんありがとうございましたmm) そもそも この記事のお題は RMSE を Fold ご…

分析コンペLT会でLTをさせてもらいました!!

2019/11/30 に行われた分析コンペLT会にLT枠として参加させていただきました。 kaggle-friends.connpass.com 僕は普段大阪で仕事をしているのでもともと発表はおろか参加する予定はなかったのですが(行きたいとはめっちゃおもっていた)、いつもかぐるーどで…