4つの変数のクラスタリング、1億3900万行のデータ、30 GBやあみんな、
少し難しいリクエストです。 見込み客は大量のデータを持っており、そのすべてを分析したいと考えています。
もちろん、サンプリングの方がはるかに理にかなっていると彼らに話しました。 しかし、彼らはまだそれのすべてを分析したいと思っています。
また、サーバーのインストールを意味する大量のRAMが必要になることも伝えました。 それでも彼らは、すべてのデータを分析できるかどうかを知りたがっています。
JMPが彼らのために機能するという保証を提供し、どのように対応できるかについて、どのような提案がありますか? または、この量のデータでのクラスタリングが初心者ではない場合は、それも知っておくとよいでしょう。
彼らが提供したデータの詳細は以下のとおりです。 私は、彼らの要求に応えるための最善のアプローチを決定せずに、この段階で詳細を尋ねたくありませんでした。
以下のように、合計ボリュームの10か月分のデータに対してクラスターを実行します。
行数:138734720(138.7百万行)
列数:4
データ量:30 GB
(コピー@MarcoSalfi今日から不在になるので。)
ありがとう!
フィル
Re:4つの変数のクラスタリング、1億3900万行のデータ、30 GBしたがって、-TL; DR-JMP 17まで質問を整理してみてください。これは、ゲノミクスデータのニーズに対応する一環として彼らが取り組んでいたこととよく似ています。
JMP 16で非常に大きなものがある場合は、大きなクランチャーでそれを行う必要があります。 また、クラスタリングが機能する場合は、クラスタリングを実行するのにしばらく時間がかかります。K平均法も階層法もマルチスレッドではないようです( https://www.jmp.com/support/notes/49/280.html )したがって、CPU数が多いことによるメリットはありません。
彼らが試すことができるいくつかのことは次のとおりです。
- すべてのデータが数値であり、圧縮されていることを確認してください(つまり、すべてで[列]>[ユーティリティ]>[選択した列の圧縮]を実行します)。
- カテゴリデータは、LabelstoCodeを使用してエンコードする必要があります
- データを再キャストしてみてください。 時間領域(または時間のようなもの)がある場合、FDEを使用してデータセットを単純化し、FPCでクラスター化できるように、論理的な方法でそれを分割できますか? これは、センサートレースなどに役立ちます。
一番、
M
Re:4つの変数のクラスタリング、1億3900万行のデータ、30 GBより実用的なレベルでは、4つの変数のみで1億行をクラスタリングすることで、彼らは何をしようとしていますか(または、3列で4列はサンプルID列です)。 グループ化できるように、行のパターンを探していますか? たぶん、列に分割する必要がある行に隠されている変数がもっとあるかもしれません(時間/日付など)。 多くの行をクラスタリングすると、価値や意味のある情報が生成されるようには見えません(視覚化する方法は言うまでもありません)。 パターンが必要な場合は、行を既知のグループ化を表す追加の列(因子)に減らす必要があります。
として@MikeD_Andersonこれが時間ベースの分析である場合、FDEはクラスタリングではなく、時間の経過とともにパターンを探す方がよいことを示唆しています。 時間/日付変数をティーズアウトする必要があります。
Re:4つの変数のクラスタリング、1億3900万行のデータ、30 GBこのサイズのデータはゲノミクスではかなり一般的であり、顧客の要求がそれほど極端であるとは考えていません。また、サーバーが必要だとは思いません。17年の新しいパフォーマンス作業では、主に幅の広いテーブル(説明した内容を転置)を対象としていますが、クラスタリングなどの特定のタスクは、依然として背の高い形式で望ましい場合があります。
128GBのRAMを搭載したWindowsPCで、ランダムな通常のデータを使用して138734720 x 4のテーブルを作成し、最新の17のビルドを実行してみました。
-K-Means:K = 100、30回の反復には20分かかり、44GBのRAMを使用します
-階層:ハイブリッドワード、ほとんどの場合CPUを100%ペグ、16サイクルは3.5時間、80 GB RAM
-PCA:15分
1つのトリックは、K-Meansを使用することです。これは、各クラスターの代表を保存してから、それらに対して階層を実行することです。