kumilog.net

データ分析やプログラミングの話などを書いています。

2018-01-01から1年間の記事一覧

Pythonのログ出力にlogzeroを使う

Python その2 Advent Calendar 2018 10日目の記事です。 はじめに インストール 使い方 基本 ログレベルの設定 ファイルに出力 ログローテーション フォーマット変更 まとめて設定 おわりに はじめに Pythonでログ出力する際に何を使っていますか、printでし…

CapistranoでRailsデプロイ

はじめに 前提 便利なプラグイン rbenvのrubyを使う インストールと設定 bundle installを行う インストールと設定 追加されるコマンド Assetsのコンパイルを行う インストールと設定 追加されるコマンド マイグレーションを行う インストールと設定 追加さ…

pyenvを一発でインストールする方法

TL; DR curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash 以上です。 はじめに pyenv は普段使用しているのですが、新しい環境に入れるとき毎回git cloneして、.bash_profileに追記したりしており、pyenv-installer…

Capistranoでデプロイ自動化

はじめに サーバ側での作業 デプロイ用のユーザの作成 アプリケーションディレクトリの作成 (任意)Githubへの公開鍵の登録 ローカル側での作業 デプロイ用のディレクトリの作成 Capistranoのインストール Capistranoの設定 デプロイ実行 共通ファイルとフ…

Pythonの知っておくと良い細かい処理速度の違い8個

はじめに 標準入力 input と sys.stdin.readline ソート sort と sorted ソートの key ループ for と while リスト リストの初期化 二次元配列の場合 リストの値参照 リストへの値追加 それぞれの処理速度 まとめ はじめに 最近、PythonでAtCoderなどの競技…

ダイクストラ法

はじめに ダイクストラ法 計算量 コード 実行例 例題 SoundHound Inc. Programming Contest 2018 D - Saving Snuuk 問題 解法 ABC 035 D - トレジャーハント 問題 解法 はじめに 最短経路を求めるアルゴリズムであるダイクストラ法をPythonで実装して、例題…

Union Find

はじめに Union Find Pythonで実装 経路圧縮 グループの要素数 最終的なコード 例題 ATC 001 B - Union Find 問題 解法 ABC 049 D - 連結 / Connectivity 問題 解法 ABC 120 D - Decayed Bridges 解法 はじめに 素集合データ構造を表すUnion Findアルゴリズ…

尺取り法

Pythonのコードを交えて、尺取り法について説明します。 はじめに 尺取り法 ABC 032 C - 列 問題 解法 コード 参考 その他の例題 ARC 022 B - 細長いお菓子 問題 解法 コード ABC 098 D - Xor Sum 2 問題 解法 コード はじめに 先日、初めてAtCoderに参加*1…

自己紹介用のCLIアプリを作った

流行にのって?Nodeで名刺代わりになるCLIアプリを作ってみました。 はじめに NodeでCLIアプリ開発 npmパッケージとして登録 まとめ はじめに 先日、Qiitaで以下の記事を見かけました。 qiita.com こちらのSindre Sorhus氏のTweetが流行発信元のようで、node…

MNISTのバイナリを画像に変換する

はじめに 画像系の入門データとして、手書き文字のMNISTは最もよく使われるデータの1つかと思います。 KerasやChainerなど主要なフレームワークには、ダウンロードして配列に格納するといった処理を行う関数を用意しているので、簡単に扱うことができます。 …

SARIMAで時系列データの分析(PV数の予測)

統計モデルでの時系列データの分析手法であるSARIMAを使って、PV数の予測分析を行います。 はじめに データの準備 データの確認 PV数 PV / エントリ数 相関関係 コレログラム 成分分解 定常性の確認 時系列データの前処理 差分 季節調整 差分+季節調整 時系…

ベイズ最適化でパラメータチューニングを行う

Scikit-Optimizeを使ってベイズ最適化で機械学習のハイパーパラメータの探索を行いました。 はじめに グリッドサーチ 手書き文字での実験 ベイズ最適化 参考 Pythonでベイズ最適化 探索範囲 ブラックボックス関数 ガウス過程での最適化 結果 まとめ はじめに…

ワンライナーで自分がSlackにアップロードしたファイルのダウンロードと削除を行う

シェルを使ってSlackにアップロードしたファイルのダウンロードしたり、削除したりします。ワンライナーとタイトルに書いたものの、若干無理やりです。また、ダウンロードと削除はまとめて1行ではなく、別々です。 準備 トークン作成 jqのインストール ファ…

PythonとSheets API v4でGoogleスプレッドシートを読み書きする

PythonからSheets APIを使ってGoogleスプレッドシートを操作してみました。Pythonのクイックスタートの内容を中心に紹介します。 Google Sheets API を使うための準備 Google API コンソールでSheets APIを有効化 認証情報を作成 Pythonパッケージのインスト…

KerasのGeneratorにSequenceをつかう

Kerasのmodel.fit_generator()にSequenceをつかってみます。 はじめに Sequenceをつくる ChainerのDatasetMixinとの違い Sequenceをつかう はじめに Kerasのfit_generator()の引数にはGeneratorかSequenceをつかうことができます。 今回はSequenceを使ってみ…

統計検定2級に合格したときの勉強方法

統計検定2級に合格しました。そのときの勉強方法です。 はじめに 勉強方法 公式教科書 統計WEB 過去問 試験 おわりに はじめに 勉強前の状態ですが、ある程度の統計の知識はある状態だったと思います。公式の教科書をパラパラめくって、細かいところは覚えて…

簡単・便利!画像を扱うコマンド

サーバ上の画像を扱うとき、毎回ローカルにダウンロードするのは面倒ですよね。そこで、コマンドで扱う方法をいくつか紹介します。 画像を表示する サイズと拡張子を確認する サイズを変更する 画像を表示する iTerm2用のコマンドですが、imgcatが便利です。…

OpenAI Gymで強化学習

OpenAI Gymは、非営利団体であるOpenAIが提供している強化学習用のツールキットです。以下のようなブロック崩しの他いくつかの環境(ゲーム)が用意されています。OpenAI Gymをつかって強化学習に触れてみたいと思います。 強化学習 強化学習とは Q学習 行動…

VideoGANの論文を読んだ

GANの一種であり、動画を生成するVideoGANの論文を読みました。 [1609.02612] Generating Videos with Scene Dynamics 概要 動画生成モデル Generator Network Foreground Stream Background Stream ForegroundとBackgroundの結合 Discriminator Network 学…

スマホアプリで学習状況を監視するHyperdash入門

WebアプリやiOS/Androidアプリで機械学習の学習状況を見ることができるHyperdashの使い方をまとめてみます。 インストールとユーザ登録 ログの表示 パラメータやスコアをトラッキング Chainer Keras XGBoost まとめ インストールとユーザ登録 はじめにインス…