รีวิวหนังสือ Exploring Data with RapidMiner

1622676_709294145770648_918096573_n

ผมได้รับหนังสือเล่มนี้ (แบบ ebook) จากสำนักพิมพ์ PACKT Publishing มาเพื่อให้รีวิวสักพักแล้วครับ และมีข้อตกลงว่าผมจะต้องเขียนรีวิวเกี่ยวกับหนีงสือเล่มนี้ในหน้าเว็บของ Data Cube ครับ ตอนแรกที่ได้รับมาก็เข้าใจว่าคงเป็นเหมือนหนังสือ data miningเล่มอื่นๆ ที่อธิบายเกี่ยวกับการใช้งานเทคนิคต่างๆ แต่ผมเข้าใจผิดครับ เมื่ออ่านดูแล้วพบว่าหนังสือเล่มนี้เน้นไปที่ส่วนของการเตรียมข้อมูล (pre-process) เป็นหลักใช้ซอฟต์แวร์ที่ชื่อว่า RapidMiner Studio 6 ครับ การเตรียมข้อมูลเป็นขั้นตอนแรกๆ ที่เราควรจะทำก่อนวิเคราะห์ข้อมูลครับ เพราะถ้าข้อมูลของเราไม่ถูกต้อง เช่น มีข้อมูลผิดเพี้ยนจากความเป็นจริง โมเดลที่เราสร้างขึ้นมาเพื่อทำนายก็จะไม่น่าเชื่อถือครับ

แต่ก่อนจะไปดูว่าหนังสือเล่มนี้มีอะไรบ้างผมขอแนะนำให้รู้จักกับซอฟต์แวร์ RapidMiner Studio 6 ก่อนครับ ซอฟต์แวร์ตัวนี้เป็นซอฟต์แวร์ที่ใช้งานแพร่หลายในการวิเคราะห์ข้อมูลด้วยเทคนิค data mining (คล้ายๆ กับซอฟต์แวร์ Weka) และในหลายๆ ปีที่ผ่านมา RapidMinerได้รับการโหวตให้เป็นโปรแกรมอันดับหนึ่งในการวิเคราะห์ข้อมูลจากเว็บไซต์ kdnuggets.com ซึ่งเวอร์ชัน 6 นี้เป็นเวอร์ชันล่าสุดที่เพิ่งปล่อยออกมาให้ดาวน์โหลดกันครับ ท่านที่สนใจซอฟต์แวร์ตัวนี้โหลดได้ฟรีที่ http://rapidminer.com/ นะครับ นอกจากนั้นข้อดีของซอฟต์แวร์นี้คือสามารถสร้าง workflow เพื่อวิเคราะห์ข้อมูลที่ซับซ้อนได้โดยที่เราไม่ต้องเขียนโปรแกรม หรือ code สักบรรทัดเลยครับ มันเหมาะมากสำหรับคนที่ไม่ชอบเขียนโปรแกรมแต่อยากวิเคราะห์ข้อมูลที่สลับซับซ้อนครับ

