タグ

pythonに関するlepton9のブックマーク (492)

  • Python言語による実務で使える100+の最適化問題 | opt100

    はじめに 書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<に記述>である. 作者のページ My HP 書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

  • Python3.10 時代のモダン Python

    この記事は刺身たんぽぽ同好会 Advent Calendar 2021[1] 8日目 の記事です. 7日目はげんしくんの 刺身たんぽぽ同好会を支えるDiscord鯖について - 最近のRecent です. 9日目はおのだ氏の Live2D #1 下準備(予定) です. はじめに Python3.10 がリリースされてから数ヶ月が経ちました.そこで,Python3.10 から入った新機能や,あまり知られていないが[2],知ってると便利な機能を紹介します.モダン Python を書いていきましょう. 型アノテーション 型アノテーション自体は Python3.5 からある機能[3]ですが,バージョンアップのたびに高機能になっています.Python3.10 では,| 演算子が型アノテーションに対しても使用できるようになりました. 使用例はこのような感じ

    Python3.10 時代のモダン Python
  • dbtで始めるデータパイプライン構築〜入門から実践〜

    事業会社においてBIやレポート用の分析を担当しているが以下のような状況に該当する人に向けたデータパイプライン構築の入門のための資料です 🧑🏻‍🦱「BigQuery等のView機能を活用しているが、データの流れを追うのが困難な状態になってしまっている、クエリの実行に時間がかかりBIツールが使いづらい」 👩🏻「専任のデータエンジニアがおらず、前処理をpython等で処理したりするのがリソース調整的に大変」 👱🏻‍♂️「ロードされたデータに重複があったり、過不足があったりしてデータの品質が担保できていない」 🧑🏻‍🦰「Digdagやluigiといったデータ変換ツールの独自の仕様を理解しきれておらず使いこなせていない」 ※現時点ではBigQueryを中心に記事を構成してあります、SnowflakeやAmazon Redshift等の様々な分析基盤でもdbtは対応可能です

    dbtで始めるデータパイプライン構築〜入門から実践〜
  • はじめに — 機械学習帳

    import torch x = torch.tensor([1., -1.]) w = torch.tensor([1.0, 0.5], requires_grad=True) loss = -torch.dot(x, w).sigmoid().log() loss.backward() print(loss.item()) print(w.grad)

    はじめに — 機械学習帳
  • Python の DI コンテナ実装の紹介と活用例 - All You Need Is Writing

    最近 fukabori.fm という Podcast で DI(Dependency Injection) の話を聞いた。 fukabori.fm この Podcast 内では DI に関しては PHPJava の情報が多い、みたいな話があった。筆者はそれらの言語に疎いのであまり知らないが、Python にも DI コンテナのライブラリ*1がある。 ということで、今日はそのライブラリを紹介する。この記事では DI や DI コンテナの概念は既知として、Python で DI コンテナを作る方法と DI コンテナを使う実装例にフォーカスを当てる。 injector モジュール github.com PyPI (Pythhon Package Index) に injector という名前のパッケージで登録されている。つまり、下記のように pip でインストールできる。 pip inst

    Python の DI コンテナ実装の紹介と活用例 - All You Need Is Writing
  • 2021年Python開発リンター導入のベストプラクティス

    2025年追記: 現在は ruff が一般的になっており、black / isort / flake8 を個別に組み合わせる前提はやや古くなっています。この記事は 2021 年時点のメモとして残しています(最新の状況は ruff の公式ドキュメント https://docs.astral.sh/ruff/ などを参照してください)。 この記事は、Pythonlint を導入するときに「まず回る最小構成」を決めて運用するためのメモです(2021年時点)。 対象: Python プロジェクトlint を導入したい人 この記事で分かること: おすすめ構成、最短導入、運用/無効化のやり方 結論: black + isort + flake8 + mypy を tox でまとめて回します 前提: アプリケーション開発を想定します(CI で lint を回します) 限界: プロジェクト規模や

    2021年Python開発リンター導入のベストプラクティス
  • Python でモジュールごとに logging する。または dictConfig の落とし穴。 - Qiita

    Python でちょっと凝ったログの出力をしたい場合 logging というライブラリを使うのが定番です。また設定には dictConfig を使います。ただ後方互換性のために落とし穴があるので、意図しない動作になる時は disable_existing_loggers を False にするのがコツです。と、いうような話題を書きます。 logging には2つの主要な要素 Logger と Handler があります。 Logger にアプリやライブラリはログを書き込む。 Handler でメインスクリプトはログの記録方法を指定する。 Formatter でログの書式を設定する。 基の使い方 基の使い方は簡単です。 # 以下の二行はイディオムです。現在のモジュール名が付いた Logger が出来ます。 import logging logger = logging.getLogger

    Python でモジュールごとに logging する。または dictConfig の落とし穴。 - Qiita
  • 【Python】仕組みを理解してログ出力を使いこなす

    Pythonでログ出力といえば、標準モジュールの logging を利用する方法が一般的ですね。ググって出くるブログ記事を読めば、なんとなくの理解でも使えてしまうので、しっかりと仕組みを理解せずとも使えてしまいますし、それでも問題ないケースも多いと思います。 ただし、少し凝ったことをしようとするならば、一度Pythonのロギングの仕組みを抑えておいたほうが圧倒的に実装が楽になります。今回はloggingモジュールの仕組みを理解したうえで使いこなすこと目的に、図解やコードを交えて分かりやすく解説していきます。 Pythonがログを出力する仕組み まずは、ログ出力機能を実装するオブジェクトたちの機能・役割を整理します。 オブジェクト 機能・役割 ログレコード(logging.LogRecord) ログ出力されるメッセージそのものの情報を持つ。ロガー間でやり取りされるのはこのログレコードである。

    【Python】仕組みを理解してログ出力を使いこなす
  • Python の __init__.py とは何なのか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Python を使い始めると、ディレクトリの階層で分けてファイルを管理したくなります。 そこで出てくるのが __init__.py ファイル。 これは一体何者なのか。 色々と情報がころがってはいるものの、なかなか納得行くように説明しているものが見当たりません。 Python のドキュメントでも、何を参照すれば正解なのかがわかりにくい1。 ということで、__init__.py についてまとめてみました。(少し長いです) 読み物形式で書いていますので、結論(「__init__.py の役割」)だけ見たい方はスクロールして最後の方を読んでくだ

    Python の __init__.py とは何なのか - Qiita
  • High Performance FastAPI

    PyCon JP 2021 発表資料です。

    High Performance FastAPI
  • "the most popular OSS data projects"を眺めてみる(1位〜10位)

    ※具体的なアンケートの質問は不明? この記事 ↑の上位20製品について、簡単に調べてみました。 私がよく知らない製品(Flyteとか)、みんな知っているだろう製品(Sparkとか)は記載薄めです。 なお、私の知識は 知っている Apache Airflow, Trino, Prefect, Apache Spark, Amundsen, Apache Flink, Apache Kafka,Apache Duid, pandas 名前だけ知っている dbt, Apache Pinot, Apache SuperSet, Great Expectations, Dask, Apache Arrow, Apache Gobblin 知らない Dagster, Flyte, RudderStack, Ray な感じです。 目次 dbt Apache Airflow Apache Superset

    "the most popular OSS data projects"を眺めてみる(1位〜10位)
  • 【2021】モダンなPython開発環境の紹介 - Qiita

    📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

    【2021】モダンなPython開発環境の紹介 - Qiita
  • データ基盤を支える技術 - ETLフレームワークの実践的な選び方・組み合わせ方 - JX通信社エンジニアブログ

    JX通信社シニア・エンジニア兼データ基盤担当大臣の@shinyorke(しんよーく)です. 最近やった「ちょっとした贅沢」は「休日, 自宅で🍺片手に野球を見ながらUberEatsで注文したランチを楽しむ」です. ⚾と飲を提供してくださる皆さまに心から感謝しております🙏 JX通信社では, 機械学習を用いたプロダクト開発・施策 プロダクト・サービスの改善に関する分析 日々のイベントをメトリクス化して可視化(いわゆるBI的なもの) を円滑かつ効率よく行うため, 昨年からデータ基盤を整備・運用しており, 現在では社員のみならず(スーパー優秀な)インターンの皆さまと一緒に活用し, 成果を出し始めています. ainow.ai なぜデータ基盤が必要か?どういった事をしているのか?...は上記のインタビューに譲るとして, このエントリーでは「データ基盤を支える技術 - ETL編」と称しまして, Py

    データ基盤を支える技術 - ETLフレームワークの実践的な選び方・組み合わせ方 - JX通信社エンジニアブログ
  • Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ

    JX通信社シニア・エンジニアで, プロダクトチームのデータ活用とデータサイエンスのあれこれ頑張ってるマン, @shinyorke(しんよーく)です. 最近ハマってるかつ毎朝の日課は「リングフィットアドベンチャー*1で汗を流してからの朝」です. 35日連続続いています. 話は遡ること今年の7月末になりますが, JX通信社のデータ基盤の紹介&「ETLとかバッチってどのFW/ライブラリ使えばいいのさ🤔」というクエスチョンに応えるため, このようなエントリーを公開しました. tech.jxpress.net このエントリー, 多くの方から反響をいただき執筆してよかったです, 読んでくださった方ありがとうございます! まだお読みでない方はこのエントリーを読み進める前に流して読んでもらえると良いかも知れません. 上記のエントリーの最後で, 次はprefect編で会いましょう. という挨拶で締めさせ

    Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ
  • StepFunctionsとSageMakerでML学習パイプラインをつくる - Money Forward Developers Blog

    初カキコ…ども… 俺みたいなインターネットミームおじさん、他に、いますかっていねーか、はは 今日の社内の会話 あのシステムかっこいい とか あの機能ほしい とか ま、それが普通ですわな かたや俺は電子の砂漠でデッドロックしたレコードを見て、呟くんすわ it’a true wolrd.狂ってる?それ、誉め言葉ね。 好きなエディタ neovim 尊敬する人間 弊社CTO なんつってる間に4時っすよ(笑) あ~あ、会社員の辛いとこね、これ というわけで初めましての方は初めまして、@ken11です。 最近はマネーフォワードのCTO室AI推進部という部署で、MLとかML Opsとかクソコラ職人とかやってます。 冒頭自己紹介がわりに古のコピペをぶっこんだけど大丈夫そ? さて、そんなインターネットミームについて語る時間も欲しいところですが、今日はAI推進部らしくML学習パイプラインの話をしようと思います

    StepFunctionsとSageMakerでML学習パイプラインをつくる - Money Forward Developers Blog
  • Python の logging について - Qiita

    この文について これから説明することの主旨は、単に Python のドキュメント 16.6. logging — Python 用ロギング機能 の初めの方にさらっと全部書いてあります。 ただ、なぜかあまり浸透していないようなので、説明する順番と表現のしかたを変えて、自分なりに例示をしてみようとおもいます。 Python の実行環境が手元にある状態で、試しながら読むとよいかもしれません。 1. どこから呼んでも同じ logging.getLogger で取得できる logger は、名前が同一ならば Python プロセス内を通して常に同一となります。 例を示すと getLogger('x') を 2 回呼んで別々の変数に代入したとしても、比較してみると同じオブジェクトであることがわかります。 import logging logger1 = logging.getLogger('x') l

    Python の logging について - Qiita
  • pytest ヘビー🐍ユーザーへの第一歩 - エムスリーテックブログ

    蛇行区間にはレールの内側に脱線防止ガードが設置される(文とは関係ありません)。 こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 pytest は Python のユニットテストのデファクトスタンダードです。エムスリーでも顧客向けレポートや機械学習Python&pytest をヘビー🐍1に使っています。 ですが、実は pytest は、意外と入門のハードルが高い。と言うのも、pytest の公式ドキュメント が、fixtureのような新概念も登場する上、詳細で分量が多いからです(しかも英語)。初心者にいきなり読ませると挫折する可能性大です 2。 そこで、とりあえず使い始めるのに必要そうな情報を日語でまとめました。 pytest ってどんなライブラリ? unittest や nose から簡単に移行できる 書き方がシンプル fixture モックもできる プラグイ

    pytest ヘビー🐍ユーザーへの第一歩 - エムスリーテックブログ
  • pandas でメモリに乗らない 大容量ファイルを上手に扱う - StatsFragments

    概要 分析のためにデータ集めしていると、たまに マジか!? と思うサイズの CSV に出くわすことがある。なぜこんなに育つまで放っておいたのか、、、? このエントリでは普通には開けないサイズの CSV を pandas を使ってうまいこと処理する方法をまとめたい。 サンプルデータ たまには実データ使おう、ということで WorldBankから GDPデータを落とす。以下のページ右上の "DOWNLOAD DATA" ボタンで CSV を選択し、ローカルに zip を保存する。解凍した "ny.gdp.mktp.cd_Indicator_en_csv_v2.csv" ファイルをサンプルとして使う。 http://data.worldbank.org/indicator/NY.GDP.MKTP.CD?page=1 補足 pandas の Remote Data Access で WorldBan

    pandas でメモリに乗らない 大容量ファイルを上手に扱う - StatsFragments
  • サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ

    Pythonでお仕事する前提で、現在のところで自分が最適と考えるチーム開発のための環境整備についてまとめてみました。今までももろもろ散発的に記事に書いたりしていたのですが、Poetryで環境を作ってみたのと、過去のもろもろの情報がまとまったものが個人的にも欲しかったのでまとめました。前提としては次の通りです。 パッケージ管理や開発環境整備でPoetryを使う 今時はコードフォーマッター、静的チェックは当たり前ですよね? コマンドでテスト実行、コードチェックとか実行とかができる(CI/CD等を考えて) VSCodeでもコマンドで実行しているのと同じコードチェックが可能(ここコンフリクトすると困る) デプロイはDockerイメージ コンテナのデプロイ環境でコンテナに割り当てられたCPU能力を比較的引き出せて、スケールさせたら線形にパフォーマンスアップできるようなasyncioを前提とした環境構

    サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ
  • 機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita

    はじめに 私はこれまで機械学習のパラメータチューニングに関し、様々な書籍やサイトで学習を進めてきました。 しかしどれもテクニックの解説が主体のものが多く、 「なぜチューニングが必要なのか?」 という目的に関する記載が非常に少なかったため、体系的な理解に苦労しました。 この経験を後世に役立てられるよう、 「初心者でも体系的に理解できる丁寧さ!」 をモットーに記事にまとめたいと思います。 具体的には、 1. パラメータチューニングの目的 2. チューニングの手順とアルゴリズム一覧 3. Pythonでの実装手順 (SVMでの分類を例に) の手順で解説を進めます。 独自解釈も含まれるため、間違っている点等ございましたら指摘頂けると有難いです。 なお、文中のコードは こちらのGitHubにもアップロードしております。 2021/9/6追記:LightGBMのチューニング実行例追加 以下の記事に、L

    機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita