簡体例(機能rbf
がkernlab
パッケージからである)でkernlabパッケージからrbfdotを使用してパフォーマンス:私はouter()
を試してみた悪いスピードアップする必要があります私のゆっくりと動作するコードのループ
install.packages('kernlab')
library('kernlab')
rbf <- rbfdot(sigma=1)
test <- matrix(NaN,nrow=5,ncol=10)
for (i in 1:5) {
for (j in 1:10) { test[i,j] <- rbf(i,j)}
}
それrbf
関数が必要な長さ(50)を返さないために機能しません。膨大な量のデータがあるので、このコードを高速化する必要があります。私はこれをスピードアップするためにベクトル化が聖杯になると読んだけど、どうやってそれを知るのか分からない。
私に正しい方向を教えてください。
あなたのループが不足している、あなたが事前に割り当てボトルネックはおそらく 'rbf'関数でしょう。可能であれば、それをより速くする方法を決定するためには、その関数をプロファイリングする必要があります。 –
'kernlab'に' rbf'関数はありません。どちらの機能が重複しているかを確認してください。たぶん、 'rbf < - rbfdot()'の結果でしょうか? –
あなたの機能が占める時間の割合を測定してみてください( '?Rprof'を参照してください) – Seb