タグ

pythonと*dataに関するsh19910711のブックマーク (344)

  • Jupyter上でDashを使えるjupyter_dash - Qiita

    Dashは可視化をインタラクティブに行えるウェブフレームワークです。そしてDashにはJupyter上でアプリケーションを動作させるjupyter_dashというパッケージが存在しています。そして最近、Google Colab上でjupyter_dashが動作するようになりました。 今回はjupyter_dashの使い方に加えて、Jupyter上でDashが使えるメリットを紹介したいと思います。 今回はグーグルコラボ上で全ての作業を行います。サンプルのノートは次のリンク先にあります。 準備 jupyter_dashはコラボにインストールされていません。あと可視化に使うplotlyのバージョンが古いものになっているので、更新します。

    Jupyter上でDashを使えるjupyter_dash - Qiita
  • Airflow doc_md のすゝめ - toohskの日記

    この記事はZenn.devで書いた記事です。 Summary Airflow のdag とtask には、doc_mdというものがあるよ。 これを使えばタスクの定義や目的をみんな大好きMarkdown形式で記述することができるよ。 今回は、Airflow==1.10.12を使ってるけど、Airflow<=1.10.1から使えるからGoogle Cloud Composer でも使えるよ。 What's Airflow Airflow は元々はAirbnb が開発していたタスクスケジューラOSSでした。 今は、Apache コミュニティの一つのOSSとしての位置づけになっています。 また、マネージドサービスとしてはGCP のCloudComposerがあります。 仕組みなどは他の記事などを参照されたいが、簡単に要点を以下にまとめてみました。 それぞれのタスクはOperatorと呼ばれる処理を

    Airflow doc_md のすゝめ - toohskの日記
    sh19910711
    sh19910711 2021/07/10
    "Airflow のdag とtask には、doc_mdというものがある / Graph ViewやTree Viewに遷移すると描画されている / ここに説明を記述することで、task_idだけでは表現できない、リトライのことやDAGの目的などを書くことができます"
  • カーリングで後攻をとった場合の勝率への影響を傾向スコアを用いて算出する - TECH MEMO

    前回の投稿からだいぶ経ってしまいましたが、もうすぐ平昌オリンピックですので、また世界選手権のデータを少し分析してみました。 前回の投稿では、ベイズ推論によるアプローチで、先攻の場合と後攻の場合で勝率に差が存在するのかを確かめてみました。 ただ、勝率には先攻・後攻以外に、自チームおよび対戦チームの強さが大きく影響している(はず)です。そのため、単純に先攻の場合と後攻の場合の勝率を集計しただけでは、それが後攻をとったことによる効果を表しているとは言えません。 そこで、傾向スコアによる共変量(チームの強さ)調整を行って、後攻をとった場合に、先攻の時に比べてどのくらい勝率が上がるかを調べてみます。 (傾向スコアを使ってみたかっただけなので、色々と設定が甘いところがありますが、その辺はご容赦を。。。) なお、今回も前回と同様に、2002年〜2016年までの15年間の男女世界選手権のデータが、変数re

    カーリングで後攻をとった場合の勝率への影響を傾向スコアを用いて算出する - TECH MEMO
    sh19910711
    sh19910711 2021/07/05
    "問題設定(共変量の選択)をかなり単純にしてしまっているため、傾向スコアを算出したモデルの精度もかなり怪しい / ちゃんと効果を算出するには、傾向スコアの前に問題設定をきちんと検討する必要がありそう"
  • 「データ指向のソフトウェア品質マネジメント」の「テスト工程での不具合検出数の予測」をPythonで行う - wonderful cool something

    「データ指向のソフトウェア品質マネジメント」(野中・小池・小室)の4.2節「テスト工程での不具合検出数の予測」をPythonで追ってみることにする。 今年のソフトウェア品質シンポジウムで著者の一人によるチュートリアルを受講したのだが、それがとても面白かったので購入した。 In [1]: import math import pandas as pd from pandas import DataFrame, Series import matplotlib.pyplot as plt %matplotlib inline まずは対象データを読み込む。これは書籍のサポートページからダウンロードできる。 ダウンロードに書籍記載のパスワードが必要なので生データをここには載せないが、 データ自体はFenton (2008)のものである。 ソースコード行数KLOCと不具合検出数Failures以外は

    「データ指向のソフトウェア品質マネジメント」の「テスト工程での不具合検出数の予測」をPythonで行う - wonderful cool something
    sh19910711
    sh19910711 2021/07/04
    "「データ指向のソフトウェア品質マネジメント」(野中・小池・小室)の4.2節「テスト工程での不具合検出数の予測」"
  • dash-cytoscapeで可視化する重みをつけた最短経路問題を書く

    3. グラフの定義 グラフ(ツリーグラフやDAG)は、ライブラリによって様々な記述方法があります(隣接行列表現など)が、今回dash-cytoscapeで使用する形式はオブジェクト形式で割と独自系です。 2 ~ 7行目でノードの定義。8行目以降で、ノードとノードを繋ぐ線(エッジ)の定義をしています。weightは、そのエッジの重みと言って、作業量などを考慮して最短経路問題など解く際に使用されます。 elements = [ {'data': {'id': 'A'}}, {'data': {'id': 'B'}}, {'data': {'id': 'C'}}, {'data': {'id': 'D'}}, {'data': {'id': 'E'}}, {'data': {'id': 'F'}}, {'data': {'id': 'AC', 'weight': 5, 'source': 'A'

    dash-cytoscapeで可視化する重みをつけた最短経路問題を書く
  • TFMAで始めるBigQuery MLのモデル分析

    はじめに BigQuery Advent Calendar 2020 16日目の記事になります。 BigQuery便利ですよね。 ビッグデータの分析を素早く楽にしてくれて、雑なクエリを書いても高速に結果を返してくれる。 機械学習モデルもBigQuery MLを使えばSQLから簡単に作ることもできます。 BigQuery MLの素晴らしいところはBigQueryの中で閉じていることだと思いますが、作成された機械学習モデルを評価する、特に可視化して分析をするといった時にはBigQueryの中に閉じた状態でなんとかするのは難しいのかなと思います。 そこで今回はTensorFlow Model Analysis(以下TFMA)を用いて可視化とモデルの分析を簡単にできる方法をご紹介しようと思います。 今回の検証ではtensorflow_model_analysis==0.25.0を利用しました。 ま

    TFMAで始めるBigQuery MLのモデル分析
  • 音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita

    最近音楽機械学習で扱うことに興味があって色々と調べているのですが、せっかくなので備忘録と理解促進を兼ねて記事にしてみます。 機械学習に限らず、音楽をデジタル情報として扱う際には楽譜や調、歌詞など、メタな情報を扱う方法と、オーディオデータそのものを扱う方法とに大別されますが、今回はオーディオデータそのものを扱う方法の一つとして、MFCCについてまとめます。 お急ぎの方向け mp3 を wav にして MFCC して現実的に扱えそうな次元に落とす # ffmpegのインストール $ brew install ffmpeg # ffmpegmp3 を サンプリングレート 44.1kHz wavに変換 $ ffmpeg -i hoge.mp3 -ar 44100 hoge.wav # 必要なPythonパッケージのインストール $ pip install --upgrade sklearn

    音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita
    sh19910711
    sh19910711 2021/06/18
    librosa / "MFCC (Mel-Frequency Cepstrum Coefficients/メル周波数ケプストラム係数) > 音声としての情報をできるだけ損なわずに、Googleのような潤沢な計算リソースがなくても現実的に扱える次元にまで落とす方法"
  • うわっ…私のpandas、遅すぎ…?って時にやるべきこと(先人の知恵より) - Lean Baseball

    ※あくまでもイメージです(適当) 仕事じゃなくて、趣味の方の野球統計モデルで詰まった時にやったメモ的なやつです.*1 一言で言うと、 約19万レコード(110MBちょい)のCSVの統計処理を70秒から4秒に縮めました. # 最初のコード $ time python run_expectancy.py events-2018.csv RUNS_ROI outs 0 1 2 runner 0_000 0.49 0.26 0.10 1_001 1.43 1.00 0.35 2_010 1.13 0.68 0.32 3_011 1.94 1.36 0.57 4_100 0.87 0.53 0.22 5_101 1.79 1.21 0.50 6_110 1.42 0.93 0.44 7_111 2.35 1.47 0.77 python run_expectancy.py events-2018.c

    うわっ…私のpandas、遅すぎ…?って時にやるべきこと(先人の知恵より) - Lean Baseball
  • データオーケストレーションツールのDagsterを使ってみた | DevelopersIO

    大阪オフィスの玉井です。 dbt界隈の人たちがこぞって推奨している(ように思える)ツールであるDagsterを使ってみました。 Dasterとは? 公式の紹介文を引用します。 Dagster is a data orchestrator. It lets you define pipelines (DAGs) in terms of the data flow between logical components called solids. These pipelines can be developed locally and run anywhere. 「データオーケストレーター」と言われると、なかなかピンときませんが、ジョブ管理ツールの一種と思っていただければわかりやすいと思います(Apache Airflow等と同じカテゴリ)。データパイプラインの開発はもちろん、一連の処理の運用

    データオーケストレーションツールのDagsterを使ってみた | DevelopersIO
    sh19910711
    sh19910711 2021/05/16
    Dagster、タスク間の入出力をPythonの関数でそのまま表現できるのはシンプルで良さそう。ジョブステートの管理はどうなってるんだろ
  • 系列データとして銀のエンゼルの出現確率を推定する(状態空間モデル) - チョコボール統計

    【概要】 チョコボールの銀のエンゼル出現確率を時系列データとして扱い、状態空間モデルを使って推論してみた 状態空間モデルの推論はパーティクルフィルタを利用し、潜在変数の確率モデルとしてノンパラメトリックに推定した密度関数を利用してみた 結果としては毎月だいたい5%くらいの出現確率で一定していると予想できた 【目次】 はじめに モデリング 前提/仮定 モデル設計 ベータ分布の利用 数値的な推論 実装 観測モデルとシステムモデル パーティクルフィルタ 実装コード全体 実験 データ 推論結果 まとめ 参考文献 はじめに 当ブログではこれまで、チョコボールのエンゼル出現確率は、ある確率で一定であると仮定してきました*1。そしてその仮定の元で、データから出現確率の予測を行っています。 chocolate-ball.hatenablog.com しかし実際には、エンゼル出現確率が一定である保証はありま

    系列データとして銀のエンゼルの出現確率を推定する(状態空間モデル) - チョコボール統計
  • luigiでタスク実行にかかった時間を取得する - Qiita

    訳あって、OSSのデータフロー制御ツールであるluigiで書かれたジョブのログを調べていたのだが、DEBUGとかの「そこは別にいいよ」というメッセージを結構大量に出す割に、実行したタスクがどれくらい時間がかかったかをログに出さないのである。 しかもログメッセージにデフォルトではタイムスタンプがついていない! なんともなluigiさんだが、その後調べた結果、タスクの実行時間が取れる方法が分かったのでメモしておく。 環境 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ python -V Python 2.7.5 $ PYTHONPATH='.' luigi --module top_artists AggregateArtists --local-scheduler --date-interval 2012-0

    luigiでタスク実行にかかった時間を取得する - Qiita
    sh19910711
    sh19910711 2021/05/04
    PROCESSING_TIME / `luigi.Task.event_handler(luigi.Event.PROCESSING_TIME)` / "このPROCESSING_TIME機構だが、結構古いバージョンから実装されているようで、1.0.17あたりから入っている"
  • pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019

    PyConJP 2019: https://pycon.jp/2019/ Speaker: [Twitter] @komo_fr (https://twitter.com/komo_fr) [GitHub] @komo-fr (https://github.com/komo-fr) Video: https://www.youtube.com/watch?v=T8lL9Nb3hMM GitHub: https://github.com/komo-fr/PyConJP2019_pandas_styling nbviewer: https://nbviewer.jupyter.org/github/komo-fr/PyConJP2019_pandas_styling/blob/master/notebooks/styling.ipynb Togetter: https://togetter.c

    pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019
  • 階層的クラスタリング

    階層的クラスタリングってseaborn.clustermap()で ちょちょっとグラフをみる位しかしない為, この辺の話はあまり知らないので改めて. 「scipy.cluster.hierarchy.cut_tree」はカットされた木を返す. 要はクラスタを返すという事だろうか. どうも,バグが多そう……. Alternative for scipy.cluster.hierarchy.cut_tree() – StackOverflow データが持つ情報が不明なのでよく分からない. %matplotlib inline import matplotlib.pyplot as plt import seaborn as sns import numpy as np from scipy.cluster.hierarchy import linkage, is_valid_linkage,

    階層的クラスタリング
    sh19910711
    sh19910711 2021/04/18
    seaborn.clustermap
  • 数GB以上の巨大なXMLをPythonで読むときのメモリ節約法 - Qiita

    はじめに 機械可読なデータをやり取りするときはJSONが主流になって久しい世の中ですが、XMLでデータが配布されることは時々あります(古くからある機関が公開してくれているデータとか)。 あるいは自然言語処理をしていると、たとえば構文解析機の CaboCha には解析結果をXML形式で出力するオプション (-f 3) があるので、結果の処理がいわゆる lattice の形式より楽になるという意味で使ったりすることがあるのではないでしょうか。 私は後者のクチで、大きめのコーパスの構文解析結果をXMLに落としてあれこれしようとしていたのですが、その8GBのXMLを手元にあるメモリ64GBのマシンで処理しようとしたところ、メモリがいっぱいになって途中から進まなくなってしまいました(エラーすら吐かない)。 がんばってメモリを増やしたぞーというつもりで64GBにしたのでちょっとびっくりしました。 問題

    数GB以上の巨大なXMLをPythonで読むときのメモリ節約法 - Qiita
  • DASKによる探索的データ分析(EDA) - 株式会社カブク

    株式会社カブクで、機械学習エンジニアとしてインターンシップをしている杉崎弘明(大学3年)です。 目次 記事の目的 探索的データ解析(EDA)とは何か KaggleのコンペティションでEDA サイズの大きいデータの扱い方 DASK EDAの実行 最後に 記事の目的 記事では探索的データ解析(EDA)の説明と並列処理フレームワークDASKの処理解説、DASKを用いた実際のデータに対するEDAの一例を紹介いたします。 データはKaggle Competitionにおいて公開されている「TalkingData AdTracking Fraud Detection Challenge」を使用します。 Kaggleという言葉を初めて聞いた方は以下のサイトなどをご覧ください。 – https://www.codexa.net/what-is-kaggle/ 実行環境 – OS: Ubuntu 16

    DASKによる探索的データ分析(EDA) - 株式会社カブク
  • Python and Parquet Performance

    This post outlines how to use all common Python libraries to read and write Parquet format while taking advantage of columnar storage, columnar compression and data partitioning. Used together, these three optimizations can dramatically accelerate I/O for your Python applications compared to CSV, JSON, HDF or other row-based formats. Parquet makes applications possible that are simply impossible u

    Python and Parquet Performance
  • PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita

    PandasやNumPyの並列処理だったり、メモリに乗り切らないデータを扱う際などによく見かけるDaskライブラリ。 ただ、細かいところまで触れている日語の資料があまり無かったので、公式ドキュメントなどをしっかり読んでみてまとめてみました。 ※Daskのドキュメント既に読まれている方はご存知かと思いますが、ドキュメントがかなりのボリュームなのと、細かい所まで把握するのを目的とするため、記事も長めです。仕事などの都合でさくっと使われたい方には向いておりませんので、そういった場合は別の記事をご参照ください。 どんなライブラリなのか Pythonで並列処理・分散処理などを簡単に扱ってくれる。 Pythonでよく使われるライブラリとかなり近いインターフェイスを提供している(NumPy、Pandas、Scikit-Learnを中心に、他にもTensorFlow・XGBoostなども)。 必要な場

    PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita
  • PyArrowとParquet - Atsuo Ishimoto's blog

    さて、ビッグデータ全盛の昨今、数ギガバイト程度のデータのやり取りは珍しくもなんともない時代になりました。交換用データファイルのフォーマットもいろいろな形式が使われていますが、ここではPythonで一般的に使われているファイル形式を簡単に検討してみましょう。 CSV¶昔から、単純な表形式のデータにはCSVが使われてきました。Microsoft Excelをはじめとしてさまざまなツールでサポートされており、幅広い環境で利用できます。 データの作成¶例として10万行・100カラムのデータを作成し、CSV形式で保存してみましょう。インデックスとして、datetime型の値を指定してます。 %pip install pandas pyarrow numpy tqdm dask graphviz import sys import numpy as np import pandas as pd pd.

    PyArrowとParquet - Atsuo Ishimoto's blog
  • AWS LambdaとPyArrow3.0.0を使ってサクッとParquetファイルに変換する | DevelopersIO

    id price total price_profit total_profit discount visible name created updated 1 20000 300000000 4.56 67.89 789012.34 True QuietComfort 35 2019-06-14 2019-06-14 23:59:59 PyArrow3.0.0用のLambda Layerを作成する Lambda動作環境の選定 今回は、TSVファイルに軽量・高速に変換するためAWS Lambdaを用います。Lambdaは、パッケージフォーマットとして、従来どおりLambda関数を用いる方法に加えて、コンテナイメージがサポートされました。複数のLambdaアプリケーションや関数から再利用されることを考慮して、デプロイパッケージは、Layerを用います。 Lambdaの制約事項 デプロイパッケ

    AWS LambdaとPyArrow3.0.0を使ってサクッとParquetファイルに変換する | DevelopersIO
  • Python pandas アクセサ / Grouperで少し高度なグルーピング/集計 - StatsFragments

    語の説明がなさそうなので。 概要 pandas では groupby メソッドを使って、指定したカラムの値でデータをグループ分けできる。ここでは少し凝った方法を説明。 ※ dtアクセサ の追加、またグルーピング関連のバグ修正がいろいろ入っているので、0.15以降が必要。 ※簡単な処理については下の記事でまとめ。 はじめに 例えばこんなデータがあったとして、 import pandas as pd import datetime df = pd.DataFrame({'dt1': [datetime.datetime(2014, 10, 1), datetime.datetime(2014, 10, 2), datetime.datetime(2014, 10, 3), datetime.datetime(2014, 10, 4), datetime.datetime(2014, 10,

    Python pandas アクセサ / Grouperで少し高度なグルーピング/集計 - StatsFragments
    sh19910711
    sh19910711 2021/03/17
    "数日おきなど、特定の周期/間隔でグループ分けしければ Grouper。freqキーワードの記法は Documentation 参照"