เครื่องมือซอฟต์แวร์สถิติและการขุดข้อมูลสำหรับการจัดการกับชุดข้อมูลขนาดใหญ่


27

ปัจจุบันฉันต้องวิเคราะห์ระเบียนประมาณ 20 ล้านรายการและสร้างแบบจำลองการทำนาย จนถึงตอนนี้ฉันได้ลอง Statistica, SPSS, RapidMiner และ R ในบรรดา Statistica เหล่านี้ดูเหมือนจะเหมาะสมที่สุดในการจัดการกับ data mining และส่วนต่อประสานผู้ใช้ RapidMiner นั้นมีประโยชน์มาก แต่ดูเหมือนว่า Statistica, RapidMiner และ SPSS นั้นเหมาะสำหรับชุดข้อมูลขนาดเล็ก .

ใครช่วยแนะนำเครื่องมือที่ดีสำหรับชุดข้อมูลขนาดใหญ่?

ขอบคุณ!


6
คุณช่วยอธิบายเพิ่มเติมหน่อยได้ไหม? คุณต้องการ data mining จริง ๆ และวางแผนจะทำอะไร? ฉันใช้ R เพื่อวิเคราะห์บันทึกขนาดใกล้เคียงกับของคุณและมันก็ไม่ได้เป็นประสบการณ์ที่ไม่ดีเลย
suncoolsu

คำถามนี้กำลังจะลงวันที่อย่างรวดเร็ว มันอาจเป็นการดีที่จะมีการปัดเศษ (wiki) ครึ่งปีสำหรับเครื่องมือล่าสุดดังกล่าว
Iterator

คำตอบ:


19

ฉันจะแสดงความคิดเห็น @suncoolsu ที่สอง: มิติข้อมูลของชุดข้อมูลของคุณไม่ใช่เกณฑ์เดียวที่ควรปรับทิศทางคุณไปยังซอฟต์แวร์เฉพาะ ตัวอย่างเช่นหากคุณวางแผนที่จะทำการจัดกลุ่มที่ไม่ได้รับอนุญาตหรือใช้ PCA มีเครื่องมือเฉพาะหลายอย่างที่รับมือกับชุดข้อมูลขนาดใหญ่ดังที่พบโดยทั่วไปในการศึกษาจีโนม

ตอนนี้ r (64 บิต) จัดการข้อมูลขนาดใหญ่สวยดีและคุณยังมีตัวเลือกในการจัดเก็บดิสก์ใช้แทนการเข้าถึง RAM, แต่เห็น CRAN งานดูประสิทธิภาพสูงและ Parallel Computing กับ R Standard 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 SNPsซึ่งแบบจำลองทางสถิติหลักคือ GLM แบบแบ่งชั้นที่มีโควาเรียหลายตัว (2 นาที) นั่นทำให้เป็นไปได้ รหัส C มีอยู่ในแพ็คเกจsnpMatrix (ในการเปรียบเทียบแบบเดียวกันใช้เวลาประมาณ 8 นาทีโดยใช้ซอฟต์แวร์ C ++ โดยเฉพาะ ( plink ) นอกจากนี้ฉันยังทำงานในการศึกษาทางคลินิก (ผู้ป่วย 12k x 50 ตัวแปรที่น่าสนใจ) และ R เหมาะกับความต้องการของฉัน ในที่สุดเท่าที่ฉันรู้แพคเกจlme4เป็นซอฟต์แวร์เดียวที่อนุญาตให้พอดีกับโมเดลเอฟเฟกต์ผสมกับชุดข้อมูลที่ไม่สมดุลและมีขนาดใหญ่

Stata / SE เป็นซอฟต์แวร์อื่นที่สามารถจัดการชุดข้อมูลขนาดใหญ่ SAS และ SPSS เป็นซอฟต์แวร์ที่ใช้ไฟล์ดังนั้นพวกเขาจะจัดการกับข้อมูลจำนวนมาก ตรวจสอบเปรียบเทียบของซอฟต์แวร์สำหรับ datamining มีอยู่ในเครื่องมือการทำเหมืองข้อมูล: เป็นที่หนึ่งที่ดีที่สุดสำหรับ CRM สำหรับการสร้างภาพข้อมูลนั้นมีตัวเลือกมากมาย; อาจเป็นการเริ่มต้นที่ดีคือกราฟิกของชุดข้อมูลขนาดใหญ่: แสดงภาพล้านรายการ ( ตรวจสอบใน JSS โดย P Murrell) และหัวข้อที่เกี่ยวข้องทั้งหมดในเว็บไซต์นี้


@chl: คุณยังพบวิธีการคำนวณแบบขนานที่มีประสิทธิภาพสำหรับ 64-bit R หรือไม่? เมื่อฉันดูล่าสุด (ปลายฤดูร้อนนี้) มีเพียงคนที่ไม่ใช่เชิงพาณิชย์เท่านั้นที่ทำงานใน 32-bit R.
whuber

1
@whuber Nope ฉันต้องเปลี่ยนเป็น 64 บิตในปีที่แล้วเพื่อจัดการชุดข้อมูลพันธุกรรมขนาดใหญ่ แต่โมเดลทางสถิติที่เราใช้ไม่ได้เรียกว่าการขนานกัน (เท่าที่ฉันรู้) ฉันคิดว่ามีการผูก OpenMP สำหรับ R แต่ไม่ได้ตรวจสอบสิ่งนี้เพิ่มเติม ฉันรู้ว่า Revolution Analytics ได้ใช้ความพยายามในแง่นี้ ( j.mp/d7dFb5 ) แต่ยังคงอยู่ใน 32 บิต (นี่อาจเป็นสิ่งที่คุณอ้างถึง) ฉันพบ R / parallel ( rparallel.org ) ในระหว่างนี้ แต่ฉันไม่รู้ว่าเชื่อถือได้ / เป็นผู้ใหญ่อย่างไร
chl

@chl ฉันลองทั้งหมด แต่ไม่สามารถทำงานได้
whuber

@Wuber: คุณอยู่ใน windows หรือกล่อง * nix (mac, linux, ... )
user603

2
ฉันอยากจะแนะนำให้คุณติดตั้ง ubuntu (google 'download ubuntu') และเรียกใช้แอพ windows-only ของคุณจากภายใน ubuntu ผ่าน virtualbox ( youtube.com/watch?v=KXgKnd-u2R4 ) บรรณาธิการ R และลาเท็กซ์ทำงานบนอูบุนตูอย่างมีเสน่ห์
user603

8

อัลกอริทึมส่วนใหญ่เกี่ยวกับApache Mahoutสเกลทางไกลเกินกว่า 20M ระเบียนแม้จะมีข้อมูลมิติสูง หากคุณต้องการสร้างแบบจำลองการทำนายมีเครื่องมือเฉพาะเช่น Vowpal Wabbit (http://hunch.net/~vw/) ที่สามารถปรับขนาดเป็นพันล้านรายการในเครื่องเดียวได้อย่างง่ายดาย


เยี่ยมมาก ... ฉันไม่รู้เลย!
chl

7

มีแพ็คเกจRHIPE (การรวม R-Hadoop) มันสามารถทำให้ง่ายมาก (มีข้อยกเว้น) เพื่อวิเคราะห์ข้อมูลจำนวนมากใน R


คุณประสบความสำเร็จหรือไม่ ถ้าใช่สำหรับแอปพลิเคชันประเภทใด
chl

ใช่ RHIPE ยอดเยี่ยม เพื่อนของฉันบางคนใช้เพื่อวิเคราะห์ข้อมูลการจราจรทางอินเทอร์เน็ต หนึ่งในเป้าหมายของพวกเขาคือการสร้างแบบจำลองความพยายามในการทำลาย ข้อมูลมีขนาดใหญ่มากในกรณีเช่นนี้เพตาไบต์เป็นเรื่องปกติ!
suncoolsu

4

เป็นการยากที่จะให้คำตอบที่ดีโดยไม่ทราบว่าคุณมีแบบจำลองประเภทใดในใจ

สำหรับการถดถอยเชิงเส้นฉันใช้แพ็คเกจbiglmใน R สำเร็จแล้ว


4

เนื่องจากคุณกำลังสร้างแบบจำลองการทำนายจากชุดข้อมูลขนาดใหญ่คุณอาจได้รับประโยชน์จากBigQuery ของ Google (เทคโนโลยีรุ่นที่โฮสต์จากรายงานการวิจัยของ Google เกี่ยวกับการวิเคราะห์ชุดข้อมูลขนาดใหญ่ด้วย Dremel) คุณสามารถส่งออกผลการสืบค้นเป็น CSV สำหรับการนำเข้าไปในลักษณนามที่คาดการณ์ได้ตัวอย่างเช่น

BigQuery มี WebUI ที่ให้คุณเรียกใช้คิวรีและส่งออกผลลัพธ์ รุ่นเบต้า (v1) ของ BigQuery มีคุณลักษณะเป็นไคลเอนต์ R และเวอร์ชันที่ใช้งานจริง (v2) ก็จะมีไคลเอ็นต์ R ด้วยเช่นกัน


3

เราฝึกอบรมการสังเกตการณ์ 3.5M และคุณลักษณะ 44 อย่างโดยใช้ 64-bit R บนอินสแตนซ์ EC2 พร้อม 32GB ram และ 4 คอร์ เราใช้ป่าสุ่มและมันใช้ได้ดี โปรดทราบว่าเราต้องประมวลผลล่วงหน้า / จัดการข้อมูลก่อนการฝึกอบรม


3

SAS Enterprise Miner เวอร์ชัน 6.2 จะไม่มีปัญหาในการจัดการกับการสังเกตการณ์ 20 ล้านครั้งและรุ่นที่หลากหลายซึ่งสามารถปรับให้เข้ากับสถานการณ์ของคุณ อย่างไรก็ตามปัญหาเกี่ยวกับ SAS มักเป็นค่าใช้จ่าย นี่เป็นบทสรุปของสิ่งที่ SAS EM สามารถทำได้: SAS EM 6.2: มีอะไรใหม่



0

RHIPEเป็นวิธีแก้ปัญหาที่ยอดเยี่ยมและฉันอาจจะเลือกอันนี้ถ้ามีปัญหานี้! แต่คุณคิดว่า NCSS หรือไม่? เท่าที่ฉันรู้รุ่นใหม่ล่าสุด 10 สามารถสร้างแบบจำลองเหล่านี้ เวอร์ชั่นเต็ม มีราคาแพงมาก แต่ในบริการเดสก์ท็อประยะไกลหลายแห่งคุณสามารถเรียกใช้แอปได้โดยเสียค่าธรรมเนียมเพียงเล็กน้อย แต่ฉันก็ไม่ได้ ..

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.