การใช้งาน Workflow จาก myExperiment

ข้อดีอย่างหนึ่งของ RapidMiner Studio คือการสร้าง process ในการทำงานที่ยืดหยุ่นและแก้ไขได้ในภายหลัง หรือส่งไปให้กับเพื่อนร่วมงานเพื่อประหยัดเวลาในการพัฒนา หลายท่านอาจจะรู้จักกับเว็บไซต์ myExperiment ที่ได้ทำการรวบรวม process ต่างๆ ไว้รวมทั้ง process ของ RapidMiner Studio เองด้วย แต่ทว่าการดาวน์โหลดไฟล์จากเว็บไซต์มาใช้ก็ไม่สามารถเปิดได้โดยตรงครับ ต้องมีการติดตั้ง Extension ของ RapidMiner Studio ก่อนโดยมีขั้นตอนดังนี้ครับ (ในตัวอย่างนี้ใชเ

1. เปิดซอฟต์แวร์ RapidMiner Studio 6 และไปที่เมนู Help > Marketplace (Updates and Extensions…) จะปรากฏหน้าต่างดังรูปที่ 1 และในช่องค้นหาให้ใส่คำว่า myExperiment ซอฟต์แวร์จะแสดง Community Extension ขึ้นมา

Screen Shot 2558-07-21 at 1.41.39 PM

 

รูปที่ 1 แสดงหน้าต่าง RapidMiner Marketplace

2. double click ที่หัวข้อ Community Extension 6.4.0 จะเห็นว่าปุ่ม Select for installation จะถูกเลือก คลิกที่ปุ่ม Install 1 packages เพื่อเข้าสู่ขั้นตอนถัดไป

3. หน้าต่างเกี่ยวกับ Confirm Licenses จะปรากฏขึ้นมาดังในรูปที่ 2 คลิกที่เมนู I accept the terms of all license agreements และคลิกที่ปุ่ม Install 1 Packages

Screen Shot 2558-07-21 at 1.41.56 PM

รูปที่ 2 แสดงหน้าต่าง Confirm Licenses

4. หลังจากนั้นซอฟต์แวร์จะทำการดาวน์โหลด Extension เพิ่มเติมมาติดตั้งให้ดังในรูปที่ 3 ครับ

Screen Shot 2558-07-21 at 1.41.59 PM

 

รูปที่ 3 แสดงหน้าต่าง Progress

5. หลังจากติดตั้งเรียบร้อยแล้ว ซอฟต์แวร์จะให้ restart RapidMiner Studio 6 เพื่อให้ Community Extension ทำงาน ดังแสดงในรูปที่ 4

Screen Shot 2558-07-21 at 1.42.04 PM

รูปที่ 4 แสดงการติดตั้งเรียบร้อยแล้วจำเป็นจะต้อง restart RapidMiner Studio เพื่อให้ Extension ตัวใหม่ทำงาน

6. เมื่อซอฟต์แวร์ได้เปิดขึ้นมาจะมี icon ของ Community Extension แสดงอยู่ด้านบนขวาดังในรูปที่ 5

Screen Shot 2558-07-21 at 2.04.03 PM

รูปที่ 5 เปิดใช้งาน RapidMiner Studio 6 จะเห็นว่ามี icon ของ Community Extension ปรากฏอยู่ด้านขวาบน

7. หลังจากนั้นเราจะต้องเปิดหน้าต่างของ myExperiment ขึ้นมาก่อนครับ ถึงจะเลือกและค้นหา process ต่างๆ ได้ โดยการเลือกเมนู View > Show View > MyExperiment Browser หน้าต่างของ MyExperiment Browser จะแสดงขึ้นมาด้านซ้ายล่างดังรูปที่ 6

Screen Shot 2558-07-21 at 2.08.01 PM

รูปที่ 6 หน้าต่าง MyExperiment Browser จะปรากฏขึ้นมาด้านซ้ายล่าง

8. ในส่วนของ MyExperiment Browser คลิกที่ไอคอน Untitled เพื่อขยายหน้าต่างนี้ออกมาให้เต็มหน้าจอ ดังแสดงในรูปที่ 7

Screen Shot 2558-07-21 at 1.43.19 PM

รูปที่ 7 แสดงหน้าต่าง MyExperiment Browser แบบขยายเต็มหน้าจอ

9. จากรูปที่ 7 สามารถเลือก process ที่มีอยู่ใน list หรือค้นหาจากช่อง Search ได้ ในตัวอย่างนี้ผมเลือก process ที่ชื่อว่า Looping over Examples for doing de-aggregation และคลิกที่ปุ่ม Untitled2 เพื่อดาวน์โหลด process จากอินเตอร์เน็ตครับ ซึ่งจะแสดงในส่วน Process ของ RapidMiner Studio 6 ดังแสดงในรูปที่ 8 และสามารถกดปุ่ม Untitled3 เพื่อให้ process ทำงานได้ครับ

Screen Shot 2558-07-21 at 1.43.36 PM

รูปที่ 8 แสดง process ที่ดาวน์โหลดมาจากเว็บไซต์ myExperiment

หมายเหตุ ท่านใดสนใจดูรายละเอียดการใช้งานซอฟต์แวร์ RapidMiner Studio 6 ดูได้จาก คู่มือการใช้งาน RapidMiner Studio 6 ครับ

การใช้งาน R ใน RapidMiner Studio 6.4

ก่อนหน้านี้ผมได้แสดงวิธีการติดตั้ง R เพื่อใช้งานใน RapidMiner Studio เวอร์ชันที่ต่ำกว่า 6.4 ไปแล้วตาม link นี้ครับ ซึ่งค่อนข้างซับซ้อนพอควรครับ เมื่อไม่นานมานี้ (04/05/2015) RapidMiner ได้ออกเวอร์ชันใหม่คือ 6.4 ซึ่งมี feature เพิ่มในการเพิ่ม Note ใน  Process ได้และมี extension ที่ทำให้ RapidMiner Studio 6 สามารถใช้งาน R และ Python script ได้ง่ายขึ้น ใน post นี้ผมจะแสดงวิธีการติดตั้ง R Extension และการตั้งค่าต่างๆ เพื่อให้ใช้งาน R ใน RapidMiner Studio 6.4 ได้ครับ ขั้นตอนต่างๆ มีดังนี้

1. Update RapidMiner Studio 6 ให้เป็นเวอร์ชัน 6.4 ก่อนครับ โดยการคลิกที่เมนู​ Help > Marketplace (Update and Extensions…) จะปรากฏหน้าต่างดังในรูป

Capture1

  • ในช่อง Search พิมพ์คำว่า R และกดปุ่ม Search
  • เลือก Extension ที่ชื่อว่า R Scripting 6.4.0
  • คลิกที่ปุ่ม Select for Installation
  • คลิกที่ปุ่ม Install 1 packages

2. หลังจากนั้นหน้าต่าง Confirm Licenses จะแสดงขึ้นมาในรูป

Capture2

  • คลิกที่เมนู I accept the terms of all license agreements เพื่อ accept license agreement
  • คลิกที่ปุ่ม Install 1 packages

3. ซอฟต์แวร์จะดาวน์โหลด Extension มาจากอินเตอร์เน็ตและเมื่อดาวน์โหลดเสร็จเรียบร้อยแล้วจะปรากฏหน้าต่างดังในรูปเพื่อให้ทำการ restart RapidMiner Studio 6.4 อีกครั้ง ให้ทำการคลิกที่ปุ่ม Yes

Capture3

4. RapidMiner Studio 6.4 จะ restart ขึ้นมาใหม่และจะมี icon ของ R Scripting แสดงขึ้นมาด้านขวาบนดังในรูป

Capture4

Continue reading

เอกสารประกอบการบรรยายเรื่อง Attribute (Feature) Selection ด้วย RapidMiner Studio 6

ดาต้า คิวบ์ได้จัดอบรมหลักสูตร Practical Data Mining with RapidMiner Studio 6 เป็นเวลาเกือบจะครบ 1 ปีในช่วงเดือนพฤษภาคม 2558 นี้แล้วครับ ในช่วง 1 ปีที่ผ่านมาผมโชคดีได้รับโอกาสมากมาย หนึ่งในนั้นคือการได้รับโอกาสให้ไปสอนวิชา Data Mining ให้กับนักศึกษาปริญญาโทที่มหาวิทยาลัยต่างๆ ทำให้มีเนื้อหาเพิ่มขึ้นจากการอบรมที่ใช้เวลา 3 วันพอสมควร วันนี้ผมขออนุญาตแชร์เอกสารประกอบการบรรยายเรื่อง Attribute (Feature) Selection โดยจะอธิบาย concept และการใช้งานในซอฟต์แวร์ RapidMiner Studio 6 ท่านใดสนใจดูได้จาก slide ด้านล่างได้เลยครับ

นอกจากน้ีท่านใดสนใจ Data Mining และการใช้งานซอฟต์แวร์ RapidMiner Studio 6 ดาต้า คิวบ์กำลังเปิดรับสมัครรุ่นที่ 11 ท่านใดสนใจอ่านรายละเอียดเพิ่มเติมได้ที่นี่ครับ

การติดตั้ง R Extension สำหรับ RapidMiner Studio 6 (บน Windows)

วันนี้ผมจะแนะนำวิธีการติดตั้ง Extension ของ RapidMiner Studio 6 ตัวหนึ่งที่ได้รับความนิยมเป็นอย่างมาก นั่นคือ R Extension แต่การติดตั้ง Extension ตัวนี้ค่อนข้างลำบากกว่าตัวอื่นๆ ของ RapidMiner Studio 6 (เช่น Text Mining Extension หรือ Image Mining Extension) ก่อนอื่นเรามารู้จักโปรแกรม R กันก่อนดีกว่าครับ ว่ามีหน้าตาเป็นแบบไหนและมีข้อดีข้อเสียยังไงบ้าง

โปรแกรม R สามารถดาวน์โหลดได้จาก http://www.r-project.org  หรือ http://mirrors.psu.ac.th/pub/cran/ และเลือกติดตั้งตามระบบปฏิบัติการ (OS) ของเราเอง โดยในบทความนี้ขอใช้ตัวอย่างเป็นระบบปฏิบัติการ Windows หลังจากติดตั้งเรียบร้อยแล้ว สามารถเรียกรันโปรแกรม R ได้และจะพบกับหน้าจอของโปรแกรม R เป็นดังรูปที่ 1

R software

รูปที่ 1 แสดงหน้าจอของโปรแกรม R

โปรแกรม R จะใช้การพิมพ์คำสั่งเพื่อเรียกทำงานคล้ายๆ กับโปรแกรม MATLAB หรือจะเรียกได้ว่า R ก็คือ MATLAB ที่เป็นแบบฟรีก็ได้ (คล้ายๆ กับ octave)

ดังนั้นโปรแกรม R นี้จึงเหมาะสำหรับคนที่ชอบในการเขียนโปรแกรมมากกว่าการใช้งานผ่านทาง GUI (แม้ว่า R จะมี GUI อย่าง Rattle แต่ก็สู้กระทั่งซอฟต์แวร์ Weka ไม่ได้เลยทีเดียว) ซึ่งการทำงานของโปรแกรมนี้ก็จะมองทุกอย่างเป็นลักษณะของ Matrix ตัวอย่างเช่นการอ่านไฟล์ต้องใช้คำสั่ง  x = read.csv(“C:\data\weather.csv”) หลังจากนั้นข้อมูลจะโหลดเข้ามาอยู่ใน Matrix ที่มีตัวแปรชื่อว่า x แต่ข้อดีของโปรแกรม R ก็คือมีผู้พัฒนา package ต่างๆ จากทั่วโลกและสามารถนำมาติดตั้งเพิ่มเติมได้ไม่ยาก

เพื่อให้การทำงานของ R ได้ง่ายขึ้นและเพิ่มประสิทธิภาพให้กับ RapidMiner Studio 6 จึงมีผู้พัฒนาส่วนเชื่อมต่อหรือ Extension ระหว่าง R และ RapdiMiner Studio 6 ขึ้นมา แต่ก่อนจะใช้งาน Extension นี้ได้จำเป็นจะต้องทำการ setup ค่าต่างๆ โดยแบ่งเป็น 3 ส่วนใหญ่ๆ คือ

  • การติดตั้ง package ในโปรแกรม R
  • การกำหนดตัวแปร environment variable ใน Windows
  • การเพิ่ม R extension ใน RapidMiner Studio 6

เรามาดูการตั้งค่าในแต่ละส่วนกันดีกว่าครับ

การติดตั้ง package ในโปรแกรม R

1. ติดตั้ง package ที่ชื่อว่า “rJava” ในโปรแกรม R เสียก่อนเพื่อให้ RapidMiner Studio 6 สามารถเชื่อมต่อกับ R ได้ โดยการพิมพ์คำสั่ง install.packages(“rJava”) ดังแสดงในรูปที่ 2

install rJava

รูปที่ 2 แสดงการติดตั้ง package “rJava”

2. หลังจากนั้นโปรแกรม R จะแสดงหน้าต่างขึ้นมาเพื่อให้เลือกว่าจะโหลดจากประเทศไหน ตอนนี้ผมเลือกประเทศไทย (Thailand) ครับ ดังรูปที่ 3

Capture2

รูปที่ 3 แสดงเว็บไซต์ในประเทศต่างๆ ที่เป็น mirror

3. หลังจากนั้นโปรแกรม R จะทำการติดตั้ง package rJava และเมื่อทำการติดตั้งเสร็จสิ้นจะเป็นดังในรูปที่ 4

Capture3

รูปที่ 4 แสดงการติดตั้ง package rJava ที่เสร็จเรียบร้อยแล้ว

4. ขั้นถัดมาเราจะต้องมาดูว่า package ของ R ที่เราติดตั้งเก็บไว้ที่ folder ไหน โดยใช้คำสั่ง  .libPaths() หลังจากนั้นชื่อของ folder ที่เก็บ package ต่างๆ จะปรากฏขึ้นมาดังในรูปที่ 5 โดยในบทความนี้ผมใช้โปรแกรม R เวอร์ชัน 3.1.1 ดังนั้นของท่านผู้อ่านอาจจะเป็น “C:/Program Files/R/R-x.x.x/library” ซึ่ง R-x.x.x คือ R เวอร์ชันที่ท่านผู้อ่านติดตั้งไว้ครับ

Capture4รูปที่ 5 แสดงชื่อ folder ที่จัดเก็บ package ต่างๆ ของโปรแกรม R ไว้

การกำหนดตัวแปร environment variable ใน Windows

1. หลังจากติดตั้ง package ในโปรแกรม R เรียบร้อยแล้ว ขั้นตอนถัดมาต้องกำหนดตัวแปรให้กับ Windows โดยเริ่มจากการคลิกขวาที่ Computer และเลือกเมนู Properties ดังในรูปที่ 6

Capture5

รูปที่ 6 คลิกขวาที่ Computer > Properties

2. หลังจากนั้นคลิกที่เมนู Advanced system settings ดังแสดงในรูปที่ 7

Capture6รูปที่ 7 เลือกเมนู Advanced system settings

3. ถัดจากนั้นเลือกเมนู Environment Variables… ดังแสดงในรูปที่ 8

Capture7

รูปที่ 8 คลิกที่ปุ่ม Environment Variables…

4. ขั้นตอนถัดมาให้เพิ่มตัวแปรต่างโดยการกดปุ่ม New ดังในรูปที่ 9

Capture8

รูปที่ 9 แสดงหน้าต่าง Environment variable และสามารถเพิ่มตัวแปรได้โดยการกดที่ปุ่ม New

5. เพิ่มตัวแปร R_HOME ใน Variable name: และโฟลเดอร์ของ R ใน Variable value: (โดยในบทความนี้ผมใช้โปรแกรม R เวอร์ชัน 3.1.1 ดังนั้นของท่านผู้อ่านอาจจะเป็น “C:\Program Files\R\R-x.x.x” ซึ่ง R-x.x.x คือ R เวอร์ชันที่ท่านผู้อ่านติดตั้งไว้ครับ)

Capture9
รูปที่ 10 แสดงหน้าจอกำหนดตัวแปร R_HOME

6. เพิ่ม folder ของโปรแกรม R เข้าไปต่อท้ายตัวแปร Path เช่น ;C:\Program Files\R\R-3.1.1\bin\x64 สำหรับโปรแกรม R เวอร์ชัน 3.1.1. แบบ 64 bit (ของท่านผู้อ่านอาจจะเป็น ;C:\Program Files\R\R-x.x.x\bin\x64 ซึ่ง R-x.x.x คือ R เวอร์ชันที่ท่านผู้อ่านติดตั้งไว้ครับ)

Capture10

รูปที่ 11 แสดงหน้าจอเพิ่มตัวแปร Path

7.  เพิ่มตัวแปร JAVA_HOME ใน Variable name: และโฟลเดอร์ของ Java ใน Variable value:

Capture11

รูปที่ 12 แสดงหน้าจอกำหนดตัวแปร JAVA_HOME

การเพิ่ม R extension ใน RapidMiner Studio 6

1. เปิดโปรแกรม RapidMiner Studio 6 และเลือกเมนู Help > Updates and Extensions (Marketplace)..

Capture12

รูปที่ 13 เลือกเมนูเพื่อทำการติดตั้ง Extension เพิ่มเติม

2. หลังจากนั้นจะเข้าสู่หน้าจอ RapidMiner Marketplace 

  • คลิกเลือกที่แทบ Top Downloads แล้วเลือก R Extension 5.3.0 
  • คลิกที่เมนู Select for Installation เพื่อเลือก Extension ตัวนี้
  • คลิกที่ปุ่ม Install 1 packages

Capture13

รูปที่ 14 หน้าจอสำหรับเลือก Extension ต่างๆ ของ RapidMiner Studio 6

3.  ถัดมาจะแสดง License ของ R Extensions

  • คลิกที่ I accept the terms of all license agreements
  • กดที่ปุ่ม Install 1 packages

Capture14

รูปที่ 15 แสดงหน้าจอ License ของ R Extension

4.  หลังจากนั้น RapidMiner Studio 6 จะทำการดาวน์โหลด R Extension และทำการติดตั้งCapture15

รูปที่ 16 แสดงหน้าจอการดาวน์โหลดและติดตั้ง R Extension

5. หลังจากทำการติดตั้ง R Extension แล้ว RapidMiner Studio 6 จำเป็นจะต้อง restart โปรแกรมอีกครั้งหนึ่ง ในขั้นตอนนี้ให้คลิกที่ปุ่ม Yes

Capture16

รูปที่ 17 แสดงหน้าจอแจ้งว่าจะต้องทำการ restart โปรแกรม

6. เมื่อโปรแกรม RapidMiner Studio 6 เริ่มทำงานอีกครั้งเราจะเห็นไอคอนของ R Extension แสดงในด้านขวาบนดังในรูปที่ 18

 Capture17

รูปที่ 18 หน้าจอเริ่มต้นการทำงานของโปรแกรม RapidMiner Studio 6

7. ขั้นตอนสุดท้ายของการติดตั้ง R Extensions คือ การระบุไฟล์ JRI โดยการเลือกไปยัง folder ที่เก็บไฟล์ jri.dll ไว้ เช่น C:\Program Files\R\R-3.1.1\library\rJava\jri\x64\jri.dll เป็นต้น หลังจากนั้นต้องทำการ restart โปรแกรม R Extension อีกครั้งครับ

8. เมื่อเราเข้าไปใช้งาน RapidMiner Studio 6 จะเห็นว่าด้านขวาบนมีหน้าต่าง R Perspective เพิ่มขึ้นมาดังในรูปที่ 19 และเมื่อคลิกที่ R Perspective จะแสดงดังในรูปที่ 20 ซึ่งสามารถใส่คำสั่งของ R ลงไปได้ครับ เช่น ls() เป็นการแสดง object ที่อยู่ใน R ครับ

Capture18

รูปที่ 19 แสดงหน้าจอ  Home Screen จะเห็นว่ามีเมนูสำหรับเปิดใช้งาน R ในด้านขวาบน

Capture19

รูปที่ 20 แสดงหน้าจอ R Perspective และการใช้คำสั่ง ls()

9. เรามาลองใช้โอเปอเรเตอร์ของ R ใน RapidMiner Studio 6 กันดูครับ ผมเลือกโอเปอเรเตอร์ Generate Vector เพื่อทำการสร้างข้อมูลดังในรูปที่ 21 และผลการทำงานดังในรูปที่ 22Capture20

รูปที่ 21 แสดงการใช้งานโอเปอเรเตอร์ Generate Vector

Capture21

รูปที่ 22 แสดงผลลัพธ์การทำงานของโอเปอเรเตอร์ Generate Vector

ผู้อ่านท่านใดสนใจดูตัวอย่างการใช้งาน R ใน RapidMiner Studio 6 สามารถดูได้จาก vdo นี้ครับ

ภาพบรรยากาศการอบรมเชิงปฏิบัติการ Practical Data Mining with RapidMiner Studio 6 รุ่นที่ 2

ผ่านไปแล้วสำหรับการอบรม Practical Data Mining with RapidMiner Studio 6 รุ่นที่ 2 ซึ่งมีผู้ให้ความสนใจเข้าร่วมอบรมกับทางเราอย่างล้นหลามมากถึง 68 ท่าน และถือว่าเป็นรอบที่มีผู้เข้าร่วมอบรมมากที่สุดเท่าที่เราเคยจัดมา ทางเราขอขอบพระคุณทุกท่านที่ได้สละเวลามาเข้าร่วมอบรมในครั้งนี้ และหวังเป็นอย่างยื่งว่าท่านจะชอบซอฟต์แวร์ RapidMiner Studio 6 มากขึ้น ^^


ขอบคุณภาพสวยๆ จากคุณวุฒิชัย (@WUTTO)
IMG_2318
IMG_1997 IMG_2021 IMG_2026 IMG_2063 IMG_2046 IMG_2038 IMG_2014 IMG_2000

 

ชมภาพบรรยากาศทั้งหมดได้ที่ Facebook ของ DataCube

RapidMiner ได้รับการโหวตว่าเป็นซอฟต์แวร์ที่มีผู้ใช้มากที่สุดจาก KDnuggets Poll

ทุกๆ ปีเว็บไซต์ KDnuggets ซึ่งเป็นเว็บยอดนิยมทางด้านการวิเคราะห์ข้อมูลด้วยเทคนิค Data Mining จะจัดทำแบบสำรวจ (Poll) การใช้งานซอฟต์แวร์ในการทำงานทางด้าน Data Mining และในปี 2014 นี้มีผู้ร่วมลงคะแนนกว่า 3,000 คนและผลการโหวตคือคนส่วนใหญ่ที่ลงคะแนนใช้ซอฟต์แวร์ RapidMiner คิดเป็นจำนวน 44.2% (ซึ่งครองแชมป์ต่อจากเมื่อปี 2013) และรองลงมาคือซอฟต์แวร์ R คิดเป็น 38.5% ส่วนซอฟต์แวร์อื่นๆ ใน 10 อันดับแรกมีดังนี้

  1. RapidMiner                        44.2%
  2. R                                             38.5%
  3. Excel                                     25.8%
  4. SQL                                        23.5%
  5. Python                                 19.5%
  6. Weka                                     17.0%
  7. KNIME                                   15.0%
  8. Hadoop                                12.7%
  9. SAS base                              10.9%
  10. Microsoft SQL Server      10.5%

รายละเอียดเพิ่มเติมติดตามได้จาก http://www.kdnuggets.com/2014/06/kdnuggets-annual-software-poll-rapidminer-continues-lead.html

ขั้นตอนการสร้างโมเดล Decision Tree

[บทความนี้เป็นเนื้อหาบางส่วนจากหนังสือ An Introduction to Data Mining Techniques (ฉบับภาษาไทย]
เทคนิค Decision Tree เป็นเทคนิคหนึ่งที่ได้รับความนิยมในการนำมาประยุกต์ใชัในงานด้าน data mining วันนี้ผมจะแนะนำการสร้างโมเดล decision tree แบบง่ายๆ ก่อนอื่นเราจะใช้ข้อมูลในตารางที่ 1 ซึ่งเป็นข้อมูลที่เก็บสภาพภูมิอากาศ 14 วันย้อนหลังเพื่อดูว่าจะมีการจัดแข่งขันกีฬาหรือไม่

ตารางที่ 1 แสดงข้อมูล weather

Nooutlooktemperaturehumiditywindyplay
1sunnyhothighFALSEno
2sunnyhothighTRUEno
3overcasthothighFALSEyes
4rainymildhighFALSEyes
5rainycoolnormalFALSEyes
6rainycoolnormalTRUEno
7overcastcoolnormalTRUEyes
8sunnymildhighFALSEno
9sunnymildnormalFALSEyes
10rainymildnormalFALSEyes
11sunnymildnormalTRUEyes
12overcastmildhighTRUEyes
13overcasthotnormalFALSEyes
14rainymildhighTRUEno

จากข้อมูลในตารางที่ 1 ประกอบด้วย 5 แอตทริบิวต์ คือ

  • outlook แสดงสภาพภูมิอากาศ ประกอบด้วย 3 ค่า คือ sunny, overcast, rainny
  • temperature แสดงอุณหภูมิ ประกอบด้วย 3 ค่า คือ hot, mild, cool
  • humidity แสดงค่าความชื้นในอากาศ ประกอบด้วย 2 ค่า คือ high, normal
  • windy แสดงว่าเป็นวันที่ลมแรงหรือไม่ ประกอบด้วย 2 ค่า คือ TRUE, FALSE
  • play แสดงการจัดแข่งขันกีฬา ซึ่งเป็นคลาส ประกอบด้วย 2 ค่า คือ yes, no

การสร้างโมเดล decision tree จะทำการคัดเลือกแอตทริบิวต์ที่มีความสัมพันธ์กับคลาสมากที่สุดขึ้นมาเป็นโหนดบนสุดของ tree (root node) หลังจากนั้นก็จะหาแอตทริบิวต์ถัดไปเรื่อยๆ ในการหาความสัมพันธ์ของแอตทริบิวต์นี้จะใช้ตัววัด ที่เรียกว่า Information Gain (IG) ค่านี้คำนวณได้จากสมการดังนี้

IG (parent, child) =  entropy(parent) – [p(c1) × entropy(c1) + p(c2) × entropy(c2) + …]

โดยที่ entropy(c1) = -p(c1) log p(c1) และ p(c1) คือ ค่าความน่าจะเป็นของ c1

ต่อไปเราจะลองคำนวณค่าแต่ละแอตทริบิวต์เทียบกับคลาสเพื่อหาแอตทริบิวต์ที่มีค่า IG มากที่สุดมาเป็น root ของ decision tree ดังนี้ครับ

1. คำนวณค่า IG ของแอตทริบิวต์ outlook เพื่อให้ดูง่ายขึ้นผมจะแสดงให้เป็นภาพดังในรูปที่ 1

Screen Shot 2557-03-17 at 7.10.21 AM

รูปที่ 1 แสดงค่าความน่าจะเป็นเมื่อใช้แอตทริบิวต์ outlook

จากรูปที่ 1 สามารถคำนวณค่า IG ได้ดังนี้
entropy (parent) = -p() × logp() – p() × logp()
= -[0.64 × log2(0.64) + 0.36 × log2(0.36)]
= -[0.64 × -0.64 + 0.36 × -1.47]
= 0.94
Continue reading

ตัวอย่างหนังสือ RapidMiner: Data Mining Use Cases and Business Analytics Applications

9781482205497ตัวอย่างบางบทจากในหนังสือ RapidMiner: Data Mining Use Cases and Business Analytics Applications ครับ เล่มนี้เป็นหนังสืออีกเล่มที่น่าสนใจสำหรับผู้สนใจอยากใช้ RapidMiner ดูรายละเอียดเพิ่มเติมได้ที่ หลักสูตรการวิเคราะห์ข้อมูลด้วยเทคนิค Data Mining โดยซอฟต์แวร์ RapidMiner Studio 6 (ขั้นพื้นฐานและปานกลาง) ครับ ^^

บทที่ 1 What This Book is About and What It is Not
บทที่ 2 Getting Used to RapidMiner
บทที่ 6 Naive Bayes Classificaton II
บทที่ 14 Robust Language Identification with RapidMiner: A Text Mining Use Case

การหา optimize parameter สำหรับ libsvm ด้วย RapidMiner Studio 6

ในปัจจุบันนี้เทคนิคการทำ classification ที่นิยมและให้ผลที่ดีก็คือ Support Vector Machine หรือ SVM แต่ไอเดียการทำงานของ SVM ค่อนข้างจะยุ่งยากในการจะนำมา implement เอง จึงได้มีอาจารย์จากมหาวิทยาลัยที่ประเทศไต้หวันได้พัฒนาโปรแกรมที่ชื่อว่า libsvm ขึ้นมาด้วยภาษา C/C++ และแจกจ่ายให้ผู้สนใจไปใช้งานได้ฟรี จนเป็นที่นิยมอย่างแพร่หลายในการทำงานวิจัย แต่การใช้ libsvm จำเป็นต้องทำการกำหนดค่า parameter ของ SVM ให้เหมาะสมถึงจะทำงานได้อย่างมีประสิทธิภาพ เพื่อให้การหา parameter นี้ได้ง่ายขึ้นในชุดของ libsvm จึงมีโปรแกรมที่ชื่อว่า grid.py ที่เป็นภาษา Python เตรียมไว้ให้ โปรแกรมนี้จะทำการเลือก parameter ที่เหมาะสมให้แต่ต้องรันบนระบบปฏิบัติการ Linux หรือต้องติดตั้งซอฟต์แวร์ cygwin สำหรับ Windows เสียก่อน ซึ่งก็ยุ่งยากพอควร

ในบทความนี้ผมจะแนะนำการหา parameter ที่เหมาะสมของ SVM โดยใช้ RapidMiner Studio 6 (ดังในรูปที่ 1)

optimize libsvm process

รูปที่ 1 process แสดงการหาพารามิเตอร์ที่เหมาะสมสำหรับ libsvm

ซึ่งข้อดีอย่างหนึ่งของ RapidMiner Studio 6 คือเราสามารถดาวน์โหลด process ที่เตรียมไว้ให้แล้วไปเปลี่ยนเฉพาะข้อมูลที่เราจะนำมาใช้ก็พอ ซึ่งผมจะแสดงตัวอย่างการใช้งาน process ดังกล่าวให้ดูในบทความนี้ครับ (ดาวน์โหลด process และข้อมูลไฟล์ Excel ได้จากที่นี่ครับ) สำหรับการใช้งาน RapidMiner Studio 6 เบื้องต้นติดตามได้ที่นี่
Continue reading

รีวิวหนังสือ 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$ เท่านั้นครับ