タグ

somemoのブックマーク (11,340)

  • 【pandera】pandasでも型をしっかりつけたい! - Qiita

    はじめに こんにちは。今年の春からブレインパッドでデータサイエンティストをしている者です。 ようやく日々の業務に慣れてきたと思っていたら、月日が流れるのは早いもので今年ももうあと2週間ほどですね。来年に向けていろいろと(物理的にも情報的にも)整理をしていこうと思います。 ということで、今年のちょっとした締めくくりとして僭越ながらアドベントカレンダーに参加させていただきました。 BrainPad AdventCalendar 2021の14日目を担当させていただきます。 さてpythonデータ分析と言えばやはりpandasが主流かと思います。書き方に多少の癖はありますが、DataFrameなどを使うことでデータの読み込み、処理、書き出しまでを非常に幅広くかつ手軽に行うことができます。 一方でその柔軟さゆえに、思った通り処理が行われているか分かりづらいことや、想定していない操作が行われてしま

    【pandera】pandasでも型をしっかりつけたい! - Qiita
    somemo
    somemo 2024/02/27
  • Pythonロギングを(主に自分が)快適になるDeloggerプラグイン - Qiita

    Pythonでログ出力する際に何を使っていますか、printでしょうか。それともloggingでしょうか。(デジャブ) 前日のアドベントカレンダーPythonのログ出力にlogzeroを使う と続けてまさかの2日連続のロギング会です! 自作パッケージDeloggerとは、主に自分がロギング処理を楽にするために作成しました。 なんと、Python3.4以上のバージョンしか対応してません! 3.5以上にしたかった(Type Hints使ってみたかった)ですが、なんとなくの理由で3.4以上(最低限pathlib使いたかった)にしました。 安直に、Debug loggerという意味! 手軽に(自分が)よく使うロギングを設定してくれるパッケージ! カラーでストリーム!ログファイル生成!時にはSlack通知! 様々な設定値ですが、クラス変数だと全ロガー共通設定に。インスタンス変数だとそのロガー限定の設

    Pythonロギングを(主に自分が)快適になるDeloggerプラグイン - Qiita
    somemo
    somemo 2024/01/05
  • Deep LearningのData Augmentationまとめ - livlea blog

    Data Augmentation手法をまとめてみました。画像系のタスク用の手法に限定しています。 Geometric Transformation ミラー(水平、垂直) 回転 シフト スケーリング シアー変換 クロップ Photometric Transformation Color jitter (輝度、コントラスト、色相、彩度、明度、ガンマ) PCA エッジ強調 ブラー (ガウシアン、メディアン、平均、バイラテラル) ノイズ付加 ガウシアン ソルト & ペッパー 画像のMasking Cutout - 画像の一部をマスクする - マスクの画素値は画像の平均、マスクをかける場所はランダムに決める - https://arxiv.org/abs/1708.04552 Random Erasing - cutoutと似ている - 全体の何割をマスクするか、また、マスクのアスペクト比も決める

    Deep LearningのData Augmentationまとめ - livlea blog
    somemo
    somemo 2023/08/27
  • いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ

    【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h

    いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ
    somemo
    somemo 2023/08/27
  • INNER JOIN vs LEFT JOIN performance in SQL Server

    I've created SQL command that uses INNER JOIN on 9 tables, anyway this command takes a very long time (more than five minutes). So my folk suggested me to change INNER JOIN to LEFT JOIN because the performance of LEFT JOIN is better, despite what I know. After I changed it, the speed of query got significantly improved. I would like to know why LEFT JOIN is faster than INNER JOIN? My SQL command l

    INNER JOIN vs LEFT JOIN performance in SQL Server
    somemo
    somemo 2023/08/27
  • 複数のGitHubアカウントを保持していいの?GitHubサポートに問い合わせてみた | Webシステム開発/教育ソリューションのタイムインターメディア

    複数のGitHubアカウントを保持していいの?GitHubサポートに問い合わせてみた #git#GitHub 2022年 10月 25日 t_oikawa 「社内標準のソースコード管理サービスとしてGitHubを使いたい。」 ある社員の一言がきっかけとなり、社内でGitHubの利用に対する賛否に関するアンケートを実施したところ、賛成の意見が多かったため、GitHubの社内利用開始に向けて準備を開始しました。 しかし、GitHubの利用規約に記載されているある一文の解釈が論点になり、社内利用を開始するまでに結構な時間を費やしてしまいました。 One person or legal entity may maintain no more than one free Account (if you choose to control a machine account as well, that

    複数のGitHubアカウントを保持していいの?GitHubサポートに問い合わせてみた | Webシステム開発/教育ソリューションのタイムインターメディア
    somemo
    somemo 2023/04/03
  • QRコードをパソコンで読み取る(インストール不要)

    ツイート QRコードをパソコン(PC)で読み取ることができるツールです。 インストール不要でmacでもwinでも関係なく利用できます。 ファイルをアップロードしてQRコードを読み取る ファイルをURLで指定してQRコードを読み取る QRコードの画像ファイルをアップロードしていただくことにより、このプログラムはそのQRコードを解析して書かれている文字をブラウザ上に出力します。 携帯で写メを撮ったりQRコードリーダーなどのアプリをインストールすることもなくQRコード内の文字を読み取ることができます。 APIとしての使用方法 QRコードの画像ファイルのURLを下記のようにGETで指定していただければ、このサイトはそのQRコード内の文字だけを返します。 http://qrcode.red/api/?url=http://qrcode.red/example.png 他にも作ったツール メールアドレ

    somemo
    somemo 2023/03/18
  • Look & Learn - Using multiple y-axes

    Use multiple y-axes to optimize how your data is displayed in different types of charts.

    Look & Learn - Using multiple y-axes
    somemo
    somemo 2023/03/12
    lookmlで説明している例がほぼないってことは、get lookml見てねってことなのかな
  • [Looker]sqlパラメータでのcase句とcaseパラメータの違いを確かめてみる #looker | DevelopersIO

    さがらです。 早速ですがLookerでは各フィールドの定義時、対象となるカラムの値に応じて表示するlabel等の内容を変更するcaseパラメータが存在します。 しかし、Lookerではsqlパラメータの中にSQLを記述することが出来ますので、この中にCASE句を記述することも出来てしまいます。 この違いはどんなところにあるのか、エントリでまとめてみます。 どこに違いが出るのか? 最初にどこに違いが出るのかを説明しておくと、「sqlパラメータでCASE句を使う場合」と「caseパラメータを使う場合」では、以下2つの場合で違いが出てきます。 Exploreで選択したときの表示順序 Exploreでフィルターとして設定したとき これらの違いについて、以下に詳細にまとめてみます。 Exploreで選択したときの表示順序 sqlパラメータでCASE句を使う場合 sqlパラメータでCASE句を使う場

    [Looker]sqlパラメータでのcase句とcaseパラメータの違いを確かめてみる #looker | DevelopersIO
    somemo
    somemo 2023/03/12
    上から記述しないと順番が意図しないものになる その場合は、order by field?
  • [Looker21.8新機能] 直感的な操作でAPIの実装をサポートする”API Explorer”を試してみた #looker | DevelopersIO

    さがらです。 つい先日、Lookerの最新バージョン21.8の情報が公開されました。 この中でAPI Explorerという、GUI上の直感的な操作で必要なAPIのコードを任意の言語で出力出来る機能が追加されることが説明されています。 実はこちらの機能、21.8のリリース前なのですがLooker Marketplaceを介して使用可能な状況となっています! ということで早速試してみましたので、ブログで簡単に紹介したいと思います。 注意点 Looker Explorerは、2021/5/17時点ではBETA版です。 今後のアップデートで仕様が変更となる所もあるかと思いますので、随時最新情報を確認するようにしてください。 API Explorer前準備 まずAPI Explorerをどうやって使うのか、必要な準備について説明します。 API ExplorerはLooker Marketpla

    [Looker21.8新機能] 直感的な操作でAPIの実装をサポートする”API Explorer”を試してみた #looker | DevelopersIO
    somemo
    somemo 2023/03/12
  • SpectaclesでLooker(LookML)のテストをやってみた | DevelopersIO

    大阪オフィスの玉井です。 Spectaclesを実際に使ってみました。 Spectaclesとは 下記の記事で説明されています。 もう少しシンプルかつざっくりいうと、指定したタイミングでLookMLやコンテンツのテストを行ってくれるツールです。Lookerのための自動テストツールって感じでしょうか。 現在、Spectaclesを利用するためには、公式サイトからデモ依頼を行う必要があります(デモをやってもらった後、トライアル環境がもらえる)。当然、英語でやり取りをするので、私は翻訳サービスを駆使してなんとかがんばりました。 やってみた Looker側の準備 Spectaclesは、LookerのAPIを利用して、各種テスト(バリデーション)を実施するので、先にSpectacles用のAPIを用意する必要があります。公式の推奨として、Spectacles用のユーザーを個別に作ったほうが良いとあ

    SpectaclesでLooker(LookML)のテストをやってみた | DevelopersIO
    somemo
    somemo 2023/03/12
    lookerに対してCIでできること
  • [Looker21.12新機能]Explore上でディメンションのグルーピングと汎用的なテーブル計算が簡単に出来るようになりました #looker | DevelopersIO

    さがらです。 先日、Looker21.12がリリースされました。 このリリースノートの内、「グルーピングとクイック計算」について検証してみたので内容をまとめてみます。 前提:この機能を使うために まず、ブログで紹介する機能を使うためには、「”管理”タブ➟Labs➟Experimental➟Custom Fields」をONにしないといけません。 注意点としては、このCustom Fields機能をONにするとExploreのUIが変わります。 データ欄の「計算」が消え、フィールドピッカー上に「カスタムフィールド」が表示されるようになります Before After このようにUIが変わるため、機能を試す前には事前にユーザーに告知するか、全く影響のない時間帯で試すことを推奨します。 機能紹介:ディメンションのグルーピング まず、ディメンションのグルーピングについて説明したいと思います。

    [Looker21.12新機能]Explore上でディメンションのグルーピングと汎用的なテーブル計算が簡単に出来るようになりました #looker | DevelopersIO
    somemo
    somemo 2023/03/12
    tableau的なことができる AdHocに使ってもらって、良さそうだったらdimension追加の流れになる
  • [小ネタ][Looker]COUNT(*)とCOUNT(フィールド名)をLookerで実装してみる #looker | DevelopersIO

    さがらです。 小ネタ的な内容ですが、LookerでCOUNT(*)とCOUNT(フィールド名)をそれぞれ実装してみたので、検証した内容をまとめてみます。 COUNT(*)とCOUNT(フィールド名)の違い 突然ですが、SQLにおいてCOUNT(*)とCOUNT(フィールド名)の違いを知っていますか? COUNT(*) 対象のテーブル上のレコードを全てカウントする COUNT(フィールド名) 対象のフィールドにおいて、非NULL値を持つレコードをカウントする ということで、COUNT(フィールド名)の場合にはNULL値はカウントされないのです。 (各DB・DWH製品によるかもしれませんが、少なくともBigQueryとPostgreSQLではこの仕様であることを確認しております。) 例 下図はBigQueryでの例です。 id列に1レコードだけNULLを設定して、COUNT(*)とCOUNT(

    [小ネタ][Looker]COUNT(*)とCOUNT(フィールド名)をLookerで実装してみる #looker | DevelopersIO
    somemo
    somemo 2023/03/12
    ## COUNT(*)に該当 measure: record_count { type: count } ## COUNT(フィールド名)に該当 measure: record_count_without_null { type: count filters: [id: "-NULL"] }
  • [Looker21.12新機能] dev_filters を使ってNDTでも開発時のクエリにフィルタをかける #looker | DevelopersIO

    先日公開した下記ブログで、SQL派生テーブル開発時にクエリにwhere句をつけて大きなクエリを自動で防ぐ方法をご紹介しました。 if prod if devを派生テーブルで使用うする場合、SQLのfrom句/where句にベタがきで記述するため、LookMLを使用した派生テーブル(NDT)では使用できませんでした。 しかし、NDTでも開発モードでクエリが回っている際にはフィルターをかけてくれるdev_filtersパラメータが、7月にリリースされたLooker21.12で登場しました! 記事では新顔のdev_filtersパラメータの動作を確認します。 実践 ECサイトの管理Explore上でユーザーのライフタイムオーダー数を計算する派生テーブルをNDTで作成します。 ライフタイムオーダー数を出すので、番であれば全データを対象に計算したいですが、開発では問題なくクエリが走っているかを確

    [Looker21.12新機能] dev_filters を使ってNDTでも開発時のクエリにフィルタをかける #looker | DevelopersIO
    somemo
    somemo 2023/03/12
    if prod if devを派生テーブルで使用する場合、SQLのfrom句/where句にベタがきで記述するため、LookMLを使用した派生テーブル(NDT)では使用できない
  • [Looker] view_nameパラメータとfromパラメータの違いを理解する #looker | DevelopersIO

    Lookerでは、モデル内のExplore名やExplore内のjoin名には一意制約があり、同じviewを指定るすとエラーになってしまいます。 このエラーを回避するためにview_nameパラメータとfromパラメータという2つのLookMLパラメータが用意されています。今回はこちらの2つのパラメータの動作の違いや利用シーン別のユースケースをご紹介します。 view_nameとfromパラメータの違い users viewを1つだけ使って、以下の2つのExploreを定義しました: explore: users {} explore: customer { view_name: users join: buyer { from: users sql_on: ${buyer.id} = ${users.id} ;; } } 一つ目のExploreはusers view単体で定義しています。

    [Looker] view_nameパラメータとfromパラメータの違いを理解する #looker | DevelopersIO
    somemo
    somemo 2023/03/12
    view単体でのExplore定義と比較 viewをベースにしたい 同じExplore名は定義できない 名前を変える view_nameで参照するviewを指定 Exploreに同一viewをjoin Explore内でも同じview名でjoinできない join名を変える fromで参照するviewを指定
  • VOC分析を支えるデータ基盤とモダンデータスタックの取り組み【DeNA TechCon 2023】

    SpeakerDeck:https://speakerdeck.com/dena_tech/techcon2023-session12概要:DeNAのカスタマーサポートやマーケティング業務では、数多くのサービスに対する反響の分析やリスク管理などを目的に、日々蓄積されるDeNAのあらゆるサービスのユーザーのご意見や...

    VOC分析を支えるデータ基盤とモダンデータスタックの取り組み【DeNA TechCon 2023】
  • VOC分析を支えるデータ基盤とモダンデータスタックの取り組み【DeNA TechCon 2023】

    youtube:https://youtu.be/fokewbBeRvo 概要: DeNAのカスタマーサポートやマーケティング業務では、数多くのサービスに対する反響の分析やリスク管理などを目的に、日々蓄積されるDeNAのあらゆるサービスのユーザーのご意見やレビューデータなど活用したVOC(Voice Of Customer)分析およびソーシャルリスニングが積極的に行われています。 これらデータの活用を進めるためGoogle Cloudでデータ基盤を構築・提供してきましたが、ツール保守などの運用コスト面やデータ品質の課題などが顕著となってきました。 そこで、データエンジニアリング界隈でトレンドとなっているモダンデータスタックに着目しつつ、どう課題を解決してきたか、また現在どういったことに取り組んでいるかをご紹介します。 登壇内でのリンク集: p2, https://engineering.d

    VOC分析を支えるデータ基盤とモダンデータスタックの取り組み【DeNA TechCon 2023】
    somemo
    somemo 2023/03/12
  • Lookerで表計算結果のランクを動的なフィルタとして使う - Qiita

    ※タイトル通り&ほとんどこの記事の和訳です。 やりたかったこと 事前にviewで定義しておくのではなく、粒度や集計軸を動的に変えられるランクをフィルタとして使いたかった。 ハードル 事前にviewで定義したrank dimensionを使うと、集計軸ごとに複数dimensionを作らなければいけない。 Explore上でTableCalcurations機能を使って作った計算結果はフィルタとして使えない。 使っているテクニック parameter Table Calculations Hide from Visualization Hide "No"s from Visualization やり方 ①viewに type: numberのdimension と parameterの2つを追加する。この時、dimensionのsql句ではparameterの名前を指定する。(この例ではmax

    Lookerで表計算結果のランクを動的なフィルタとして使う - Qiita
    somemo
    somemo 2023/03/12
    rankとparameterによる制御 yesnoフィールドだとHide "No"s from Visualizationが使える parameterをfilter内で使いつつで良さそう。viewにすべてを任せられそうだが、AdHoc時に全て見たいときとそうでないときの使い分けができる
  • Looker開発者のためのガイドライン - Qiita

    注意 1年間のLooker運用経験&登壇や他企業のユーザーさんとのやりとりを経て、 ちょこちょこ書き直したいポイントが出てきています。時間を見つけてブラッシュアップする予定です。 この記事について Lookerの基思想と導入した理由をベースに、活用に向けた指針をまとめたものです。 弊社ではこの通りに運用を開始したところです(201911時点) Tipsではなく、もう少し原理的なものをまとめたつもりです。 目的に応じて、意味が感じられないときには無理に則る必要はありません。 命名規則 measureには、集計関数または一般的な用語を使って名前を付けるようにする。 例: sumはtotal_[field]、countはnum_of_[field]、averageはavg_[field] など。 https://discourse.looker.com/t/naming-fields-for-

    Looker開発者のためのガイドライン - Qiita
    somemo
    somemo 2023/03/11
    filterの見直し
  • Lookerの派生テーブルを使って、集計量を減らす - Qiita

    この記事は ZOZOテクノロジーズ #1 Advent Calendar 2019 9日目の記事になります。 昨日の記事は @hsawada さんによる「Xcode11 での動画再生と Playback Controls について」でした。 コードや実際のスクショを用いた説明が多く、とても分かりやすかったです。 今回はBIツールであるLookerにおいて、派生テーブルを使って集計量を減らす話です。 発生する集計量の問題 LookerはGUIから見たい指標を選択するだけで、テーブルを叩くためのクエリを生成してデータを閲覧できるようにしてくれます。 適切にLookMLを記述することでクエリは複数のテーブルのJOINも自動で行ってくれるため、探索の時間を大幅に削減することが可能です。 例えば、以下のようなexploreとveiwが設定されているとします。 explore: user { join

    Lookerの派生テーブルを使って、集計量を減らす - Qiita
    somemo
    somemo 2023/03/11
    filterではなく、derived_tableの中にcondition tagを使うパターン パーティションの場合はこちらも使いそう