Deep Visualization Nightを見に行ったのでお感想を書くの巻

Deep Visualization Night is 何?

こ↑れ↓ peatix.com

BIツールTableauのユーザーイベントの一種という位置づけ。

会場では誰にも言えなかったが、僕は上記のページのコピーである Tableauトップランナー18人がビジュアライゼーション作成過程を共有を読んで、 「なるほど…多分よそ様が初見のデータに対して5分でダッシュボードを作るところをn回さらし者にするんやな!  めっちゃおもろそうやん!」と思って参加した。

全然そういうイベントではなく、TableauLT的なやつなのであった。

参加して良かった?

f:id:Matsuzakid:20190718010734j:plain

普通に良かった。 僕にとっては参考になるLTもあれば参考にならないLTもあったけど、 儲け度外視のユーザーイベントで、しかもaudienceとしての参加であれば、 「普通に良かった」のトレードオフ感が丁度いいよね。 (参加料(2000yen)+ニコ動生中継は維持費換算の認識)

とはいえ、セミナーページにはがっつりそう書いてくれた方が助かった。 sansanの清水さんという人が感覚鋭く「今日はビジネスの話を期待されてきた方もいらっしゃると思うので…」と フォローしていたが、「こういう場ですよ」のメッセージはぼんやりしていたように思いました。

おもしろポイント

ここからは僕が面白かったなーと思ったポイントを雑に書くコーナーになります。

sakai-sanのhomes ダッシュボード

やりたいことがシンプルにまとまってていいなーと思いました。(小学生並みの感想) ダッシュボードの設計者とユーザーが同一人物だと、設計段階でニーズを絞ることができて楽よね。

A3!が好きな人のソシャゲランクイベボーダー予測ダッシュボード

ビジネス寄りの人たちが数名、独自に設定した「目標(計画)」の値を可視化する、というのをやっていたけど、 自分の目的を恣意的に与えて、そこから機械的にゴールを予測して、AsIsToBeを可視化するというアイデアはすごく面白かった。 Tableau publicに上がってるそうなので中身をばらして遊ぶ予定。

ネットワーキングで中の人と会話したけど、イベント情報の収集が大変だった、というのも結構深い学びになった。 可視化の文脈だと、非日常的に発生する文脈を時系列情報に付与したいケースは多いと思うけど、 そのデータをどのように準備するかのノウハウはあんまりまとまっていないよね。 書きたいなー。

ウルトラスーパーストア

タイトルで勝ち確すぎでしょ…(知り合いなので雑な感想になります)

NRIのnakata-sanのInsight Palette

納品物としてのダッシュボードのノウハウは参考になった。 常に全体の情報を横に置く、操作可能なオブジェクトは一方にまとめる、縦横の座標を合わせるなど。

それ以外に値を整数値で持ってから別名でラべリング、みたいな無茶な技も少し喋っていたけど、 正直それをやるなら裏側の基盤であらかじめ集計した方がよくないっすかね…なんか理由あるんすかね… とちょっと思いました。

ishikawa-sanの国連ディシジョンメーカー用ダッシュボード

これもプロの仕事感あった。 「フロー、見せる順番」を制御することで、意思決定者がデータから自分と同じ結論に辿り着いて欲しい…というのは、 スキルとしても立場としてもよく分かるが、正直賛否が分かれるポイントとは感じる。

個人的には、「同じ結論に辿り着く」ことだけを誘導するのではなく、 「チェリーピッキングを防止する」「誤った解釈を除外する」ことにも同様のデザインが役立つと思うので、 こういう視点はもっとパブリックに流通してガンガンテクニックが広まって欲しいという立場です。

件のダッシュボードも、最初にグロスの指標を見せることでフェアネスは維持していると思うしね。 まぁ最大の問題点は黙ってても偉い人はダッシュボードを触ってくんないということなのかもしれないけど。

sansan no simizu-sanのスーパーストア可視化

わかる感強い。喋りが多分一番うまかった。有名な人っぽい?

可視化の文脈で、非常に大きなエリアを表形式の生データに使っていたけど、 小慣れてるなぁ…営業さんは本当にこういうの欲しがるんだよなぁ…とめっちゃ思った。

ダッシュボード内で深堀が出来ないとがんばるんじゃなくて諦める人も多いし、 そもそも現場の人が知りたい情報って「系列の大小の比較」とか 「時系列の変動方向」のような順序尺度的なではなく、 「Aって商品をあといくつ売ればいいのか」みたいな間隔尺度的な情報なので、 棒グラフも線グラフもお呼びでなかったりするんですよね~わかる~

dwangoのyoshida-sanのJIRA可視化

