대규모 데이터 세트를 처리하기위한 통계 및 데이터 마이닝 소프트웨어 도구


27

현재 약 2 천만 개의 레코드를 분석하고 예측 모델을 작성해야합니다. 지금까지 Statistica, SPSS, RapidMiner 및 R을 사용해 보았습니다.이 통계 중 데이터 마이닝을 처리하는 데 가장 적합한 것으로 보이며 RapidMiner 사용자 인터페이스도 매우 편리하지만 Statistica, RapidMiner 및 SPSS는 소규모 데이터 세트에만 적합합니다. .

누구든지 큰 데이터 세트에 적합한 도구를 추천 할 수 있습니까?

감사합니다!


6
좀 더 구체적으로 할 수 있습니까? 실제로 어떤 데이터를 수집하고 싶습니까? 어떻게 계획하고 있습니까? 나는 당신과 비슷한 크기의 레코드를 분석하기 위해 R을 사용했으며 전혀 나쁜 경험이 아니 었습니다.
suncoolsu

이 질문은 빨리 시작될 것입니다. 이러한 도구의 최신 버전에 대해서는 반년마다 반올림 (wiki)하는 것이 좋습니다.
반복자

답변:


19

두 번째 @suncoolsu 의견 : 데이터 세트의 차원이 특정 소프트웨어를 지향하는 유일한 기준은 아닙니다. 예를 들어, 감독되지 않은 클러스터링을 수행하거나 PCA를 사용하려는 경우 게놈 연구에서 일반적으로 발생하는 대규모 데이터 세트에 대처할 수있는 몇 가지 전용 도구가 있습니다.

이제 R (64 비트)은 대용량 데이터를 잘 처리하지만 여전히 RAM 액세스 대신 디스크 스토리지를 사용하는 옵션이 있지만 CRAN 작업보기 R을 사용한 고성능 및 병렬 컴퓨팅을 참조하십시오 . 표준 GLM은 20,000 개의 obs를 쉽게 수용 할 수 있습니다. 적절한 시간 내에 아래에 표시된대로 (단, speedglm 참조 )

> require(MASS)
> n <- 20000
> X <- mvrnorm(n, mu=c(0,0), Sigma=matrix(c(1,.8,.8,1), 2, 2))
> df <- cbind.data.frame(X, grp=gl(4, n/4), y=sample(c(0,1), n, rep=TRUE))
> system.time(glm(y ~ ., data=df))
   user  system  elapsed
  0.361   0.018    0.379

