2016/12/05

2020/05/04

Rで同じプログラム(関数)なのに結果が変わる時は?

R言語入門

ライター:

R言語では、同じプログラム、同じ関数を使って、同じデータを解析しているのに、その解析結果が変わることがあります。

例えば、Rのパッケージ、”ada”に入っている関数ada()を使って、AdaBoostを行うとき、実行するたびに、結果が変わることがあります。

※R言語入門のトップページはこちら

対処法

解析ごとに結果が変わってしまうのは、関数の中でR側が用意した乱数を使っているから、であることがあります。

そして、乱数はシードと呼ばれるものによって決定されます。Rでは何も設定しなければ、シードはランダムに決まります。そこで、シードをこちら側で固定してあげることで、結果が変わるのを防げます。それは、プログラムの最初に次のように記載します。

プログラム

set.seed(125)

この場合ではシードを125に設定していますが、ここの値はなんでも大丈夫です。プログラムにこの1行を加えることで、結果が変わる問題が解決することがあります。

 

もし、「同じプログラムで、同じ関数、同じデータなのに、なんで毎回結果が違うんだ!」とお悩みの方がいましたら、是非お試しください。

※R言語入門のトップページはこちら

(totalcount 1,337 回, dailycount 48回 , overallcount 2,387,636 回)

ライター:

R言語入門

COMMENT

コメントを残す

メールアドレスが公開されることはありません。
*は必須項目です。




CAPTCHA