聚類 4 個變量,1.39 億行數據,30GB嗨,大家好,
有點困難的要求這個。 潛在客戶擁有大量數據並希望分析所有數據。
當然,我們已經告訴他們抽樣會更有意義。 但他們仍然想分析這一切。
我們還告訴他們,他們將需要大量 RAM,這意味著要安裝服務器。 他們仍然想知道是否有可能分析他們的所有數據。
您對我們如何回應並確保 JMP 將為他們工作有什麼建議? 或者,如果在這種數據量上進行聚類不是一個開始,那也很高興知道。
他們提供的數據的詳細信息如下。 在這個階段,我不想在沒有決定響應他們請求的最佳方法的情況下詢問更多細節。
我們希望為集群運行 10 個月的數據總量,如下所示:
行數:138734720(1.387 億行)
列數:4
數據量:30 GB
(複製@MarcoSalfi因為今天之後我將離開辦公室。)
謝謝!
菲爾
Re: 聚類 4 個變量,1.39 億行數據,30GB所以 - TL;DR - 試著在 JMP 17 之前提出這個問題。這聽起來很像他們在解決基因組學數據需求時正在做的事情。
在 JMP 16 中有這麼大的東西——你需要在一個大的粉碎機上做。 如果它確實有效,它需要一段時間來進行聚類。看起來 K 手段或層次結構都不是多線程的( https://www.jmp.com/support/notes/49/280.html ) 所以他們不會從高 CPU 數量中獲得任何好處。
他們可以嘗試的一些事情可能是:
- 確保所有數據都是數字的並且是壓縮的(即在所有內容上運行 Cols > Utilities > Compress Selected Columns)。
- 分類數據應使用 Labels to Code 進行編碼
- 嘗試重鑄數據。 如果有一個時域(或類似時間的東西),您能否以某種邏輯方式將其分解,以便可以使用 FDE 來簡化數據集,然後在 FPC 上進行聚類? 這對於傳感器跟踪等很有用。
最好的,
米
Re: 聚類 4 個變量,1.39 億行數據,30GB在更實際的層面上,他們試圖用只有 4 個變量(或者它是 3 並且第 4 列是樣本 ID 列)對 1 億行進行聚類。 他們是否正在尋找行中的模式以便將它們分組? 也許有更多的變量隱藏在應該分成列的行中(如時間/日期)。 對那麼多行進行聚類似乎不會產生任何價值或有意義的信息(更不用說如何可視化它了)。 如果模式是他們所追求的,那麼他們可能需要將行減少為代表已知分組的附加列(因子)。
作為@MikeD_Anderson暗示,如果這是基於時間的分析,FDE 會更好地尋找隨時間變化的模式而不是聚類。 需要梳理出時間/日期變量。
Re: 聚類 4 個變量,1.39 億行數據,30GB想提一下這種大小的數據在基因組學中相當普遍,我不認為客戶要求那麼極端,我也不認為需要服務器。對於 17 中的新性能工作,我們主要針對寬表(您所描述的轉置),但某些任務(如集群)可能仍然需要高表。
我剛剛嘗試在具有 128 GB RAM 的 Windows PC 上創建一個包含隨機正常數據的 138734720 x 4 表,並運行了 17 的最新版本:
- K-Means:K=100,30 次迭代需要 20 分鐘並使用 44 GB RAM
- 分層:混合病房,大部分時間將 CPU 固定在 100%,16 個週期需要 3.5 小時,80 GB RAM
- 主成分分析:15 分鐘
使用 K-Means 的一個技巧是為每個集群保存代表,然後對它們進行分層。