ストーリー(ダッシュボードの使い方)のパートがめっちゃ良かった。 特に暗黙知になりがちなチェックの順番(最初に~~を見て、次は××を見る)と、 良し悪しの判断基準(この値は~~という状態にあると良い or 悪い)が文章で記述されているのが素晴らしかった。

結局他人が見て分からないダッシュボードってワークしないんすよね~ かなしいね~

かなしみポイント

  1. 非公開の登壇者情報がチラチラチラリズムしちゃったのは信用問題なのでちょっとまずいと思いました
  2. 司会の女の人が美人過ぎて困りました 次からはサイヤ人の戦闘スーツみたいなの着て司会してくれるとプレゼンに集中できてよいと思う

おわり (いくつかのダッシュボードはTableau publicに上がってるらしいので、URL見つけたら多分追記します)

自宅でBigQueryによるGoogleAnalyticsログ解析の学習環境を構築する

概要

この記事は、自宅で(つまり、not法人で、できうる限り安価に)BigQueryによるGoogleAnalyticsログ解析の学習環境を作成した際のメモである。作業の本筋の内容はほとんどリンク先に記述されている内容をなぞっただけで、本文の記述はTIPSと補完が多い。内容は2019-05-05時点での最新を心掛けているが、書いている人間が初学者なので信頼性は保証できない。どんどんマサカリを投げてほしい。

GCP プロジェクトの作成とBigQuery事始め

BigQueryサンといえば150万溶かしたマンが有名だが、現状ではWeb UIだけ利用している限りうっかり課金はまず防げるデザインになっている。それでも千円でも溶かしたくない!こあい!という我々クソ愚民にむけ、google様が300ドル分の無料体験コースを下賜されている。これなら僕でも安心して自宅でBigQueryをしゃぶれる。

実際の始め方については下記の記事の第2パラグラフまでを参考にした。どうもこれも中の人が書いているらしい。しゅごい。

qiita.com

パパパッとやって、おわり! Web UI画面に辿り着いたので、いつものやつをやって動くことを確認する。

#standardSQL
SELECT 'うんこ' AS magic_word

f:id:Matsuzakid:20190505195259p:plain
いまいる部署ではHello worldのかわりに「うんこ」がよく用いられる

できた。SQLファミリーの仕様なのかBig Query特異な仕様なのかはよく分からないが、Big Query(standard SQL版)ではFROM句が無くてもSELECT FUNCTION_NAME() AS COLMUN_NAMEと書けば実行できる。(同僚はなぜか知らなかった。つよつよマンなのに…) しかもこの仕方だとスキャン量は0なので、WITH句を駆使することでBigQueryのそこそこパワフルな処理資源を利用して色んなSQLで遊べる。マジ神。

Google Analyticsのサンプルデータセットの準備

SQLを投げられる環境が出来たところで、投げる先のデータセットを準備する。本来であればこのブログに仕掛けたGoogle Analyticsのログを対象にしたいところだが、Hit単位のログの出力はGoogle Analytics無料版では使えない。(GA 360では可能だが、月100万からのオーダーで個人利用は想定されていない) そこで別途Google Analytics Solutionが提供してくださっている学習用データを利用する。データ公開の背景と目的は下記の翻訳記事に明示されている。

BigQuery 用の Google アナリティクス サンプル データセットのご紹介

ただしここに若干の罠がある。上記の記事からジャンプしたデータセット接続のインストラクションに従ってBigQueryのWeb UIにアクセスすると、見慣れた新UIではなく旧UIに飛んでしまうのである。Try new UIのボタンはあるものの、押下するとbigquery-public-dataプロジェクトへの接続が外れてしまい、迷子になる。幸い、BigQueryのWeb UIのURLの構造は非常に分かりやすいので、query部分の変数projectをbigquery-public-dataに指定してやればなんとかなる。

雑に変数を変えたURL

このリンクをクリックすると左カラムのデータセットにbigquery-public-dataが表示されている状態になるので、新UIでテーブルのプレビューをしたり、Query tableしたりできるようになる。自分含め、Web UIマンは下図のようにすればBigQueryのWeb UIにプロジェクトをピン止めすることもできる。

f:id:Matsuzakid:20190505220422p:plain
左カラムの「プロジェクトを固定」を選ぶ

f:id:Matsuzakid:20190505220610p:plain
上に表示される自プロジェクトではなく、下にNULLっぽく表示される領域を選ぶ

これでbigquery-public-data配下のテーブルに対して雑にクエリを書けるようになった。

次の話

明日は簡単な分析用中間テーブルを作成するところまでできるといいなぁ。下記の2つのページを参考にする予定。なお上の方は公式である。googleしゅき。

support.google.com

ohke.hateblo.jp

(おわり)

Python 3 エンジニア基礎認定試験RTA(96時間52分)

背景と目的

