4개 변수 클러스터링, 1억 3900만 데이터 행, 30GB안녕하세요 여러분,
약간 어려운 요청입니다. 잠재 고객은 대용량 데이터를 가지고 있으며 모든 데이터를 분석하려고 합니다.
물론 샘플링이 훨씬 더 의미가 있을 것이라고 말했습니다. 그러나 그들은 여전히 모든 것을 분석하기를 원합니다.
우리는 또한 서버 설치를 의미하는 많은 RAM이 필요할 것이라고 말했습니다. 그래도 그들은 모든 데이터를 분석하는 것이 가능한지 알고 싶어합니다.
JMP가 그들에게 도움이 될 것이라는 확신을 제공하고 대응할 수 있는 방법에 대해 어떤 제안이 있습니까? 또는 이 데이터 볼륨에 대한 클러스터링이 시작이 아닌 경우에도 알아두는 것이 좋습니다.
그들이 제공한 데이터에 대한 세부 정보는 아래와 같습니다. 나는 그들의 요청에 응답하기 위한 최선의 접근 방식을 결정하지 않고 이 단계에서 더 자세한 내용을 묻고 싶지 않았습니다.
아래와 같이 총 볼륨에 대해 10개월치 데이터에 대해 클러스터를 실행하려고 합니다.
행 수 : 138734720 (1억 3870만 행)
열 수: 4
데이터 볼륨: 30GB
(사자 @MarcoSalfi 오늘 이후에는 부재중입니다.)
감사해요!
필
Re: 4개 변수 클러스터링, 1억 3900만 데이터 행, 30GB따라서 - TL, DR - JMP 17까지 질문을 정리하려고 합니다. 이것은 Genomics 데이터의 요구 사항을 해결하기 위해 작업하고 있었던 것과 매우 흡사합니다.
JMP 16에서 큰 작업을 수행하려면 큰 크런처에서 수행해야 합니다. 그리고 그것이 전혀 작동한다면 클러스터링을 수행하는 데 시간이 걸릴 것입니다.K는 계층 구조가 다중 스레드를 의미하지 않는 것처럼 보입니다( https://www.jmp.com/support/notes/49/280.html ) 따라서 높은 CPU 수로 인한 이점을 얻지 못할 것입니다.
그들이 시도할 수 있는 몇 가지 사항은 다음과 같습니다.
- 모든 데이터가 숫자이고 압축되어 있는지 확인하십시오(즉, 모든 항목에 대해 Cols > Utilities > Compress Selected Columns 실행).
- 범주형 데이터는 Label to Code를 사용하여 인코딩해야 합니다.
- 데이터를 다시 변환해 보십시오. 시간 영역(또는 시간과 유사한 것)이 있는 경우 FDE를 사용하여 단순히 데이터 세트를 사용한 다음 FPC에서 클러스터링할 수 있도록 논리적 방식으로 분할할 수 있습니까? 이것은 센서 추적 등에 유용할 것입니다.
최상의,
중
Re: 4개 변수 클러스터링, 1억 3900만 데이터 행, 30GB보다 실용적인 수준에서 4개의 변수(또는 3이고 4 열이 샘플 ID 열임)로 1억 개의 행을 클러스터링하여 무엇을 하려고 합니까? 그룹화할 수 있도록 행에서 패턴을 찾고 있습니까? 열로 분할되어야 하는 행에 숨겨진 변수가 더 있을 수 있습니다(예: 시간/날짜). 많은 행을 클러스터링하는 것은 값이나 의미 있는 정보를 생성하지 않는 것처럼 보입니다(시각화 방법은 고사함). IF 패턴이 추구하는 것이라면 행을 알고 있는 그룹화를 나타내는 추가 열(요인)로 줄여야 할 것입니다.
같이 @MikeD_Anderson 암시적으로, 이것이 시간 기반 분석이라면 FDE는 클러스터링 대신 시간 경과에 따른 패턴을 찾는 것이 더 나을 것입니다. 시간/날짜 변수를 제거해야 합니다.
Re: 4개 변수 클러스터링, 1억 3900만 데이터 행, 30GB이 크기의 데이터는 유전체학에서 상당히 일반적이며 고객 요청이 그렇게 극단적이라고 생각하지 않으며 서버가 필요하다고 생각하지도 않습니다.17의 새로운 성능 작업을 위해 우리는 주로 와이드 테이블(설명한 내용의 전치)을 대상으로 하지만 클러스터링과 같은 특정 작업은 여전히 키가 큰 형식에서 바람직할 수 있습니다.
방금 128GB RAM이 있는 Windows PC에서 임의의 일반 데이터가 있는 138734720 x 4 테이블을 만들려고 시도하고 17의 최신 빌드를 실행했습니다.
- K-Means: K=100, 30회 반복에 20분이 소요되고 44GB RAM 사용
- 계층적: Hybrid Ward, 대부분의 시간에 CPU를 100% 고정, 16사이클에 3.5시간 소요, 80GB RAM
- PCA: 15분
한 가지 트릭은 K-Means를 사용하는 것입니다. 각 클러스터에 대한 대표자를 저장한 다음 계층적을 수행하는 것입니다.