ย้อนกลับมาที่หนังสือเล่มนี้บ้าง คนแต่งถือว่าสุดยอดครับได้รับ certificate ด้านการใช้งาน RapidMiner ในระดับ Expert เลยทีเดียว เนื้อหาในเล่มจะแบ่งเป็น 11 บทครับ แต่ที่เกี่ยวกับการทำเตรียมข้อมูลจริงมีประมาณ 8 บทครับ ผมขอยกตัวอย่างบทที่สำคัญๆ มาอธิบายดังนี้ครับ

  • การนำข้อมูลเข้าไปใช้งาน (Loading Data) ในบทนี้จะแนะนำการนำข้อมูลเข้าไปใช้ในซอฟต์แวร์ RapidMiner Studio ครับ ซึ่งข้อดีของซอฟต์แวร์นี้คือรองรับไฟล์หลากหลายประเภท เช่น Excel หรือฐานข้อมูลต่างๆ ครับ
  • การแสดงข้อมูลในรูปแบบของกราฟต่างๆ (Visualizing Data) จะช่วยให้เราสามารถเห็นภาพของข้อมูลได้ง่ายขึ้นครับ ในหนังสือเล่มนี้ได้อธิบายถึงประสิทธิภาพของ RapidMiner Studio ที่ใช้แสดงกราฟได้หลายๆ แบบ เช่น scatter plot แบบ 2 มิติ และ 3 มิติ หรือการแสดงข้อมูลที่มีลักษณะเป็น time series
  • การค้นหา outlier ซึ่งมักจะมีแทรกอยู่ในข้อมูลของเราอยู่แล้วครับ ข้อมูลที่เป็น outlier แบบนี้พูดง่ายๆ คือข้อมูลที่ผิดเพี้ยนไปจากข้อมูลส่วนใหญ่หรืออาจจะเรียกว่าเป็นข้อมูลที่สุดโต่งก็ได้ครับ ถ้ามีข้อมูลแบบนี้อยู่จะทำให้โมเดลของเรามีประสิทธิภาพลดลงครับ หนังสือเล่มนี้ได้อธิบายการค้นหา outlier แบบต่างๆ เช่น การค้นหาด้วยระยะทาง (distance) หรือความหนาแน่นของข้อมูล (density) ครับ
  • การค้นหาและแทนที่ข้อมูลที่ขาดหายไป (missing value) ในบางครั้งเราจะพบว่าข้อมูลบางส่วนไม่มีครับ เนื่องจากความผิดพลาดในการกรอกข้อมูลหรือการจงใจที่จะไม่กรอกข้อมูลครับ ในเล่มนี้จะแสดงขั้นตอนการแทนที่ข้อมูลที่ขาดหายไปด้วยค่าที่เราเป็นกำหนดเองหรือค่าทางสถิติต่างๆ ครับ
  • การแปลงข้อมูลให้เป็นรูปแบบที่เหมาะสมกับการใช้งานครับ (Transforming Data) ตัวอย่างเช่น ถ้าเราจะทำการหากฏความสัมพันธ์ (association rules) ข้อมูลของเราจะต้องอยู่ในรูปแบบของ transaction database หรือบางครั้งเรียกว่า pivot table เสียก่อน ซึ่งเวลาเก็บข้อมูลลงในฐานข้อมูลจริงๆ มันไม่ได้เป็นแบบ transaction database น่ะสิครับ หนังสือเล่มนี้สอนการสร้าง pivot table อย่างง่ายๆ ด้วย RapidMiner Studio ครับ

สรุปง่ายๆ ว่าหนังสือเล่มนี้แสดงให้เห็นประสิทธิภาพของซอฟต์แวร์ RapidMiner Studio ที่สามารถนำมาจัดการเตรียมข้อมูลให้ถูกต้องและเหมาะสมก่อนการนำไปวิเคราะห์ด้วยเทคนิค data mining ต่อไปครับ สำหรับคนที่อยากอ่านหนังสือเล่มนี้ ผมพบว่ามีให้โหลด free chapter ครับที่http://www.packtpub.com/sites/default/files/9781782169338_Chapter_09.pdf ส่วนใครสนใจสั่งซื้อได้ที่http://www.packtpub.com/exploring-data-with-rapidminer/book ตอนนี้ถ้าเป็นแบบ ebook ราคาเหลือเพียงแค่ 20.39$ เท่านั้นครับ

ซอฟต์แวร์ในการทำ Data Mining

ในปัจจุบันการวิเคราะห์ข้อมูลด้วย data mining ไม่ได้อยากเหมือนแต่ก่อนแล้วครับ เพราะมีซอฟต์แวร์ฟรีหลายๆ ตัวที่ดาวน์โหลดมาใช้งานได้ทันที วันนี้ขอแนะนำ 3 โปรแกรมครับ คือ

images-71. Weka 

  • เป็นซอฟต์แวร์ที่นิยมใช้มากที่สุดในการทำ data mining 
  • ใช้งานง่ายเหมาะสำหรับผู้เริ่มต้นที่สนใจการวิเคราะห์ข้อมูล
  • ดาวน์โหลดซอฟต์แวร์ได้จาก http://www.cs.waikato.ac.nz/ml/weka/downloading.html

 

1461827_665498610168724_1864900532_a2. RapidMiner 

  • รองรับทำงานการวิเคราะห์ข้อมูลที่ซ้ำซ้อนได้ดี
  • การแสดงผลทำได้หลากหลายรูปแบบ
  • ดาวน์โหลดได้จาก http://rapid-i.com/content/view/26/201/

 

image-23. R

  • ใช้การเขียนโปรแกรมเป็นหลัก ลักษณะคล้ายๆ Matlab แต่เป็นของฟรี
  • มีเทคนิคการวิเคราะห์ข้อมูลที่หลากหลายและสามารถดาวน์โหลดเพิ่มเติมได้
  • ดาวน์โหลดได้จาก http://mirrors.psu.ac.th/pub/cran/

ซอฟต์แวร์ทั้ง 3 มีลักษณะการใช้งานที่ต่างกัน สุดท้ายก็ต้องเลือกแล้วล่ะครับว่าชอบโปรแกรมไหนมากกว่ากัน