python, R, vimでデータマイニング

python, R, vim で疑問に思ったことなどを

WEBアプリ作成のためのお勉強

WEBアプリが作りたくなり、お勉強を始めた はじめはFLASKなどを勉強しようかと思ったが他にも便利そうなフレームワークが多くFLASKは後回しになりそう。 とにかく初学者なのでどんなものがあるかを調べるだけでも便利そうなものが多く見つかるので楽しい。 …

Vimのterminal上でIPython, R, bashを使用するためのPlugin を作成しました。

もともとVimのterminal上でIPYTHONを使用するPluginを作成していたのですが、 Rやbashも使用できるように再作成しました。 https://github.com/kanosuke/vimterm

R: ps package R install error : ERROR: moving to final location failed

タイトルのエラーでパッケージのインストールに手間取りました。 回答にもなかなかたどり着けなかったので備忘録として https://stackoverflow.com/questions/14382209/r-install-packages-returns-failed-to-create-lock-directory R CMD INSTALL --no-lock <pkg></pkg>…

cross_val_predictで足りない機能を追加

cross_val_predictで足りない機能を追加 Table of Contents 1. 足りない機能 2. cross_val_classifier 3. 使用例 4. estimatorsの適用 1. 足りない機能 cross_val_predictを良く使用します。ただ足りないと思う機能が一つあります。各FOLD毎に構築したestima…

count encodingの実装

データフレーム全体に対してCount Encodingするパッケージを作成しました。 別データに適用することも考慮して 変換テーブルの役割の辞書を作成する関数 上記を適用する関数に分けました。 create_count_encoding_dicts apply_encode_dicts 以下 README 3. u…

lightgbmの変数の重要度を取得する関数

lightgbmの変数の重要度を取得する関数 Table of Contents 1. 概要 2. 使用例 1. 概要 モデル構築後に変数の重要度を確認することが多いので関数化しました。学習済みのestimatorを与えると重要度テーブルがデータフレームで返されます。utils4mlという自作…

loadbank:検証用データを作成するパッケージを作成しました。

loadbank:検証用データを作成するパッケージを作成しました。 Table of Contents 1. 概要 2. 基データ 3. データ作成方針 4. パッケージの使用例:データ作成 5. LGBMClassifierでモデルを作成して精度を見てみる。 6. LGBMRegressorでモデルを作成して精度…

自分好みのcross_val_predictを実装したい

sklearnのcross_val_predictをちょくちょく使用するが自分好みにちょっと改造したい。 具体的には各FOLD毎にfitしたestimatorを取得したい。 あとで実装候補としてメモ。

RMSEを計算する関数を用意しておく

sklearnにはRMSEを計算する関数がない模様で毎回コードを書くのが面倒なので自作パッケージ内の関数として用意しておく。 1. rmse Root mean squared error regression loss. 1.1. 使用方法 from utils4ml.sklearnwrappers import rmse 1.2. 関数定義 import…

*.adoc にasciidoctorコマンドを適用する find -exec

自分用にパッケージを作成していてドキュメントをadocで作成している。 一つの関数ごとにadocを一つ作成していて数が多くなるので一括でコマンドを適用したい。 一般的な使用方法なので調べればすぐに分かるけど私用にshellscriptに用意しておこう。 find . …

機械学習モデルのパラメータをデータフレームに変換してCSVファイルに書き込む

機械学習モデルのパラメータをデータフレームに変換してCSVファイルに書き込む Table of Contents 1. パラメータの辞書作成 2. パラメータをデータフレームに変換 3. 関数化 機械学習モデルのパラメータは辞書で作成します。パラメータの内容を確認するとき…

LGBMClassifierのモデルをdumpしたい

LGBMClassifierのモデルをdumpしたい Table of Contents 1. モデルの作成 2. モデルのdump 3. モデルのload 4. loadしたモデルでpredict ちょっと調べてみたところfrom sklearn.externals import joblibで行けるらしい。試してみる。→ 問題なくできました。 …

pip install from git ssh

git sshのインストールで少しだけハマったので。 gitのcloneで使用するSSHのURIは git@github.com:<username>/<reponame>.git なので頭にssh://を付与して pip install ssh://git@github.com:<username>/<reponame>.git とすると場所がみつからずエラーとなる。 :を/に変える必要があった。 pip insta</reponame></username></reponame></username>…

Pipenv でプロジェクト名(ディレクトリ名)や場所を変更したい

ちょっと調べたのですが有用な情報を見つけることができませんでした。 あまり推奨されないのでしょうか? 環境構築に時間がかかりますし、ネット環境がない状況に対応するため 予め構築済みの環境を使いましたかったのですが。

pipenv install が遅すぎた

pipenv install が遅すぎて困りました。 とても許容できるような遅さではありません。 調べてみるとlock処理に時間がかかるようです。 --skip-lock を指定するとlockをスキップできるようです。 毎回オプションを指定したくないのでエイリアスを設定します。…

