2016-11-02 13 views
0

私はムービーのレンズデータセットで作業していますが、行とムービーIDの列としてユーザーIDの行列(m×n)を持っており、次元削減技法と行列分解を使ってスパース行列(m×k、k < n)。私はk-最近傍アルゴリズム(ライブラリではなく、自分のコード)を使って性能を評価したいと思います。私はsparkR 1.6.2を使用しています。私は自分のデータセットをsparkRのトレーニングデータとテストデータに分割する方法を知らない。ネイティブR関数(サンプル、サブセット、CARET)を試しましたが、スパークデータフレームと互換性がありません。 sparkRで書かれた私自身の関数を使って、クロスバリデーションと分類子を実行するための提案をしてください。sparkrのクロスバリデーション

+0

これはむしろあいまいです。試したコードをサンプルデータで再現可能なサンプルを作成できますか?理想的には、望ましい結果が得られますか? – Konrad

答えて

0

sparklyr(https://spark.rstudio.com/)パッケージはデータを分割するための簡単な機能を提供します。たとえば、dfという名前のデータフレームがSparkにある場合は、compute()でそのコピーを作成し、次にそれをsdf_partition()でパーティション化することができます。

df_part <- df %>% 
    compute("df_part") %>% 
    sdf_partition(test = 0.2, train = 0.8, seed = 2017) 

df_partその後、スパークDATAFRAMEへ接続だろう。 collect()を使用してSpark DataFrameをRデータフレームにコピーすることができます。