Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Advanced Predictive Modeling with R and RapidMiner Studio 7

11,917 views

Published on

This is an example slide for Advanced course. In this course, attendant will learn how to use R and RapidMiner Studio 7.

Published in: Data & Analytics

Advanced Predictive Modeling with R and RapidMiner Studio 7

  1. 1. Predictive Modelling with
 R & RapidMiner Studio 7 (data)3
 base|warehouse|mining http://www.dataminingtrend.com
 http://facebook.com/datacube.th Eakasit Pacharawongsakda, Ph.D. Certified RapidMiner Analyst Advanced
  2. 2. About us (data)3
 base|warehouse|mining http://www.dataminingtrend.com
 http://facebook.com/datacube.th Chapter 0
  3. 3. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th About us • ชื่อ: เอกสิทธิ์ พัชรวงศ์ศักดา • การศึกษา: • ปริญญาเอก วิทยาการคอมพิวเตอร์ สถาบันเทคโนโลยีนานาชาติสิรินธร (SIIT) มหาวิทยาลัยธรรมศาสตร์ • ปริญญาโท วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ • ปริญญาตรี วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ 
 (เกียรตินิยมอันดับ 2) • ประสบการณ์ • Certified RapidMiner Analyst • Research Collaboration with Western Digital (Thailand) เฟสที่ 1 ระยะเวลา 6 เดือน • ร่วมวิจัย โครงการสํารวจข้อมูลเพื่อการวิเคราะห์พฤติกรรมของนักท่องเที่ยวเชิงลึก ด้วยวิธีการทําเหมือง ข้อมูล การท่องเที่ยวแห่งประเทศไทย (ททท) • วิทยากรอบรมการใช้งานซอฟต์แวร์ open source ทางด้าน data mining 3
  4. 4. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th About us • หนังสือ Data Mining ฉบับภาษาไทย 4
  5. 5. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th About us 5 RapidMiner Analyst Certification This is to Certify that Successfully passed the examination for the Certified RapidMiner Analyst. The RapidMiner Analyst certification level is designed for individuals who wish to demonstrate a fundamental understanding of how RapidMiner software works and is used. Certified Analyst professionals will be able to prepare data and create predictive models in standard data environments typically found within most analyst positions. The candidate has proven the ability to:  Prepare data  Build predictive models  Evaluate the model’s quality  Score new data sets  Deploy data mining models With:  RapidMiner Studio  RapidMiner Server Eakasit Pacharawongsakda
  6. 6. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th in-house training
  7. 7. Introduction to R (data)3
 base|warehouse|mining Chapter 1 http://www.dataminingtrend.com
 http://facebook.com/datacube.th
  8. 8. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R • แนะนำ R และ RStudio • โครงสร้างข้อมูลพื้นฐานใน R • การอ่านไฟล์ข้อมูล • การเขียนโปรแกรมภาษา R เบื้องต้น • การเลือกเงื่อนไข (IF) • การวนรอบ (loop) • การเขียนฟังก์ชัน • การสร้างกราฟด้วย R เบื้องต้น • การสร้างโมเดล classification ด้วย R เบื้องต้น 8
  9. 9. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R • R คือ ซอฟต์แวร์ open source ที่ใช้ทางด้านการคำนวณเชิงสถิติ • ดาวน์โหลดได้จาก https://www.r-project.org • ติดตั้งได้ทั้ง Windows, OS X และ Linux 9
  10. 10. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R 10 source: https://www.youtube.com/watch?v=TR2bHSJ_eck
  11. 11. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R • จากผลการสำรวจของเว็บไซต์ kdnuggets.com พบว่าเป็นภาษาที่มีผู้ ใช้ในการวิเคราะห์ข้อมูลมากที่สุดในปี 2014 และ 2015 11 source: http://www.kdnuggets.com/polls/2015/r-vs-python.html
  12. 12. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R • R เป็นภาษาโปรแกรมอย่างหนึ่งที่ใช้งานง่ายกว่า C/C++ หรือ Java • พิมพ์คำสั่งผ่านทาง R Console 12
  13. 13. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to R • เพื่อให้การใช้งาน R ง่ายขึ้นมีคนพัฒนาซอฟต์แวร์ RStudio เพื่อเป็น
 editor ซึ่งสามารถสั่งให้ทำงานได้เลย • ดาวน์โหลด RStudio ได้จาก https://www.rstudio.com 13
  14. 14. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to RStudio 14 1 Console 2 Environment 3 R packages
  15. 15. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Introduction to RStudio • คำสั่ง ? ใช้เพื่อเรียกดู help ของ R 15 > ?read.csv เรียกดู help ของ R
  16. 16. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R Data Structures: Vectors • เวกตอร์ (Vector) • เก็บข้อมูลเรียงตามลำดับ และข้อมูลจะต้องเป็นประเภทเดียวกันทั้งหมด เช่น ตัวเลข หรือ ข้อความ 16 ID15101 ID15102 ID15103 ID15104 [1] [2] [3] [4] เวกเตอร์ customer_id > customer_id <- c("ID15101", "ID15102", "ID15103", "ID15104") การสร้าง Vector
  17. 17. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R Data Structures: Vectors • เวกตอร์ (Vector) • เก็บข้อมูลเรียงตามลำดับ และข้อมูลจะต้องเป็นประเภทเดียวกันทั้งหมด เช่น ตัวเลข หรือ ข้อความ 17 > customer_id[2] [1] "ID15102" > customer_id[3] [1] "ID15103" ดึงข้อมูลจาก Vector ID15101 ID15102 ID15103 ID15104 [1] [2] [3] [4] 1 2 เวกเตอร์ customer_id
  18. 18. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R Data Structures: List 18 > age <- c(48,40,51,23); > gender <- c("FEMALE","MALE","FEMALE","FEMALE"); > income <- c(17546.0,30085.1,16575.4,20375.4); > john_doe <- list(customer_id = customer_id[1], age = age[1], gender = gender[1], income = income[1]) การสร้าง List > john_doe$customer_id [1] "ID15101" การดึงข้อมูลจาก List
  19. 19. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R Data Structures: List 19 > john_doe$customer_id [1] "ID15101" > john_doe$age [1] 48 > john_doe$gender [1] "FEMALE" > john_doe$income [1] 17546 การดึงข้อมูลจาก List > john_doe $customer_id [1] "ID15101" $age [1] 48 $gender [1] "FEMALE" $income [1] 17546 การดึงข้อมูลจาก List
  20. 20. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Importing Data • คำสั่งสำหรับการอ่านข้อมูลประเภท CSV • ชื่อไฟล์ประเภท CSV • กำหนดให้แถวแรกเป็นชื่อแอตทริบิวต์ 20 > data <- read.csv("Rcustomers.csv",header=TRUE) การอ่านไฟล์ CSV 1 2 1 2
  21. 21. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Repetitive execution • ตัวอย่างคำสั่งในการวนรอบ (loop) 21 > fold <- seq(1:10) > for (i in 1:length(fold)) { cat(“Fold no. ”,i,”n”) } # Fold no. 1 # Fold no. 2 # Fold no. 3 # Fold no. 4 # Fold no. 5 # Fold no. 6 # … ตัวอย่างคำสั่ง FOR > fold <- seq(1:10) > for (i in fold) { cat(“Fold no. ”,i,”n”) } # Fold no. 1 # Fold no. 2 # Fold no. 3 # Fold no. 4 # Fold no. 5 # Fold no. 6 # … ตัวอย่างคำสั่ง FOR
  22. 22. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Repetitive execution • ตัวอย่างคำสั่งในการวนรอบ (loop) 22 > accuracy <- c(70.5, 93.0, 85.6) > best.accuracy <- 0 > for (i in accuracy) { if (i > best.accuracy) best.accuracy <- i } > best.accuracy # 93.0 ตัวอย่างคำสั่ง FOR
  23. 23. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Visualization with R: Bar & Line graph 23 > ggplot(data=dat, aes(x=model, y=accuracy, fill=model)) 
 + geom_bar(stat="identity") 
 + geom_text(aes(label = accuracy), size = 5, 
 hjust = 0.5, vjust = 2) + xlab("Classifiers") 
 + ylab("Accuracy") + ggtitle("Compare performance") สร้างกราฟแท่งแบบมีสี
  24. 24. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Visualization with R: Bar & Line graph • ข้อมูลมีมากกว่า 1 ชุด 24 > dat2 <- data.frame(dataset = 
 factor(c("fold1", "fold2", "fold3", "fold4", "fold5")), accuracyDT = c(70.5, 76.2, 77.0, 78.1, 74.5), accuracyKNN = c(93.0, 90.2, 91.0, 85.5, 86.6), accuracyNN = c(85.6, 80.1, 82.0, 81.0, 80.0)) > dat2 # dataset accuracyDT accuracyKNN accuracyNN # 1 fold1 70.5 93.0 85.6 # 2 fold2 76.2 90.2 80.1 # 3 fold3 77.0 91.0 82.0 # 4 fold4 78.1 85.5 81.0 # 5 fold5 74.5 86.6 80.0 สร้างข้อมูล
  25. 25. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Visualization with R: Bar & Line graph 25 > source("function.R") > multiplot(line,bar) สร้างกราฟแบบหลายชุดข้อมูล
  26. 26. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Linear Regression model using R • ในการสร้างโมเดล linear regression ใช้ฟังก์ชัน lm() • โดยที่ • dv คือ dependent variable หรือ แอตทริบิวต์ที่เป็นลาเบลคำตอบ • iv คือ independent variable หรือ แอตทริบิวต์ที่เป็นแอตทริบิวต์ทั่วไป • ทั้ง dv และ iv จะเป็นแอตทริบิวต์ที่อยู่ในข้อมูล mydata • ข้อมูล mydata คือ training data ที่จะนำมาสร้างโมเดล 26 > m <- lm(dv ~ iv, data=mydata) การสร้างโมเดล > m <- lm(GPA_grad ~ GPA_undergrad, data=grade) ตัวอย่างการสร้างโมเดล
  27. 27. Introduction to RapidMiner Studio 7 (data)3
 base|warehouse|mining Chapter 2 http://www.dataminingtrend.com
 http://facebook.com/datacube.th
  28. 28. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th • พบกับหน้าต่าง Home Screen RapidMiner Studio 7 28 1 แนะนำการใข้งานเบื้องต้น 4 3 เปิด process ที่มีอยู่ สร้าง process ใหม่ 2 ดูตัวอย่างที่เตรียมไว้
  29. 29. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Studio 7 • องค์ประกอบของ RapidMiner Studio 7 29 Repository Operators Process Parameter help 1 2 3 4 5
  30. 30. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Studio 7 • เมนูใน RapidMiner Studio 7 30 ใช้สร้าง process ใหม่ โหลด process เดิม บันทึก process undo หรือ redo สั่งให้ process ทำงาน (run) ยกเลิก process (stop) เมนูสำหรับปรับเปลี่ยนมุมมองของ RapidMiner Studio 7 เมนูสำหรับแสดงวิธีการใช้งานในรูปแบบต่างๆ ba a b หน้า Design แสดงหน้าสำหรับการสร้างโพรเซส หน้า Results แสดงหน้าผลลัพธ์การทำงาน
  31. 31. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R extension for RM 7 • เพื่อให้สามารถใช้งานภาษา R ได้ใน RapidMiner Studio 7 ต้อง
 ติดตั้ง R Scripting 7.0 • เลือกเมนู Extensions > Marketplace (Updates and Extensions…) 31 1 2
  32. 32. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R extension for RM 7 • ค้นหา R extension 32 3 4 5 6
  33. 33. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R extension for RM 7 • เลือก accept the terms of all license agreements 33 7 8
  34. 34. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R extension for RM 7 • เมื่อดาวน์โหลด extension เสร็จเรียบร้อยแล้วจะต้อง restart โปรแกรม RapidMiner Studio 7 ใหม่ • ไอคอนของ R Scripting
 ปรากฏขึ้นมาตอน start 34 9
  35. 35. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th R extension for RM 7 • ตรวจสอบ path ของ R เพื่อให้ R Scripting extension ทำงานได้
 อย่างถูกต้อง 35 10 11
  36. 36. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • เลือก process ตัวอย่างจากโอเปอเรเตอร์ Execute R • ค้นหาโอเปอเรเตอร์ Execute R จากช่อง search 36 1 2 3 4
  37. 37. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • แสดงตัวอย่าง process การสร้างโมเดล linear regression ด้วย R 37
  38. 38. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • ลบโอเปอเรเตอร์ Retrieve และ Split Data • เลือกโอเปอเรเตอร์ Read CSV มาใส่ใน process เพื่ออ่านไฟล์ training 38 5
  39. 39. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • อ่านไฟล์ insurance_train.csv ด้วยโอเปอเรเตอร์ Read CSV • เปลี่ยนแอตทริบิวต์ expenses ให้เป็นประเภท label 39 6
  40. 40. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • เลือกโอเปอเรเตอร์ Read CSV ตัวที่ 2 มาใส่ใน process เพื่ออ่าน
 ไฟล์ testing 40 7
  41. 41. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • อ่านไฟล์ insurance_test.csv ด้วยโอเปอเรเตอร์ Read CSV • เปลี่ยนแอตทริบิวต์ expenses ให้เป็นประเภท label 41 8
  42. 42. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • คลิกที่โอเปอเรเตอร์ Execute R (ชื่อว่า Learn Model) • คลิกที่ปุ่ม Edit Text ในพารามิเตอร์ script • แก้ไขคำสั่งใน R ส่วนของการสร้างโมเดล • formula = expense ~ . 42
  43. 43. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Testing R in RapidMiner Studio 7 • กดปุ่ม Run เพื่อให้ process ทำงาน 43 ผลการทำนาย
  44. 44. Imbalanced data (data)3
 base|warehouse|mining Chapter 4 http://www.dataminingtrend.com
 http://facebook.com/datacube.th
  45. 45. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Classification: Balanced data • ในการสร้างโมเดลจำเป็นต้องมี training data เพื่อให้เรียนรู้ • แอตทริบิวต์ทั่วไป คือ แอตทริบิวต์หรือ ตัวแปรที่ใช้ในการสร้างโมเดล • แอตทริบิวต์ประเภทลาเบล คือ แอตทริบิวต์ที่เป็นคำตอบที่เราสนใจในการ สร้างโมเดล เช่น spam/normal, response/ no response • ข้อมูล training data ควรจะมีข้อมูลแต่ ละลาเบล (label) เท่ากัน หรือ ใกล้เคียง กัน (balanced data) เพื่อให้โมเดล สามารถเรียนรู้ได้จากทุกลาเบล 45 ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam 3 N N N normal 4 N N N normal 5 Y N N spam 6 Y N N spam 7 N N N normal 8 N Y N spam 9 N N N normal 10 N N N normal attribute label ข้อมูล training data ที่เป็น balanced data
  46. 46. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Classification: imbalanced data • ส่วนใหญ่แล้วข้อมูลจริงๆ จะไม่มีจำนวนที่ใกล้เคียงกัน • ข้อมูลการฉ้อโกง (fraud) มี 2 ลาเบล คือ • ลาเบล normal จะมีจำนวนเยอะมากๆ เช่น 90% • ลาเบล fraud จะมีจำนวนน้อยมาก เช่น 10% • ข้อมูลการตอบรับโปรโมชัน (response) มี 2 ลาเบล คือ • ลาเบล no จะมีจำนวนเยอะมากๆ เช่น 95% • ลาเบล yes จะมีจำนวนน้อยมาก เช่น 5% • ข้อมูลการยกเลิกการใช้บริการ (churn) มี 2 ลาเบล คือ • ลาเบล no churn จะมีจำนวนเยอะมากๆ เช่น 90% • ลาเบล churn จะมีจำนวนน้อยมาก เช่น 10% 46
  47. 47. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Classification: imbalanced data • ข้อมูลที่แต่ละลาเบลมีจำนวนแตกต่างกันมากเราจะเรียกว่าเป็น
 “imbalanced data” หรือ “unbalanced data” เราจะเรียกแต่ละลาเบลว่า • majority class ข้อมูลที่มีจำนวนมากกว่า • minority class ข้อมูลที่มีจำนวนน้อยกว่า • ข้อมูลลาเบลที่มีจำนวนน้อย (minority class) เหล่านี้ส่วนใหญ่เป็นข้อมูลสำคัญ เช่น • ข้อมูลการใช้งานที่เป็นการโกง (fraud) • ข้อมูลลูกค้าที่ตอบรับโปรโมชัน (response = yes) • ข้อมูลลูกค้าที่จะยกเลิกการใช้บริการ (churn = yes) • ปัญหาคือ บางโมเดลจะเลือกทำให้ค่าความถูกต้องสูงที่สุด ดังนั้นจะตอบเป็น majority class ไปเสียหมด เช่น ข้อมูลการใช้งานที่ไม่ได้โกง (normal) มีอยู่ 90% (majority class) ดังนั้นถ้าโมเดลเลือกตอบว่าเป็น normal ทั้งหมดจะมีความถูกต้องสูงถึง 90% 47
  48. 48. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th • Example Classification: imbalanced data 48 training data หมายเหตุ ข้อมูลที่เป็น normal (85%) ข้อมูลที่เป็น fraud (15%) สร้าง 
 classification model classification model 1 2 3 4 testing data accuracy = 85%
  49. 49. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Classification: imbalanced data • การแก้ไขปัญหาของ imbalanced data • sampling approach • under-sampling • สุ่มตัวอย่าง (sample) ข้อมูลที่เป็น majority class ให้มีจำนวนน้อยลง • over-sampling • สร้างข้อมูลตัวอย่างที่เป็น minority class ให้มีจำนวนเพิ่มขึ้น • cost-sensitive approach • กำหนดค่าน้ำหนัก (weight) ให้แต่ละลาเบลไม่เท่ากัน • minority class จะมีค่าน้ำหนักมาก • majority class จะมีค่าน้ำหนักน้อยกว่า 49
  50. 50. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Sampling approach 50 under-sampling over-sampling imbalanced data
  51. 51. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.1: classify imbalanced data • โอเปอเรเตอร์ที่เกี่ยวข้อง 51 โอเปอเรเตอร์ คำอธิบาย Read CSV ใช้สำหรับอ่านข้อมูลจากไฟล์ประเภท CSV Multiply ใช้สำหรับสร้างข้อมูลเพิ่มเติม X-Validation ใช้สำหรับการทำ cross-validation Normalize ใช้สำหรับปรับค่าตัวเลขให้อยู่ในช่วง (scale) เดียวกัน
  52. 52. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.1: classify imbalanced data • เพิ่มโอเปอเรเตอร์ group model เพื่อรวมโมเดลต่างๆ ไว้เป็นหนึ่งตัว • ส่งโมเดลจากพอร์ต pre ของโอเปอเรเตอร์ Normalize และจากพอร์ต mod ของโอเปอเรเตอร์ k-NN ไปยังพอร์ต mode ของโอเปอเรเตอร์ Group Models 52 5 6 12 13 14 15 16
  53. 53. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.1: classify imbalanced data • กดปุ่ม Run จะได้ผลลัพธ์การทำงานดังในรูป 53 ทาย spam ถูก 1619 ตัวอย่าง
  54. 54. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.3: over-sampling data • ส่งข้อมูลจากพอร์ต out ของโอเปอเรเตอร์ Multiply ไปยังโอเปอเรเตอร์ X-Validation 54 2 3 4 5
  55. 55. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.3: over-sampling data • เพิ่มโอเปอเรเตอร์ normalize เข้าไปในส่วน Training เพื่อปรับช่วงของ ข้อมูลให้อยู่ในช่วงเดียวกัน 55 10 11 12 13
  56. 56. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.3: over-sampling data • เพิ่มโอเปอเรเตอร์ k-NN เพื่อสร้างโมเดล K-Nearest Neighbours • ส่งข้อมูลจากพอร์ต exa ของโอเปอเรเตอร์ Normalize ไปยังพอร์ต tra ของโอเปอเรเตอร์ k-NN 56 13 14 15 16
  57. 57. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.3: over-sampling data • เพิ่มโอเปอเรเตอร์ group model เพื่อรวมโมเดลต่างๆ ไว้เป็นหนึ่งตัว • ส่งโมเดลจากพอร์ต pre ของโอเปอเรเตอร์ Normalize และจากพอร์ต mod ของโอเปอเรเตอร์ k-NN ไปยังพอร์ต mode ของ Group Models 57 517 18 20 21 19
  58. 58. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 4.3: over-sampling data • กดปุ่ม Run จะได้ผลลัพธ์การทำงานดังในรูป 58 ทาย spam ถูก 1671 ตัวอย่าง
  59. 59. Attribute (Feature) Selection (data)3
 base|warehouse|mining Chapter 5 http://www.dataminingtrend.com
 http://facebook.com/datacube.th
  60. 60. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Attribute (Feature) Selection • ประสิทธิภาพของ Classification ขึ้นอยู่กับ แอตทริบิวต์ หรือ feature
 ที่นำมาใช้ • attribute selection เป็นวิธีการคัดเลือกแอตทริบิวต์ (หรือ feature) 
 ที่สำคัญในการสร้างโมเดล • เลือกแอตทริบิวต์ที่มีความสัมพันธ์ (correlation) กับแอตทริบิวต์ลาเบล (label) มาก • เลือกแอตทริบิวต์ที่มีความสัมพันธ์กันระหว่างแอตทริบิวต์น้อย • การทำ attribute selection เหมาะกับ • ช้อมูลที่มีจำนวนแอตทริบิวต์เป็นจำนวนเยอะ เช่น text mining • ใช้เวลาในการสร้างโมเดลนาน 60
  61. 61. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Attribute (Feature) Selection • การคัดเลือกแอตทริบิวต์จะทำให้ • โมเดลมีประสิทธิภาพมากขึ้น เนื่องจากบางแอตทริบิวต์ที่ไม่มีความสำคัญ (irrelevant) ได้ถูกลบทิ้งไป • ทำให้การทำงานไวขึ้นเนื่องจากมีแอตทริบิวต์ที่น้อยลง 61
  62. 62. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Attribute (Feature) Selection • แบ่งได้เป็น 2 แบบ 62 Information Gain Chi-square Forward
 Selection Attribute Selection Wrapper Approach Backward
 Elimination Filter Approach
  63. 63. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Attribute (Feature) Selection • แบ่งได้เป็น 2 แบบ • Filter approach เป็นการคำนวณค่าน้ำหนัก (หรือค่าความสัมพันธ์) ของแต่ละ แอตทริบิวต์และเลือกเฉพาะแอตทริบิวต์ที่สำคัญเก็บไว้ • Wrapper approach เป็นการคำนวณค่าน้ำหนักโดยใช้โมเดล classification เป็นตัว วัดประสิทธิภาพของแอตทริบิวต์ 63 ID Free Won Cash Call Service Type 1 Y Y Y Y Y spam 2 N Y Y Y N spam compute weight ID Free Won Type 1 Y Y spam 2 N Y spam แอตทริบิวต์ทั้งหมดใน training data แอตทริบิวต์หลังจากการเลือก
 (selection) แล้ว ID Free Won Cash Call Service Type 1 Y Y Y Y Y spam 2 N Y Y Y N spam ID Free Won Type 1 Y Y spam 2 N Y spam แอตทริบิวต์ทั้งหมดใน training data แอตทริบิวต์หลังจากการเลือก
 (selection) แล้ว classification model Attribute Selection: Filter Approach Attribute Selection: Wrapper Approach
  64. 64. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.1: Classification with all attributes • เพิ่มโอเปอเรเตอร์ Naive Bayes เข้าไปในส่วน Training เพื่อสร้าง โมเดล Naive Bayes • ส่งข้อมูลจากพอร์ต exa ของโอเปอเรเตอร์ Sample ไปยังพอร์ต tra ของโอเปอเรเตอร์ Naive Bayes 64 11 12 13
  65. 65. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.1: Classification with all attributes • กดปุ่ม Run จะได้ผลลัพธ์การทำงานดังในรูป 65
  66. 66. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Wrapper Approach • จำนวนรูปแบบของแอตทริบิวต์ที่สร้างขึ้นจะได้เท่ากับ 2N -1 
 โดยที่ N คือจำนวนแอตทริบิวต์ 66 number of attributes number of combinations 1 1 2 3 3 7 4 15 5 32 6 63 7 127 8 255 9 511 10 1023 Free Cash Free Won Cash Won Free Won Free Cash Won Cash 1 2 3 4 5 6 7
  67. 67. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.4: Forward Selection • เพิ่มโอเปอเรเตอร์ Naive Bayes เข้าไปในส่วน Training เพื่อสร้าง โมเดล Naive Bayes • ส่งข้อมูลจากพอร์ต exa ของโอเปอเรเตอร์ Sample ไปยังพอร์ต tra ของโอเปอเรเตอร์ Naive Bayes 67 16 17 18
  68. 68. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.4: Forward Selection • ค่านำหนักของแต่ละแอตทริบิวต์ 68 ค่าน้ำหนักของแต่ละ แอตทริบิวต์
  69. 69. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.4: Forward Selection • แสดงข้อมูลหลังจากเลือกแอตทริบิวต์ 69 เหลือเพียงแค่ 9 แอตทริบิวต์จาก ทั้งหมด 20 แอตทริบิวต์
  70. 70. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 5.4: Forward Selection • ผลการทดสอบประสิทธิภาพด้วยวิธี Cross-validation 70
  71. 71. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Attribute (Feature) Selection • เปรียบเทียบประสิทธิภาพของวิธีการคัดเลือกแอตทริบิวต์แบบต่างๆ • การคัดเลือกแอตทริบิวต์ให้ประสิทธิภาพดีกว่าการใช้แอตทริบิวต์ทั้งหมด • การคัดเลือกแอตทริบิวต์ด้วยวิธีการ Backward Elimination ให้ผลดีสุดสำหรับ ข้อมูลชุดนี้ 71 Methods Accuracy Baseline (all attributes) 72.10% Weighted by Information Gain 74.00% Weighted by Chi-Square 74.00% Forward Selection 73.40% Backward Elimination 74.20% Evolutionary Selection 73.90%
  72. 72. Ensemble Techniques (data)3
 base|warehouse|mining Chapter 6 http://www.dataminingtrend.com
 http://facebook.com/datacube.th
  73. 73. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Ensemble Classifier • เป็นการสร้าง classification model มากกว่า 1 ตัวเพื่อช่วยกัน predict คำตอบ • มีประสิทธิภาพที่ดีกว่าใช้ classification model หนึ่งโมเดล • โมเดลต่างๆ จะต้องเป็น independent กัน • เทคนิคการสร้างโมเดลต่างกัน เช่น ใช้ Decision Tree, Neural Network, KNN ร่วมกัน • ข้อมูล training ต่างกัน เช่น สุ่มข้อมูลให้แตกต่างกัน • แต่ละโมเดลจะต้องมีค่าความถูกต้องมากกว่า 50% (ในกรณีที่แอตทริบิวต์ประเภท ลาเบลมีเพียง 2 ค่า) 73
  74. 74. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th • ใช้การสร้างโมเดลด้วยหลายๆ เทคนิค และรวมผลการทำนายด้วย
 วิธีการโหวต (vote) Ensemble Classifiers (Vote) 74 decision tree model k-nearest neighbours model Neural Network model ID Free Won Cash 1 Y Y Y 2 N Y Y unseen data ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y normal ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam
  75. 75. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 6.1: Classification with NB • Process การทำงานหลังเพิ่มโอเปอเรเตอร์ X-Validation 75 9 10
  76. 76. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Bootstrap Aggregating or Bagging 76 ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam 10 N N N normal ID Free Won Cash Type 1 Y Y Y spam 5 Y N N spam 7 N N N normal ID Free Won Cash Type 8 N Y N spam 9 N N N normal 10 N N N normal training data #1 training data #2 training data #3 decision tree model #1 decision tree model #3 Output 1 Output 2 Output 3 aggregateoutput decision tree model #2
  77. 77. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th • ใช้การสร้างโมเดลด้วยเทคนิคเดียวกันจากข้อมูลที่สุ่มเลือกมาต่างกัน และรวมผลการทำนายด้วยวิธีการโหวต (vote) Bootstrap Aggregating or Bagging 77 ID Free Won Cash 1 Y Y Y 2 N Y Y unseen data ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y normal ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam ID Free Won Cash Type 1 Y Y Y spam 2 N Y Y spam decision tree model #1 decision tree model #2 decision tree model #3
  78. 78. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 6.5: Bagging • ในส่วน Training ลบโอเปอเรเตอร์ Decision Tree ทิ้งไปก่อน • เพิ่มโอเปอเรเตอร์ Bagging เข้าไปในส่วน Training เพื่อสร้างโมเดล 
 Ensemble แบบ Bagging 78 13 11 12
  79. 79. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 6.7: Boosting • เพิ่มโอเปอเรเตอร์ Nominal to Numerical เข้าใปใน process 
 เพื่อแปลงข้อมูลประเภทนอมินอลให้เป็นตัวเลข (Numerical) • ส่งข้อมูลจากพอร์ต out ของโอเปอเรเตอร์ Replace Missing Valuesไป ยังพอร์ต exa ของโอเปอเรเตอร์ Nominal to Numerical 79 7 5 6
  80. 80. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Example 6.7: Boosting • Process การทำงานหลังเพิ่มโอเปอเรเตอร์ X-Validation 80 9 10
  81. 81. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th For more information • หสม. ดาต้า คิวบ์ (data cube) • website: http://www.dataminingtrend.com • facebook: http:facebook.com/datacube.th หรือ http://facebook.com/sit.ake • email: eakasit@datacube.asia • lineID: eakasitp 81

×