ゆるふわめも

東京か京都にいます。

python

matplotlibでの散布図・プロット・アニメーションなどのサンプル集

マルチラベルデータのプロット プロットするデータの作成 二次元で可視化 三次元で可視化 三次元で可視化してそれを回転させるアニメーションを作成 分類問題データのプロット Isomapで次元削減したものを可視化 プロットのマーカを変える+ランダムに色を生…

Ubuntu14.04にてtesseractとLeptonicaのインストール

Leptonicaのインストール tesseractのインストール autoconf-archive その他の依存関係のインストール tesseract本体のインストール 訓練済みモデルのダウンロード 環境は Ubuntu14.04. Google Clowd APIを使いたくないのでインストール. Tesseractのバージ…

画像に含まれる色をクラスタリングして自動的に抽出する

できたもの 実装内容 仕組み 改善点 おまけ 今後の課題 クラスタリング数を動的に変更する ワンポイントの色の抽出 クラスタリングについてのメモ クラスタリングするアルゴリズムの分類 階層的なクラスタリング手法 繰り返し割り当てを変えていく手法 その…

さくらレンタルサーバーでのpython環境のセットアップ

python インストール python2.7 python3.4 外部ライブラリのインストール numpy pip pyenv pandas エラーなど ImportError BootStrapform djangoを使ったウェブアプリケーションの開発をする必要になっ(てしまっ)たため. レンタルサーバーでpythonを使えると…

matplotlibでの凡例(ラベル)の表示場所・形式を変更する

データを生成 legend(凡例)の表示方法の指定 通常 場所を指定(グラフ枠内) 凡例表示を複数列に分割する, 枠に影をつける, 横幅いっぱいにする グラフの枠外に表示する 凡例にタイトルをつける 凡例を分割して別々に表示する ラベル名を任意の文字列に付け替…

Python djangoでGroup byを用いて要素ごとのレコード数をカウントしてテンプレートに渡す

