問題タブ [mclapply]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 冗長な処理を回避するバージョンの lapply() および mclapply()
引数リストの一意の要素のみを処理するlapply()
とのバージョンを探しています。このようなものはすでに存在しますか?mclapply()
X
EDIT : つまり、lapply()
重複の処理を気にしたくないのですlength(lapply(X, ...))
が、等号にしたい(および一致する適切な値)。また、各要素はかなり小さいと想定しているため、一意の値を取得することはそれほど面倒ではありません。length(X)
length(unique(X))
X
現在の動作:
望ましい動作:
lapply(タスク、long_computation)
意図した使用例はこちらで確認できます。
r - R 変換コードを共有メモリで実行する
次のコードは、最適なクラスターの数を理解するのに役立ちます。
目標は、これを複数のコアを持つ共有メモリで実行するように変換して、高速に実行できるようにすることです。fviz_nbclust
この方法を使用してみましたが、非常に遅いです。
アプローチ/試み:
まず、wss
呼び出されるメソッドを作成しますmclapply
これはi
並列開始数です。これは、k
実際k.values
には、最適なものを見つけるために試行する必要があるクラスターの数です。
k.values <- 1:15
kmean_results <- mclapply(c(25,25,25,25), k.values, FUN=parallel.wss)
しかし、次の警告を受けました:
kmean_results
オブジェクトを見て:
head(kmean_results) [[1]] [1] "kmeans(df, k, nstart = i) のエラー: \n 'x' と 'centers' には同じ数の列が必要です\n" attr(,"class ") [1] "try-error" attr(,"条件")
r - mclapply を使用して関数を実行するときの環境
次のような関数があります。
mclapply を使用して並列に反復したいと考えています。
これは私の関数とユースケースの非常に単純化されたバージョンですが、ユーザー定義関数と mclapply を使用するときに環境がどのように処理されるかを明確にするために使用したいと思います。
これは同じ RAM 上で並行して処理されているため、mclapply 関数がある時点で「混乱」し、別のパラメーター (で定義されているように)と混同される可能性があるdata
かどうか疑問に思っていました。間違ったものを使用して作成されました)。各機能が独自の環境を維持していることは承知していますが、同じ機能が複数回使用されているため、どのように機能するかを確認したいと考えています。clusters
list
data
clusters
X
これを明確にするか、正しい方向に向けていただければ幸いです。
ありがとう!
r - R でのビッグ データの離散ウェーブレット変換
Rで次のコードを使用して離散ウェーブレット変換を行っています.data.table形式のデータは、ハイブテーブルからチャンクでフェッチされ、マトリックスに変換され、ウェーブレット変換が以下のように適用されます.
離散ウェーブレット変換は、上記のように処理に 28 コアを使用している 32 コアの LINUX マシンで 1000 万 x 52 列のデータセットに対して約 3 時間 30 分かかります。しかし、3,000 万から 3,500 万行 X 52 列のデータセットでこれを行う必要があり、3,000 万行のデータセットを実行するには約 26 時間かかります。 m_score
上記は、data.table から変換されたチャンク マトリックスのリストです。
R でより速く実行するためのアイデア:
- R または他の言語の特殊なライブラリを探しています。
- データはハイブ テーブルから取得されるため、Hive UDF を使用して変換を行うことにもオープンですが、ウェーブレット変換用の UDF が見つかりませんでした。
r - lme4 と long ベクトルを使用した mclapply
パッケージから使用mclapply
して、高性能クラスターでパッケージをparallel
使用して混合 glmer モデルを推定しています。ここで説明されてlme4
いる問題が発生しています。を追加するという提案された修正を適用しましたが、問題は解決しません。コードはここで説明されているように設定されています。mc.preschedule=F
私はそれを回避する方法がわかりません、何かアイデアはありますか?別の並列化方法に切り替える必要がありますか? もしそうなら、どのように?
これは私のコードですが、基本的にはリンクされた記事のロジックに従います。
これは、関連するエラー メッセージです。
ありがとう!
アップデート:
このデータは、公開されているEuropean Social Surveyのクリーン バージョンです。ファイルはこちらからダウンロードできます(1.8 MB)