forcats

forcats 最近見つけた私にとっての便利なパッケージforcats もともとfactorの扱いが苦手。 今回困ったのはggplotで棒グラフを描いたときに件数順にソートしたくてさっとはできなかった。 使った関数はfct_infreq levelsを件数順にしてくれます。 もともとの…

ggplot2 windows環境でフォントを指定したい

ggplot2 windows環境でフォントを指定したい グラフを書くときにフォントに悩みのはもう終わりにしたい。 メイリオフォントを指定する。 でもメイリオはあまり好みじゃないな。 library(ggplot2) windowsFonts("MEI"=windowsFont("Meiryo")) qplot( data=iri…

開発環境を少し変更

開発環境を再考して少しだけ自分の好みに近づいた。 jupyter R vim key binding 1. jupyter R いままではRstudioを使用していたが満足していなかった。一つ目の理由は余計な機能が多すぎること。2つ目はpythonと異なる2つの開発環境を併用するのが面倒。 こ…

グラフについてとても参考になった。 ダメ出し:ちゃんとしたグラフを描こう

偶然見つけた下記のページ。 ダメ出し:ちゃんとしたグラフを描こう グラフを見ると明らかに分かりやすくなっている。 ggplot2はだめなのか? ggplot2で下のグラフはつくれないのか? 話は変わって愚痴っぽくなるがRで新しいことを試そうとすると躓くことが…

tm:言語処理とちょっとだけ嵌る

tm:言語処理とちょっとだけ嵌る 嵌ったこと 言言処理の前処理が必要でtmパッケージを使用しました。参考情報は下記 Basic Text Mining in R stemDocument関数で英単語が集計しやすい形で出力されるはずなのにされない。 参考情報に従って問題を確認 データは…

今更欠損値対応:mlr

今更欠損値対応:mlr 欠損値対応 TREEベースのアルゴリズムでモデルを構築することが多いので欠損値対応は必要ないと思っていた。 今回はモデルを構築する前にクラスタリングすることにしてkmeansのため欠損値対応が必要になった。 平均値に置換 難しいこと…

そろそろ最適化問題を勉強したい:optim

そろそろ最適化問題を勉強したい:optim 最適化問題をおろそかにしてきた 実務ではパラメータ推計やモデル構築で事足りて最適化問題をおろそかにしてきた。 最適化が必要な状況 順序予測を回帰でモデル構築した後に予測値を離散化して順序にしたい。離散化の…

いろいろ試したい時のデータセット:タイタニック

いろいろ試したい時のデータセット:タイタニック 分析データを見つけるのは難しい 何かを試したい時に適したデータセットを見つけるのはなかなか難しい。複数のデータセットを目的に応じて使い分けるのも骨が折れる。ある程度汎用的に使えるデータセットを…

dplyr:group_by に嵌る

dplyr:group_by に嵌る kanosuke 問題 dplyrのgroup_byを使用してグループ別の集計処理をしたかったのだがグループ処理が働かずに嵌った。 問題例 library(dplyr) library(plyr) mtcars %>% group_by(vs, am) %>% summarise(max = max(mpg)) ## max ## 1 33.…

xgboostを試してみる

xgboostを試してみる kanosuke 2015年11月03日 xgboostで精度の高いモデルを構築できるらしい。それから、fevalでモデル精度指標を指定できるところも良さそう。xgboostを試してみたい。 まずは試してみる。 caretを使用すると色々なモデルが共通の文法で書…

dplyr, mutateを用いたデータハンドリング, data wrangling

dplyr, mutateを用いたデータハンドリング, data wrangling kanosuke 2015年10月21日 モデル構築前の前処理 モデル構築する前には前処理が必要。むしろ、前処理の方がが時間がかかる。モデル構築ではトレーニング用とテスト用に分割するので2つのデータセッ…

caret:trainに慣れる

caret:trainに慣れる kanosuke 2015年10月19日 パッケージ caret The caret Package 色々なアルゴリズムを個別のパッケージで対応してきた。でも、それぞれの使い方を調べながら対応するのが面倒。caretは多くのアルゴリズムを一つのパッケージにまとめてく…

欠損値置換や因子ベクトル化をmutate_eachで

欠損値置換や因子ベクトル化をmutate_eachで kanosuke 2015年10月17日 Rでのデータ加工がいつも捗らなくて困っていた。dplyrをより活用することでもっと効率的にしたい。そのなかでもmutate_eachは使う場面が多そうなので慣れておきたい。 全変数を因子ベク…

経過月数の計算 library(mondate)

KAGGLEの分析で経過月数を求めたいと思った。 過去に書き散らかして放置していたブログでも同様の記事を投稿したことがあった。月日が立ち、そのときに利用していたライブラリ名すら忘れていた。 「r months between」で検索してみるとStack Overflow に質問…