この記事は次のような目的で記述されている。

  • 目的:2019年2月時点のPython 3 エンジニア基礎認定試験に関する攻略情報提供
  • 対象:これから試験を受けようとしているが、Python 3 の実務経験がない人
  • 注意:以下は資格取得のための攻略情報であり、言語習得のためのものではない

試験の概要と利得

公式サイト見ようね。
基礎試験 | 一般社団法人Pythonエンジニア育成推進協会

資格としての個人的な評価は以下の通り。

  • 初学者のお尻に火をつけるためのたいまつとしてはある程度機能する。
  • python を勉強するお気持ちがあることもアピールできる(あくまで"お気持ち")。
  • python を実務で使えるかどうかを示すものでは無い。
  • 一般価格 10,800円(10,000円+消費税8%)は正直割高。

4択*40問という試験構成からある程度の雰囲気は察してほしい。
以下のような状況があるなら取得を検討する余地があると感じた。
全て当てはまらないなら正直あまりおすすめできない。

  • pythonに関してある程度の下地がある
  • pythonを業務で使うことが確定している
  • 他に同種の資格を持っていない/受けられない
  • 学割が使える or 石油王である

学習環境

自分の場合は次のものを利用させて頂いた。

  1. 攻略情報:「Python3エンジニア認定基礎試験の効率的な勉強方法!」(Webページ)
  2. 演習問題:Progate(プログラミング学習サービス)※有料(月額980円)
  3. テキスト:python 3 チュートリアル(紙の本)※有料
  4. テキスト:python 3 チュートリアル(Webページ)
  5. 実行環境:google colaboratory(pythonのオンライン実行環境)
  6. 演習問題:DiveIntoCode(模擬試験提供サイト)

特に有料の記述がないものは2019年2月時点では無料である。

基本的には1の攻略情報で計画を立てた後、2のアプリでざっくり勉強し、
その後4のテキストを読む→5の実行環境で触ってみるのが良いと思う。
アプリのPythonコースVが終わり、テキスト5章までの内容を実行環境で動かしたら、
6の模擬試験を触っていくのがよい。

その後は模擬試験で見つけた知識の欠損を
泥縄式にhelp()ったりぐぐったりして埋めつつ本番まで過ごすとよいだろう。

個別のパーツのレビューを以下に示す。

  • 攻略情報:「Python3エンジニア認定基礎試験の効率的な勉強方法!」(Webページ)

Python3エンジニア認定基礎試験の効率的な勉強方法!

「5.4 (重要)「Pythonチュートリアル 第3版」の出題範囲ごとに~」が素晴らしい。
おすすめのテキストに関しては自分は結局紙の本を使ってしまった。

  • 演習問題:Progate(プログラミング学習サービス)※有料(月額980円)

prog-8.com

最初に手を付けるコンテンツとしておすすめ。
PCサイトでも学習できるが、スマートフォンアプリになっている。
移動中や隙間時間に使えるのが素晴らしかった。
あとにんじゃわんこがめっちゃかわいい。すき。

なお、Progate内のPythonの教材はIからVまであり、
Vまでの内容がだいたいPythonチュートリアルの2~5章、9章をカバーしている。
冒頭の攻略記事にもある通り、この試験ではチュートリアル
2~5章、8~10章の内容が出題全体の8割(32/40)となっているため、
ProgateのPython講座は結果的にかなり効率のいい資格取得用教材になっている。

ただし、Progateではチュートリアル8、10章(エラーと例外、標準ライブラリ)の
内容はほぼノータッチであるため、この後でフォローが必要になる。

docs.python.jp

Webページの方が良かった。訳もこなれており、読みやすい。
紙の本はファングッズ的な扱い。

読むだけでは到底頭に入らないため、次項のcolaboratoryを別タブで開いて
コードをちょこちょこ書きながら進めるのがよい。

  • 実行環境:google colaboratory(pythonのオンライン実行環境)

colab.research.google.com

とにかく神。
googleアカウントさえ持っていれば何の準備もいらず、
ブラウザ上で動作する実行環境が手に入る。

Progateはじめ様々な学習サービスが「Web上で実行可能」を売りにしているが、
Pythonに関してはcolaboratoryが王の中の王であり、
全てを燃やし尽くす神の光である(ポエム)。

  • 演習問題:DiveIntoCode(模擬試験提供サイト)

diver.diveintocode.jp

アカウント登録は要るが、かなり良心的な模擬試験提供サイト。
範囲ごとに偏りはあるものの、おそらく60~70問程度のストックが裏にあり、
再受験するたびに問題の入れ替えが起こる仕組み。
よって、繰り返し受けてもそこまで陳腐化しない内容になっている。

自分はprogateのVを終えた後、チュートリアルを1~5、8章まで
colabで動かしてみた状態(開始72時間)で初受験し625/1000(不合格)だった。
その後、落とした問題についてチュートリアルを引きつつ復習し、
数回模擬試験を受けていたが結局850点を越えることはなかった。

