★データ解析備忘録★

ゆる〜い技術メモ

CRANは闇なのか

はじめに

こんな話があります。

www.slideshare.net

RのパッケージをCRANに登録するのは闇であるという内容です。一方で、そんなに闇ではないという意見もあります。

estatapiパッケージがCRANで公開されました。 - Technically, technophobic.

ThankYouStarsで感謝の気持ちをスターで伝えよう

闇なのか?

先日私も {MlBayesOpt} パッケージで晴れてCRANデビューしたのですが、アクセプトされるまで4回リジェクトされたのでかなり闇でした。個人的には、闇かどうかは

  • どういうパッケージか
  • パッケージの規模(関数の数・ドキュメントの量)

によるのかなあと思います。当たり前といえば当たり前ですが。

以下では、ありがちな「直してね」の内容を紹介しながら思いを綴りたいと思います。

続きを読む

「機械学習のパラメータをベイズ最適化でチューニング」をRで超簡単に書けるパッケージを作った

0. 要約

機械学習のハイパーパラメータをベイズ最適化でチューニングするのは既存パッケージの組み合わせで頑張ればできたのですが、頑張らなくても簡単に書けるパッケージを作りました。

github.com

これにより、例えば iris データをXGboostの3-foldクロスバリデーション、エラー率評価でフィッティングさせたければ以下のように書くことでハイパーパラメーターである eta, max_depth, nround, subsample, bytree をベイズ最適化でチューニングしてくれます。

res0 <- xgb_cv_opt(data = iris,
                   label = Species,
                   objectfun = "multi:softmax",
                   evalmetric = "merror",
                   classes = 3,
                   n_folds = 3)

データセット名、ラベルの列名、XGboostのモデルを組むのに必要なこと、何回クロスバリデーションするかを書けば勝手にやってくれます。

ベイズ最適化そのものについては、hoxo_mさんの資料が分かりやすいと思います。

www.slideshare.net

続きを読む

Pythonでshapefileから逆ジオコーディング

はじめに

緯度経度から住所(市区町村・番地)を求める逆ジオコーディングですが、Rを使ったバージョンは以前書きました。

y-mattu.hatenablog.com

また、上記は市までわかっているバージョンだたのですが、そもそもの県や市を求めたいときは以下も参考になります。

qiita.com

今回は市までわかってるverをPythonでやってみます。

続きを読む

Shiny で文字を入力してボタンでUIに反映させるにはeventReactive

最近、仕事でShinyアプリケーションを作るようになったのですが、ちょこっとはまったのでメモ。 shiny の基本のキは分かってる人向けです。

Shiny での文字入力

まず、Shiny で文字入力してボタンを押すとUIに反映されるを実現するには r - Create a data frame using text input in Shiny - Stack Overflow にあるように ui.Rserver.R を以下のように設定するとできます。

続きを読む

Python3でカレントディレクトリ内のzipファイルを全て、zipのファイル名でディレクトリを作って解凍する

タイトルが長くなってしまったけど、なぜかこんな単純なことが3系で書かれたものが見つからなかったので備忘録的に(あったらゴメンなさい)。

import os
import zipfile
import glob

for i in glob.glob('*.zip'):
    with zipfile.ZipFile(i, 'r') as zf:
        dirname = i.rstrip('.zip')
        zf.extractall(dirname)