★データ解析備忘録★

ゆる〜い技術メモ

R Markdown で作ったスライドに R で音声を吹き込む

はじめに

R Markdown ではスライドを作ることができます。

https://kazutan.github.io/SappoRoR6/rmd_slide.html#/

とくに、reveal.js ベースの {revealjs} パッケージや remark.js ベースの {xaringan}パッケージは簡単にRの出力を含めたシンプルなスライドを作成できることから私の周りでは使っている人が多いです。

そんなスライドもプレゼンをするときは自分で喋らなければなりません。自分で喋ることの利点はたくさんあるのですが、声の調子が悪かったり、どうしてもプレゼン会場に行けない、自分で音声を録音してビデオを作ってる暇もない、という場面もあるかと思いまます。

今回は、そんなときにRでスライドに音声を吹き込んでしまおうというお話です。これでRだけでスライド作りが完結しますね!!

ただし、吹き込まれるのは自分の声ではありません。

完成品

こんな感じになります。

youtu.be

続きを読む

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 を以下のように設定するとできます。

続きを読む