case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

BQコマンド備忘録

備忘録です。BigQueryの集計結果をサーバで扱いたい場合、以下の方法が考えられます。gsutilだと一度GCSにデータを保存する必要があるので手っ取り早く手元にデータを落としたい場合、BQコマンドは便利です。データサイズが大きい場合や取得に時間がかかるの…

分析基盤をPostgreSQLからBigQueryに移行させた時の知見

PostgreSQLベースのBIツールの参照DBをBigQueryに移行したことで、 パフォーマンスが大きく改善(30分以上 -> 10秒)したので、その時の知見をメモとして残しておきたいと思います。 経緯 BigQueryの選定理由 1. 現行がRDBベース 2. 集計結果のデータサイズが…

入門記事:GCE (Google Compute Engine) で作るJupyter分析環境

Google Compute Engine(GCE)にJupyterで必要最低限の分析環境を作る入門者向けの記事です。 code インスタンス構築(GCE) IP制限の設定 Dockerインストール Jupyter環境構築(Docker) Jupyter環境構築(Dockerを使わない) code github.com インスタンス構築(GCE…

Kaggle備忘録 地震コンペ

Kaggleの地震コンペに参戦してみました。結果は銅メダル圏内のPublic順位346位からPrivate順位885位落ち(メダルは取れませんでした。orz.....)、ソリューションでもなんでもないんですが、備忘録と戒めの意味でこのコンペで自分なりに試したことを残しておき…

BigQueryでカンマ区切りのデータの分割方法

BIgQueryでカンマ区切りのデータを分割する方法をご紹介します。データはここに置いておきます。 github.com サンプルの中身はカンマ区切りのデータとなっています。 SQLを実行して、以下のようにカンマ区切りのデータ項目を分割することが本記事の目的です…

Pythonで多変量解析、3変数以上の偏相関係数を算出してみた

この記事では説明変数3つ以上の偏相関係数算出方法をPythonで行います。実際のコードはこちらにあげておきます。 # partial_correlation_coefficient.ipynb # Partial_correlation.csv github.com 偏相関係数とは 偏相関係数とは変数間の交互作用を取り除い…

BigQueryでサイズの大きいデータをGCSに出力する方法

データ分析する場合BigQueryで集計し、集計結果をGCSに出力、Jupyterで分析することが多いかと思います。 集計結果が大きいとそのままCloud Storageに出力することはできません。集計結果をBigQueryのテーブルに出力し、Cloud Storageへエクスポートを選ぶと…

BigQueryで標準時(UTC・EST)をJSTに変換してみた

時系列データでタイムスタンプがJSTでないことはまあまああるかと思います。BigQueryでJSTに変換する方法を記事にしました。 UTC - > JSTとEST -> JST変換をします。データは以下の形式ならそのままクエリ実行できると思います。 「2018-05-12 21:02:20」 Bi…

GCSのファイルをDataFrameで扱う方法

JupyterでGCSにあるファイルを読み込み、DataFrameとして扱う方法を紹介します。サーバにいちいちデータを落としたくない場合やディスク容量がない場合に使えるかもしれません。いつも通り完全に備忘録です。 #ライブラリ $ pip install google-cloud-storag…

BigQueryにタブ区切りのTSVファイル[テキスト]を全件ロードする方法

ただの備忘録です。業務でタブ区切りの8万のTSVファイル(テキスト)をBigQueryに全件ロードする方法を探してた際のtipsです。ログデータを扱う場合、タブ区切りになっていることがあるかと思います。bqコマンド使ったロード方法やサポートされているデータ形…

Docker備忘録

備忘録です。流れは以下のようになります。 Docker install Docker Image Docker Pull Docker Container Create Image from Container Commit Created Image Docker Build Create Web Server Dockerfile Docker Push 個人的にDockerはGit扱いに非常に類似し…

【GCP入門】Google BigQuery データセット作成からデータ抽出までハンズオン形式で行います

今回はGCPが提供するGoogle BIgQueryに関する記事を書きます。データ読み込み・出力方法やクエリ検索まで備忘録も兼ねて記事を書きます。 この記事の目的 BigQueryとは BigQueryのメリット・デメリット メリット デメリット クエリ備忘録 集計関数 条件付き…

pyenvでPython分析環境を構築してみた「Anaconda & Jupyter Notebook」

今回はPythonで機械学習を行うために必要な環境構築の一連の流れを記事にしました。Pythonのバージョン管理を行うpyenvコマンドを活用し、機械学習を行うパッケージ「Anaconda」のインストールと分析可視化環境「Jupyter Notebook」を構築してみます。 本記…

【GCP入門】大規模データの前処理に!Dataprocクラスタ上で、Datalabを活用したデータ分析環境構築

今回は、GCPの可視化分析ツールDatalab [Goolge Cloud Datalab] の環境構築に関する記事を書いてみました。 Dataproc [Goolge Cloud Dataproc]クラスタ上でDatalabを構築するメリットを実際のユースケースも考慮して書いてみます。 本記事の目的 Datalabとは…

【GCP入門】大規模データの前処理に!DataprocでPySparkジョブを実行し、GCS内のデータを加工する

今回はDataproc クラスタ上でジョブを実行し、GCS内のデータを加工したいと思います。 本記事の目的 本記事の用途 事前準備[ Dataprocクラスタ, GCSバケット ] PySparkで簡単なジョブを実行 Pig ジョブの実行 出力ファイルの取得 GCS内のデータを活用してPyS…

【GCP入門】Google Cloud Dataprocで環境構築してみる

今回はGoogle Cloud Dataprocで環境構築をしてみました。Dataproc入門者を対象に記事を書きたいと思います。 本記事の目的 Google Cloud Dataprocとは Dataprocメリット・デメリット クラスタ構築 CLIでクラスタを管理 本記事の目的 ・Google Cloud Dataproc…

モデルのパラメータ探索手法、「グリッドサーチ」ってなんだ

今回はモデルの性能を向上させるための手法、グリッドサーチの記事を書いてみました。 本記事の目的 グリッドサーチとは 単純なグリッドサーチ 単純なグリッドサーチの問題点 単純なグリッドサーチの解決策について 交差検証を用いたグリッドサーチ 本記事の…

モデルの汎化性を評価する「交差検証」について、Pythonで学んでみた

今回はモデルの汎化性を評価するための統計手法である交差検証について記事を書いてみました。 本記事の目的 交差検証とは 交差検証のメリット・デメリット k分割交差検証(k-fold cross-validation)とは 層化k分割交差検証とは 活用用途 本記事の目的 ・交差…

ランダムフォレストで癌の良性・悪性を分類予測してみた

ランダムフォレストで癌の良性・悪性を分類分類予測してみました。以前にChainerで同様の癌の分類問題を行ったので、比較してみたいと思います。 ランダムフォレストとは ランダムフォレストのメリット・デメリット メリット デメリット 実装編 ランダムフォ…

Pythonで学ぶポアソン分布とは

代表的確率分布の一つである、ポアソン分布について記事を書きました。ポアソン分布の概要や実際の例題を解きながら理解を深めていきたいと思います。 ポアソン分布とは 例題 二項分布とポアソン分布の関係 ポアソン分布とは 「単位時間あたりに平均 λ 回起…

Chainerで癌の良性・悪性を分類予測してみた

Chainerで癌の良性・悪性の分類予測を試してみたいと思います。 Chainerとは Chainerのメリット Chainer構造理解 実装編 Chainerで計算できるデータ形式に変換 Chainerで使用するデータセットの形式 モデルの定義 モデルの定義 Optimizerの定義 Iteratorの定…

Pythonで学ぶ標準化とは

異なるグループ間の比較方法として「標準化」と呼ばれる統計的手法があります。同じテストの結果を比較することはは容易ですが、異なる科目のテスト結果の比較は点数だけでは判断できません。このような場合「標準化」は有益です。今回は「標準化」の関連用…

Pythonで学ぶ二項分布と正規分布の関係性

代表的な確率分布として正規分布や二項分布、ポアソン分布があります。本記事では二項分布と正規分布の関係性について、実際にPythonで例題を解きながら理解していきたいと思います。二項分布については以下よりご確認ください。 case-k.hatenablog.com この…

Pythonで学ぶ二項分布とは

代表的確率分布の1つである二項分布について、実際にPythonで例題を解きながら理解したいと思います。 この記事の目的 二項分布とは ベルヌーイ試行とは ベルヌーイ分布に従う場合の確率・期待値・分散 活用用途 例題 例題 (1) 例題 (2) 例題 (3) この記事の…

ニューラルネットワークについて

今回はニューラルネットワークの概念を理解し、Pythonでニューラルネットワーク構造を実装し理解したいと思います。 本記事の目的 ニューラルネットワークとは ニューラルネットワークの活用用途 ニューラルネットワークの学習方法 誤差伝播法の概念 実装編 …

中心極限定理をPythonで証明してみた

記事を見て頂きありがとうございます。今回は中心極限定理について記事を書いてみました。中心極限定理について二項分布・正規分布・ポアソン分布を用いて説明します。 本記事の目的 中心極限定理とは 中心極限定理のシュミレーション 確率分布 正規分布とは…

地域の気温をPythonで重回帰分析して予測してみた

今回は地域と時間を説明変数に重回帰分析で地域ごとの気温を重回帰分析で予測します。 本記事の目的 重回帰分析とは 実施手順 1. サンプルデータの作成 2. 標本分布の確認 3. モデルの学習と評価 4. 交差検証で評価 本記事の目的 本記事は以下を目的としてい…

t検定で広告効果の因果関係を調べる

今回は対応のあるt検定について記事を書きたいと思います。対応のあるt検定は因果など調べる際に便利な統計手法です。広告施策の効果検証を施策前後のアクセス数の変化から判断したいケースがあると思います。 実施してみてWEBサイトのアクセス数が増えてい…

最小二乗法の傾きが0でないことをPythonでt検定してみた

データを分析して実際に偶然ではなく本当に確からしいのか確かめる方法として仮説検定があります。仮説検定とはある仮説に対して、本当にそれが確からしいか調べるための統計学手法です。 今回は仮説検定の1つである1変量データに対するt検定[両側]で問題を…