はじめに こんにちは、検索基盤部の伊澤です。検索基盤部では普段から、ZOZOTOWNの検索機能に関するデータ分析や、データ分析を踏まえた検索性能の改善に取り組んでいます。 検索に関するデータ分析では、検索クエリの傾向把握や課題のあるクエリの特定のために、検索クエリごとの検索結果のクリック率やコンバージョン率といったパフォーマンス指標を評価しています。 本記事では、検索クエリごとのデータ分析に関する情報共有を効率化するため、ウェブフレームワークの「Dash」で開発したダッシュボードを活用した事例を紹介します。 目次 はじめに 目次 検索クエリごとのデータ分析の重要性 分析結果のチーム内共有時の課題 Dashを用いたダッシュボードの開発 Dashとは Dashを選定した理由 検索クエリごとのパフォーマンス指標のダッシュボード 1. 検索クエリごとのパフォーマンス指標のテーブル 2. 検索クエリ
2024.8.6:FastHTMLについて追記しました。 ※本記事で言及しているReflexのdiscordサーバー内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、Streaml
連載目次 前回は、機械学習の基礎と、主要なPythonライブラリの概要を説明しました。 今回は、Pythonを使った機械学習プログラミングの基本的な流れを、実際にコードを書きながら体験的に学んでいきましょう。具体的には、データの読み込みと加工から、グラフによる可視化、統計的な数値計算、そして簡単な機械学習モデルの構築まで、基本的な一連の流れを体験できます(図1)。 今回で学べること 図1の通り、機械学習プログラミングの基本的な流れに沿って進めると、第1回で紹介した主要なPythonライブラリ(pandas、NumPy、Matplotlib、seaborn、scikit-learnなど)を各場面で使い分けることになります。 各ライブラリを深く理解して使いこなすためには、個別に詳しく学ぶことが必要です。ただし本連載では、詳細には触れず、実践で役立つ基本的な使用例に絞って説明します。もっと深く掘
今までuWSGIをシングルスレッド、マルチプロセスで使っていたのだけれども、昔に比べて外部のAPI呼び出しが増えているのでマルチスレッド化を検討している。 uWSGI uWSGIでマルチスレッドを有効にした時は、各workerスレッドがacceptする形で動作する。スレッド数以上の接続をacceptすることがないので安心。 プロセス内のスレッド間ではmutexで排他されて、同時にacceptを実行するのは1スレッドのみに制限されている。つまりthendering herd問題はプロセス間でしか起こらない。マルチスレッド化でプロセス数はむしろCPUコア数まで減らせるので、thendering herd問題はむしろ今よりも軽減できる。(ちなみにプロセス間でもロックしてthendering herdを許さないオプションもあるけど、プロセス間同期は怖いので使っていなかった。) ただしuWSGIのマ
__〇〇__メソッドの正体 is「特殊メソッド」 Python で開発する際、__init__ をはじめとする __ (アンダースコア*2) で囲まれたメソッドを目にする機会があると思います。 これらのメソッドは「特殊メソッド」と呼ばれ、Python では以下のように定義されています。 special method (特殊メソッド) ある型に特定の操作、例えば加算をするために Python から暗黙に呼び出されるメソッド。この種類のメソッドは、メソッド名の最初と最後にアンダースコア2つがついています。 つまり、独自で定義したクラス内でこれら特殊メソッドをオーバーライドすることで、特定の操作の振る舞いを変更できるようになります。特殊メソッドはそれを直接呼び出すというよりは、既存の演算子などの振る舞いを変更するというイメージです。 例えば、インスタンス同士の加算処理を実装したい時、新たに ad
最適化問題を100以上集めて,Python言語を用いた実用的な解法を紹介しています.
1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能(AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋のAIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201
はじめに FastAPIはPythonのWEBフレームワークで、同じ分類のフレームワークとしてFlaskやDjangoなどが挙げられます。FlaskとDjangoはよく比較され、Flaskが最小限のコードで書き始められるシンプルなマイクロフレームワークと呼ばれるのに対し、Djangoはログイン機能、データベース管理などが初めから備わっておりフルスタックフレームワークと呼ばれています。 FastAPIはFlaskと似ているマイクロフレームワークで公式ドキュメントでは次のように紹介されいます。FastAPI は、Pythonの標準である型ヒントに基づいてPython 3.6 以降でAPI を構築するためのモダンで高速(高パフォーマンス)な、Web フレームワークです。[1] 本記事では、以下の内容を扱います。 特徴である型ヒントとそれにより実現できるAPIドキュメントの自動生成 SQLAlch
ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen
連載概要 本連載はPythonについての知識を既にある程度は身に付けている方を対象として、Pythonでデータ処理を行う上で必須ともいえるNumPyやpandas、Matplotlibなどの各種ライブラリの基本的な使い方を学んでいくものです。そして、それらの使い方をある程度覚えた上で、それらを活用してデータ処理を行うための第一歩を踏み出すことを目的としています。 前回はある行列の逆行列、行列式、固有値と固有ベクトルを求めるお話をしました。今回は多数のデータがどんな特徴を持っているのかを調べるのに役立つ基本統計量をNumPyで取り扱う方法を見ていきます。 基本統計量とは 基本統計量とは、何らかのデータセットがあったとき、それらにはどのような特徴があるかを示す値のことです。というと分かりにくいのですが、平均値、最大値、最小値、標準偏差と分散などの値を用いることで、データがどのように分布している
I recently watched GOTO conferences' talk Calling Functions Across Languages by Richard Feldman. I’m afraid I have to disagree with using the term 'language' in this context. It’s a no-brainer to call Java from Kotlin or Scala or to call Java from Kotlin. Hence, in the rest, I’ll use 'stack'. Gradual migration from one stack to the otherUsing a library that has no equivalent in one’s stack under t
先日 "Python の「仮想環境」を完全に理解しよう" というスライドを公開したらかなり反響がありました。 Python の開発環境の構築は、正直言ってかなり複雑だと思います。 pip・venv・pyenv・Pipenv などなど、似たような名前・似たような役割のツールがたくさん登場して、最初は全然意味が分かりません。 慣れればなんとかなるのですが、慣れるまではかなり苦しいです。 このようにとても難解であるにも関わらず、Python は機械学習などでよく使われることから、避けられないことも多いです。 そこでこの記事には、「そもそも Python の開発環境にはどんな観点があるんだ?このツールはなにを解決してくれるんだ?」という話をまとめます。
Python(パイソン)はプログラミング言語の一種です。最近は機械学習でよく用いられます。ここではPython 3.xを使って統計・機械学習の計算・グラフ描画をします。Rを使った統計・データ解析の姉妹編を目指しています。 [2024-04-07] コード部分をクリックするとクリップボードにコピーされるようにしました。 お品書き はじめの前に / PEP 8 インストール 実行 / Google Colaboratory / EIN(アイン) / Docker / ipynbを公開する方法 Pythonの初歩 / Collatzの問題 / 配列 / 基数変換 / ゼロ除算 グローバル変数とローカル変数 プロット / 図のラスタライズ / seabornによるプロット / Plotly / プロットをデータに 棒グラフ・積み重ね棒グラフ 曲線を描く / 正規分布の密度関数を描く ヒストグラム
「ChatGraph」はChatGPTのノードエディターで、ノードを組み合わせることで複雑なシステムを視覚的に構築できます。ChatGPTの高い性能を有意義に使えそうだったので、実際に使ってみました。 【ChatGPTのノードエディタ】ChatGraph - β - uynet - BOOTH https://booth.pm/ja/items/4728147 まずは、上記のリンクからChatGraphの配布ページにアクセスして「無料ダウンロード」をクリックします。今回は無料版を選択しましたが、ChatGraphには画像生成機能が付いたお布施版も存在しています。 ZIPファイルをダウンロードしたら、Windows標準機能や対応ソフトで解凍します。 ZIPファイルを解凍するとChatGraphの実行ファイル「graph.exe」が現れるのでダブルクリックして起動します。 ChatGraphの
子供にマインクラフト使ったPythonプログラミングを教えようとしたらChatGPT使ったプログラミング不要な世界を体験させちゃった こんにちは、会社ではCX事業本部モダンオフショア推進担当、家庭では3児の父親の藤村です。 IT業界で働く親として、子供には幼い頃からプログラミングに親しんでもらいたいと思い、時々Scratchを使った簡単なプログラミングなどを教えていたのですが、ちょっとすると「友達とゲームする時間だから止めるね!」といって、友達とのNintendo Switch使ったオンラインゲーム(FortniteやMinecraftなど)をやり始めてしまい、親としては少し残念な気持ちになっていました。 そんな時に、『マインクラフトでわくわく学ぶ!Pythonプログラミング入門』という書籍が最近発売されたことを知りました。 マインクラフトでPythonを学ぶ!これは息子にドンピシャの内容
はじめに これ、Turtlebot3 の 3D モデルを Unity 上に取り込み、モーター、センサ系を再現したものです。 この Unity 上のロボットを Python 使って制御する方法をご紹介します。 仕組み このロボットをPythonでコントロールするためのプラットフォームとして、TOPPERS/箱庭を利用します。 最近ですと、以下の記事で EV3 というロボットをPython 使って強化学習した実績があるものです。 ロボットの部品群 モーター 差動モーターで駆動します。両輪それぞれにモーターが割り当てられており、モーターの回転速度差で直進、右曲がり、左曲がりができます。 レーザスキャナ 2D のレーザスキャナです。360度(1度単位)の障害物検出ができます。 カメラセンサ 前方にカメラセンサを付けています。 640×480 のカメラデータが取れます。 ロボットの通信データ ロボッ
2023/03/09 追記 このコマンドで使っているエラーハンドリングの仕組みについて別途記事にしました。 ChatGPTならではで面白いので、読んでもらえると嬉しいです! 🔗 ChatGPT API にコードを書かせて eval する際のエラーハンドリング・プラクティス 息子と一緒に遊びたいなと、Minecraft と ChatGPT を繋げて、やりたいことを日本語で伝えるといい感じに実現してくれるコマンドを作りました 🪄 作ったもの /py magic に続けてやりたいことを伝えると、いい感じに実現してくれます。 家をつくる例 /py magic 10マス先に豪華な家を作って。窓は広めで。 水流エレベーターをつくる例 /py magic 水流エレベーターを作って。周りは石ブロックで。 🛠️ 実装 事前に Minecraft で Python を実行できる環境を整えます。 mcpi
更新情報 -目次- はやくもUI改善等 Ver.upが図られています。以下内容の記事を追加しました。 1. データフレーム表示 2. ヒストグラムの描き方 3. ダークモード対応 4. オンライン版 5. 海外のデータイノベーション支援団体でも人気 はじめに Tableauはご存じでしょうか? 私は使ったことはありませんが、名前だけはよく耳にします。 これは、専門家でなくてもデータの収集・分析・加工ができるBI(ビジネス・インテリジェンス)ツールのひとつです。 なんと、Jupyter Notebook上(Google ColabもOK)で実行できる Tableau風 BIツール「PyGWalker」が登場しました。 Tableauそのものではありませんが、ドラッグ&ドロップの簡単な操作でデータ分析や視覚的な探索が実行できます。 こんなのが出てくるとは・・・すごい。 しかも、数行のコードで実
Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 本ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 本ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 はじめに どうもこんにちは、kunishouです。 この度、PythonライブラリであるPolarsを効率的に学ぶためのコンテンツとして 「Python初学者のためのPolars100本ノック」 を作成したので公開します。こちらは2020年9月に公開した「Python初学者のためのpandas100本ノック」の問題内容をPolarsのメソッドに合わせて修正、再編したものになります。本コンテン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く