使いそうになったので. ModelNameがモデルの名前, attribute_nameがgroup byを行いたいカラムの名前です. from django.db.models import Count target_data = ModelName.objects.all() groupby_data = target_data.values('attribute_name').annotate(total=…

エラー解決:Anaconda環境でauto-sklearnをインストール

エラー内容 インストール手順 環境に入る gccをインストール (必要なら)以下のライブラリをアンインストール auto-sklearnのインストール 追記 参考文献 エラー内容 python2.7, 3.5にて、OSはMac OS X. auto-sklearnのドキュメントにしたがって Anaconda以下…

画風変換をtensorflowで実装し、最適化の項を変化させた時の出力画像の変化を見る

Neural Style Transfer VGGネット 訓練済みモデルのダウンロード モデルの定義 モデルを宣言 中間層での画像特徴量の抽出 プロット用の関数 中間層の画像の可視化 最適化問題 損失関数の計算 出力結果 画風変換に関する論文一覧 学会に参加してるのですが、…

エラー解決:Cannot remove entries from nonexistent file ...easy-install.pth

エラー内容 pip3コマンドでインストールしようとした際に、依存関係のあるライブラリのバージョンを削除する場合があってその際に Cannot remove entries from nonexistent file anaconda...easy-install.pth のエラー。 解決 --ignore-installedオプション…

エラー解決:chainerを利用している時に AttributeError: 'module' object has no attribute 'full_like'

エラー内容 解決方法 エラー内容 いろいろ長いエラーの後に AttributeError: 'module' object has no attribute 'full_like' と言われる。 解決方法 chainerでGPUを利用しない場合、以下の箇所で numpyに切り替わる。 そのnumpyにfull_linkの属性がないため…

ディープラーニングのパラメータ設定・更新方法に関するメモ

パラメータの初期化 Xavier Initialization He Initialization Glorot initialisation パラメータ更新の手法 Vanilla update Momentum Nesterov Momentum Nadam AdaGrad AdaDelta Adam(Adaptive Moment Estimation) RMSprop Eve その他多数 自分で定義した目…

XGBoostで自分で設計した目的関数(objectiveを自分で定義)で回帰を行う

やること Quantile Regression イメージ scikit-learnのGradientBoostingでの実装 XGBoostの目的関数を変更する 目的関数 結果 他の目的関数 やること xgboostの目的関数を定義済みのものから自分で定義したものに変える。 回帰は常に 正解ラベル=予測の平…

pythonで文字列を日付(datetime)に変換後、日付間の日数の差を求める

やりたいこと データ形式 変換コード よく特徴を新しく作る時に使うのでメモ。 やりたいこと csvファイルの二つのカラムに入った文字列形式の日時データ、その二つの日時データの日数の違いを一気に計算したい。 下のデータ形式だと end_date_time - start_d…

pandasのDataFrameの連結、内部結合、外部結合のサンプル

データフレーム結合の使用例 Grouobyとそれに対する操作(フィルタなど) データ選択の方法(ix, queryなど) リンクのみです。 Qiita等の例の内の多くはpandasのドキュメントに載っている気がします。いちいち検索せずにドキュメントを読む癖をつけたい。特によ…

python, pandas.DataFrameにてapply内部のlambda式でtry, exceptを行う

コード try and catch部分 変換部分 最後に 結論から言うとできないそうです。 もっとも利用するのは DataFrame形式にapplyを使ってデータを変換する時だと思います、自分だけかもしれないですが。 コード とっさに作った例ですが、データに含まれる文字列の…

pythonで乱数を生成・特定の分布から乱数を生成する

ドキュメント 必要なライブラリをインポート 分布から乱数を生成 一様分布 np.random.rand random.random ガンマ分布 ガウス分布 ワイブル分布 混合ガウス分布 カーネル密度推定した分布のプロット アイテムを選択 アイテムごとの重みに基づいて選択 アイテ…

ubuntuにanacondaをインストール、仮想環境の作成、削除

インストール 仮想環境の名前一覧を見る 環境を作る 仮想環境に入る 仮装環境から出る 仮想環境の削除 conda-forge 本家のドキュメント メモのみ。Ubuntu 14.04とMac OS Xで行っています。 本家からダウンロードしてインストールするだけです。 インストール…

バンディットアルゴリズムの復習6:トンプソン抽出(ThompsonSampling)

概要 コード ログ出力 アームが保持する変数 アーム選択部分 なぜか日本語の記事があまりない。 概要 以前ソフトマックス法を 実行した時、期待値最大が見込めるアームは指数分布に基づいて決定していた。 このアームkの期待値E_kがアームごとに何らかの事前…

pythonのloggingの詳細設定を行う

利用するたびに設定を指定する .confにロギングの設定を指定する 詳細 データ解析のステップが大きくなってくるとログファイルを出力しないとどこにエラーがが入ったかやバグのチェックが大変になってくるのでメモ。 利用するたびに設定を指定する 一瞬使い…

バンディットアルゴリズムの復習4:Contextual Bandit

前回 Contextual Bandit スライド 説明 各アルゴリズム外観 EXP4 Epoch-Greedy LinUCB Thompson sampling for Contextual Bandits HyperTS・HyperTSFB 次回 書きかけ、後ほど各アルゴリズムの説明や実験など追加予定。 →水曜夜あたり→土日あたり 前回 UCB,そ…

バンディットアルゴリズムの復習3:UCB(Upper Confidence Bound)

前回 UCB(Upper Confidence Bound) UCBの説明 理論的な説明 UCBのアルゴリズム アームの定義 Arm0: ベルヌーイ Arm1: 適当に作った分布 実験 Arm0: ベルヌーイ Arm1: 適当に作った分布 次回 参考文献 前回 ε-Greedy+softmaxについてやった。 UCB(Upper Confi…

バンディットアルゴリズムの復習2:softmax

前回 Softmax Softmaxによるアーム選択 Boltzmann分布(Gibbs 分布) Softmaxのコード アーム選択部分 実験 アームの定義 Arm0: ベルヌーイ Arm1: 適当に作った分布 実験結果 Arm0: ベルヌーイの場合 Arm1: 適当に作った分布の場合 次回:UCB 参考文献 前回 ε-G…

バンディットアルゴリズムの復習1:epsilon-Greedy

A/B テスト epsilon-Greedy アルゴリズム 説明 epsilon-Greedy アルゴリズムコード 実験(ベルヌーイ分布のアーム) アームの定義 実行結果 実験(ペナルティが大きいアームがあるケース) アームの定義 実験結果 実験(アームの分布が時間によって変化する場合) …

pythonで決定木の出力と決定境界の可視化

参考文献 dotのインストール 決定境界の可視化 データの生成 決定境界の可視化 決定木の出力 決定木のデータファイルを出力 出力画像 おまけ:非線形データの場合 データ生成 決定境界の可視化 決定木の可視化 参考文献 Python Data Science Handbook: Essen…

pythonで線形+多項式フィッティング

データの生成 コード グラフ上にプロット フィッテング 過学習のテンプレとして出てくる。 データの生成 コード 予測する曲線のデータと、それにノイズを乗せたデータを生成します。 import matplotlib.pyplot as plt import seaborn import numpy as np def…

python matplotlib 内で日本語を利用する(日本語のラベルや凡例・legendをつける)

matplotlibで使用できるフォントを探す 指定したフォントをmatplotlib全体で使用できるように指定する コード 表示例 matplotlib.rcを使ったフォントの変更 コード 表示例 matplotlibで使用できるフォントを探す 指定したフォントをmatplotlib全体で使用でき…

python matplotlib 内で日本語を利用する(使用できるフォントを探す)

利用できるフォントを探す コード 出力 matplotlibで使用 日本語でラベルや凡例を表示する 利用できるフォントを探す コード import matplotlib.font_manager as fm # フォント一覧 fonts = fm.findSystemFonts() # フォントのパスと名前を取得、とりあえず1…

pythonでgensimを使ってトピックモデル(LDA)を行う

LDA用のデータの作成 単語の辞書を作成して出力 外部に保存したコーパスと辞書の読み込み LDAの実行 コード 出力例 gensimとjanomeを用いたLDAを行います。 必要なデータは一行ごとに文章が入ったtxtファイルです。 LDA用のデータの作成 data.txtには一行ご…

OCR・文字認識の論文とかのまとめ

論文 End-to-End Text Recognition with Convolutional Neural Networks Word Spotting and Recognition with Embedded Attributes Deep structured output learning for unconstrained text recognition Deep Features for Text Spotting Reading Text in t…

pythonでpandasのgroupbyで集約+散布図(scatter)を作成

やること コード データ作成 集計 + 上位の丸め込み コード全体 出力 やること 変数が三つある時によくやるのでメモ。 データで例えると「映画の視聴回数」「変数A」「変数B」で回数ごとに A, Bの変数に変化があるかを調べたい時にとりあえず見てみる。 大抵…