좀 더 구체적으로 설명하기 위해 R을 사용하여 큰 유전자 데이터 (800 개 개인 x 800k SNP) 를 처리하고 분석했습니다 . 여기서 주요 통계 모델은 여러 공변량 (2 분)을 가진 층화 된 GLM이었고 효율적인 R 덕분에 가능했습니다. snpMatrix 패키지 에서 사용할 수있는 C 코드 ( 비교적으로 , 동일한 종류의 모델은 전용 C ++ 소프트웨어 ( plink )를 사용하여 약 8 분이 걸렸으며 임상 연구 (12k 환자 x 관심 변수 50 개)에도 참여했으며 R은 내 요구에 맞습니다. 마지막으로, lme4 패키지는 (대규모 교육 평가에서와 같이) 불균형 및 대규모 데이터 세트에 혼합 효과 모델을 적용 할 수있는 유일한 소프트웨어입니다.

Stata / SE는 대용량 데이터 세트를 처리 할 수있는 또 다른 소프트웨어입니다 . SAS 및 SPSS는 파일 기반 소프트웨어이므로 대량의 데이터를 처리합니다. 데이터 마이닝 소프트웨어에 대한 비교 검토는 데이터 마이닝 도구 : CRM에 가장 적합한 소프트웨어 중 하나 에서 확인할 수 있습니다 . 시각화를 위해 많은 옵션이 있습니다. 어쩌면 좋은 시작은 대규모 데이터 세트의 그래픽입니다. 백만개 시각화 ( P Murrell의 JSS에서 검토 )와이 사이트의 모든 관련 스레드입니다.


@chl : 아직 64 비트 R을위한 효과적인 병렬 컴퓨팅 솔루션을 찾으셨습니까? 내가 올 여름에봤을 때, 비영리적인 유일한 사람들은 32 비트 R에서만 작동하는 것처럼 보였다.
whuber

1
@whuber Nope. 작년에 큰 유전자 데이터 세트를 관리하기 위해 64 비트로 전환해야했지만, 우리가 사용한 통계 모델은 (아는 한) 병렬화를 요구하지 않습니다. R에 OpenMP 바인딩이 있다고 생각했지만 더 이상 조사하지 않았습니다. Revolution Analytics가 이러한 의미 ( j.mp/d7dFb5 ) 로 노력 했지만 여전히 32 비트로 노력하고 있음을 알고 있습니다 (아마도 당신이 언급 한 것입니다). 그 동안 R / parallel ( rparallel.org )을 찾았 지만 그것이 얼마나 신뢰할 만하고 성숙한 지 모르겠습니다.
chl

@chl 나는 그들 모두를 시도했지만 그들 중 누구도 일할 수 없었습니다.
whuber

@ 우버 : 당신은 Windows 또는 * nix 상자 (맥, 리눅스, ...)에
있습니까

2
우분투 (google 'download ubuntu')를 설치하고 virtualbox ( youtube.com/watch?v=KXgKnd-u2R4 ) 를 통해 우분투 내에서 Windows 전용 앱을 실행하는 것이 좋습니다. R과 라텍스 편집기는 매력처럼 우분투에서 실행됩니다.
user603

8

Apache Mahout 에있는 대부분의 알고리즘은 고차원 데이터에서도 20M 이상의 레코드를 확장합니다. 예측 모델 만 구축해야하는 경우 단일 컴퓨터에서 수십억 개의 레코드로 쉽게 확장 할 수있는 Vowpal Wabbit (http://hunch.net/~vw/)와 같은 특정 도구가 있습니다.


좋아 ... 나는 그것을 몰랐다!
chl

7

있다 RHIPE의 패키지 (R-하둡 통합). R에서 대량의 데이터를 분석하기가 매우 쉽습니다 (예외 포함).


당신은 그것으로 성공 했습니까? 그렇다면 어떤 종류의 신청에 대한 것입니까?
chl

네, RHIPE는 훌륭합니다. 내 친구 중 일부는 인터넷 트래픽 데이터를 분석하는 데 사용합니다. 그들의 목표 중 하나는 침입 시도를 모델링하는 것입니다. 이러한 경우 데이터가 크므로 페타 바이트가 일반적입니다!
suncoolsu

4

어떤 종류의 모델을 염두에 두지 않고 좋은 대답을하기는 어렵습니다.

선형 회귀 분석을 위해 R 에서 biglm 패키지를 성공적으로 사용 했습니다.


4

대규모 데이터 세트에서 예측 모델을 구축하고 있으므로 Google의 BigQuery (Dremel을 사용한 대규모 데이터 세트 분석에 대한 Google 연구 논문의 호스팅 된 버전) 이점을 활용할 수 있습니다 . 예를 들어, 쿼리 결과를 수집을 위해 예측 분류기로 CSV로 내보낼 수 있습니다.

BigQuery에는 쿼리를 실행하고 결과를 내보낼 수있는 WebUI가 있습니다. BigQuery의 베타 (v1) 버전에는 R 클라이언트가 있으며 프로덕션 버전 (v2)에는 결국 R 클라이언트도 있습니다.


3

32GB 램과 4 개의 코어가있는 EC2 인스턴스에서 64 비트 R을 사용하여 3.5M 관측 및 44 개의 기능을 교육했습니다. 우리는 임의의 숲을 사용했고 잘 작동했습니다. 훈련 전에 데이터를 사전 처리 / 조작해야했습니다.


3

SAS Enterprise Miner 버전 6.2에는 2 천만 개의 관측치 및 사용자의 상황에 맞게 조정할 수있는 다양한 모델을 처리하는 데 아무런 문제가 없습니다. 그러나 SAS의 문제는 대개 비용입니다. 다음은 SAS EM이 수행 할 수있는 작업에 대한 요약입니다. SAS EM 6.2 : 새로운 기능



0

RHIPE 는 훌륭한 솔루션이며,이 문제가 발생하면 아마도이 솔루션을 선택할 것입니다! 하지만 NCSS를 고려 했습니까? 내가 아는 한, 최신 버전 10은 이러한 모델을 만들 수 있습니다. 전체 버전. 매우 비싸지 만 여러 원격 데스크톱 서비스 에서는 약간의 수수료만으로 앱을 실행할 수 있지만 몰라요 .. 오히려 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.