なお、模擬試験はあまり温存せず、わりと早い段階で触るのがよいと思う。
というのも、この試験には模試抜きでは準備しにくい部分がそこそこあるからだ。

具体的には、プログラミングの知識を択一問題にする過程で、
出題形式がそれなりに癖のある形式に落とし込まれていること、
公式の出題範囲にこっそり付記されている
「また、一般的な知識からも出題されます。」の中身が
若干マニアックであることが主な理由である。

タイムと得点

自分のタイムは96時間52分、得点は850/1000で合格だった。
なお、計測開始は思いつきで試験を受けようと決めたタイミング、
計測終了は試験終了後に会場から出たタイミングとした。
そのため睡眠時間や飲み会の時間(期間中2回あった)、
なんかだらだらした時間、仕事の時間もタイムに含まれている。

  • 計測開始地点 2019-02-07 15:23

 

  • 計測終了地点 2019-02-11 16:15


以上、あんまり褒められた内容ではないが1万円が無駄にならなくてよかった。
今月はこれをベースにAtCoderとかいうネトゲをやろうと思っているので楽しみ。

ITパスポートを受けたりFEを受けたりしたの巻

無能をさらす

 いつもお世話になっております。
 情報システム部のmatsuzakidでございます。

 前回の更新からはや4ヶ月が過ぎましたので、とりあえずその間にやったことをもろもろ書こうと思います。

ITパスポート試験を受けました

 情報システム部のくせにシステムを知らないというクソザコカメムシだったため受験。
 勉強のために準備したのは以下のテキストとアプリ。

  • テキスト

amzn.asia

  • アプリ

play.google.com


 結論から言うとアプリでしか勉強できなかった。
 テキストはMONEYを消費することで自分を焚きつける役にしかたってない。
 なおドリルも買い、そちらもほとんど使ってない。

 ただ、基本的に経営系・マーケ系の問題は初見でほぼ回答できたので、
 この勉強法が他人に進められるかは分からない。

 最終的にスコアはこうなった。

基本情報処理技術者試験を受けました

 一昨日である。
 こちらも引き続きテキストとアプリを準備した。
 おいコイツなんも学んでねえぞ。

  • テキスト

Amazon CAPTCHA

  • アプリ

play.google.com


 やはり結論から言うとアプリでしか勉強できなかった。
 が、ITパスポートに比べると、テスト全体の対策&長文に慣れるという意味でテキストは必要だった。
 とりあえずこれから自己採点してきます。

  • 結果

 やったぜ。

今年も残すところあと3時間ちょっととなったがPython 3環境を作る

12月の土日は常に風邪でぶっ倒れていたので、その埋め合わせをしておきたい。
いや、本当に土日だけ寝込んでいたんです。最終週は力尽きて月曜病欠したけど。

別にデータサイエンティストを目指しているわけではないが参考はこれだった

qiita.com

つまりAnaconda is godということらしい。
そしてインストール自体はSQL server 2014 expressにドハマリした時に息抜き的に終わっていた。

f:id:Matsuzakid:20161231204518p:plain

おいこの記事書く前からもう半分終わってるじゃねえか。

しかしPythonというかコードの書き方全般を忘れている

もともと覚えていたかどうかもあやしい。
そもそも僕がPythonを触ったのは、半年前の就活でプログラミングの成果物を求められた際、

→実験はHSPで試作してからSuperLabで本番を作る
→が、SuperLabはプログラミング言語ではなくただのGUI実験メイカー。しかもRunOnlyEditionがないと提出先で動かない。
→実験はHSPで書き直してもいいレベルの単純なものだが、刺激自体を表に出すには出身研究室に確認を取るのが筋。
 だが出身研究室に連絡をとるのは避けたい(死ぬほど迷惑をかけ通しだったので顔をあわせづらい)
→せっかくだからPythonでも触ってみるか
→3日で突貫工事

というクソクソアンドクソな経緯で触ったものだった。
しかもそのとき触ったのはPython 2だった。

……これはもう、貯金は0と考えた方がいいな。
ていうかAnacondaのどこから触ればいいかも分からない。

ほんでこのJupyterとかいうのもわからない

分からないことはぐぐりましょうね。

qiita.com

qiita.com

……うーんぐぐっても分からない。
とりあえずPython3はドットインストールに有料コースがあるからそれからかな。

f:id:Matsuzakid:20161231210607p:plain

IPythonでHelloWorldは打てたからとりあえずこれくらいで。
来年もよろしくお願いいたします。

……あ、これ↓に参加することにしました。
自分にはわりと大きな負担だけど、独学だとなかなか身につかないしね。

connpass.com