Change type ใน rapidminer studio ม อะไรบ าง

1 ITSCI Practical Data Mining With RapidMiner Studio 7 เร ยบเร ยงโดยอาจารย นงคราญ คาว ช ย สาขาว ชาเทคโนโลย สารสนเทศ คณะว ทยาศาตร มหาว ทยาล ยแม โจ 20 ม นาคม 2559

2 Content Contents Chapter 1 Introduction to Data Mining... 3 Chapter 2 Introduction to CRISP-DM... 4 Workshop 1 : การต ดต งโปรแกรม RipidMiner Studio Chapter 4 Preprocess Workshop 2: Create Repository Chapter 5 Association Rules Workshop 3 Association Rules Chapter 6 Clustering เทคน ค K-Means Clustering เทคน คท 2 Agglomerative Clustering เทคน ค DBSCAN Clustering Chapter 7 Classification เทคน ค Decision Tree เทคน ค Naive Bayes เทคน ค K-Nearest Neighbors (knn) เทคน ค Linear Regression เทคน ค Neural Network เทคน ค Support Vector Machines (SVM)...78 เทคน ค Ensemble Classifiers (Vote) เทคน ค Attribute Selection...87 เทคน ค Compare classification performance Chapter 8 Introduction to Text Mining Chapter 9 Introduction to Image Mining อ างอ ง I t. n o n g k r a g m a i l. c o m P a g e 2 106

3 Chapter 1 Introduction to Data Mining ในป จจ บ นในเช งของธ รก จน นการม ร านค าแต ไม ม ข อม ลล กค าไม ช วยเร องการตลาด ยกต วอย าง ความต องการล กค าและร านอาหารด วยทางบร ษ ท IBM ถ าว นไหนฝนตกจ บพฤต กรรมล กค าได ม คนมา ซ อเค กมาข น ว นไหนอากศร อนๆ จะม คนมาซ อเน อส ตว เพ มข น เช นเด ยวก บทางด านโทรศ พท ม อถ อและ โซเช ยลการซ อขายส นค าออนไลน ในแต ละว นเราสร างข อม ลข นมาโดยร ต วและไม ร ต ว เป นข อม ลท เรา สร างข นมาน นสามารถแบ งข อม ลได 2 ส วนค อในองค กร เป นล กษณะท เป นโครงสร าง และนอกองค กร เป นข อม ลท เป น Data ท วไป พอม ข อม ลมากข นเราก รวมข อม ลจากหลาย ๆ ท มาเก บไว Data Warehouse ทาการ Prepare สามารถออกเป นรายงานเป น Dashboard ต างๆ เม อนามาทาการว เคราะห เราจะเร ยกเป น Data Mining ซ งข อม ลในระด บน น บเร ยกว าเป นเพชร เพราะม ส งท ซ อนอย ในข อม ลของ เรา ซ งสามารถสร ปให เข าใจง ายๆ ได ว า Data Warehouse น นเน นด งข อม ลออกมาให เร วท ส ด ส วน Data Mining ค อกระบวนการนาส งท ซ อนอย ในข อม ลออกน นมาให เก ดประโยชน BI & Data Mining กราฟบอกแกนอด ต และอนาคต Business Intelligence มองไปในอด ต ว าม ยอดขายอะไรเก ด ข นก บป ท ผ านมา ม ป ญหาอะไรบ าง มองในม ม BI การว เคราะห เป นในเช งบรรยายไม ซ บซ อนมาก ส วน Data Mining เป นการน าข อม ลอด ตมาเพ อจะท าการ Predict ท านายในอนาคตว าจะเก ดอะไรข น อะไร จะเก ดข นในอนาคตข างหน า อ นน ค อความแตกต างก นระหว าง BI และ Data Mining What is data mining? ข อม ล ใช เทคน คการทา Data Mining ร ปแบบท ม ประโยชน ส งส าค ญท ซ อนอย Data mining ก บการน าไปใช งาน ยกต วอย างให เห นภาพก บการน า Data Mining ไปใช งาน เก ยวก บเป าหมายการช อปป ง ในซ ปเปอร มา เก ต ก บการใช งานร วมก บพวกบ ตรเครด ตต าง ๆ บ ตรสมาช ก (loyalty card) เช น บ ตรคล บการ ดของ Lotus ก จะทาให เขาทราบพฤต กรรมการซ อส นค าของล กค าร วมบ อย ๆ ก จะหาร ปแบบ Pattern ส วนลด มาให ล กค าเพ อจ ดโปรโมช นส วนลดแต ละบ คคลไป ต วอย างถ ดมาเช น ต วอย างเบ ยร และผ าอ อม ความหมายค อ ผ ชายจะออกไปซ อของกล บบ านท กว นศ กร ไปซ อเบ ยร แล วก จะซ อผ าอ อมไปด วยให ล ก ในประเทศไทยเราม อะไรม กจะซ อร วมก นบ อยๆ ยกต วอย าง การซ อขายข นน า ม ช วงท ซ อข นน าบ อยๆ ค อเอาไปท าบ ญจ ดร วมก บพวกยาและของใช ต วอย างถ ดมาทาง TARGET คาดการณ ว าช วงไหนท คนเราจะม การซ อส นค าใช บ อยๆ เขาคาดการณ ค อการต งครรภ เป าหมายล กค าของเขาก ด จาก พฤต กรรมของล กค า พวกค ณแม ท ด แลต วเองในแต ละช วงของการต งครรภ ทาการว เคราะห พฤต กรรม การซ อส นค าของล กค าเพศหญ ง TARGET ท าจนร และท านายได แม นมากๆ ในการจ ดส งโปรโมช นไปให ท บ าน จาก Shot หน งท ในว ด โอ เก ยวก บการส งโปรโมช นการต งครรภ ไปให ล กสาวท บ าน แต ผ เป นคน I t. n o n g k r a g m a i l. c o m P a g e 3 106

4 ค ณพ อร บแทนเลยเก ดการทะเลาะก น แต ส ดท ายปรากฏว าล กสาวท องจร งๆ ฉะน นม มมองหน งท มอง ในการให ข อม ลถ าเราให ไปแล วได อะไรส กอย างกล บมาก จะยอมให ข อม ลส วนต วเราไปน นเอง แนะน าส นค าท เก ยวข องเว บไซต Amazon.com จะเห นได ว าแถบบร เวณด านล างจะเห นการ แนะน าหน งส อมาให เก ยวก บหน งส อท เก ยวข องก บเร องท เราซ อไป และเช นเด ยวก บ Netflix จะแนะน า ภาพยนต จากคนท เคยด หน งเร องน นไปแล วแนะนาเร องท เก ยวข องให เช น Life of Pi เป นต น เวลาเราเล อกซ อ Application หน งไปแล วก จะม การแนะน าแอพท ใกล เค ยงมาให เรา ต วอย าง ถ ดมา Application เก ยวก บ How-Old.net น าเสนอเก ยวก บการน าเอาร ปของเราไปเท ยบข อม ลฐาน ต วเลขอาย จะม อย แล วน ามา Map ก บใบหน าร ปเรา เท ยบก บ Database บ านเราช วงหล ง ๆ ก ปรากฏ ต วเลขใกล ความเป นจร งมาข นคนก เร มไม ใช ละ Google News จะเป นการจ ดกล มข าวท ม กล มเด ยวก นไว ด วยก น เน อหาคล ายๆ ก นไว ด วยก น ระบบถ ดมาค อ Sentiment140 จาก Sentiment140.com ว เคราะห ท ศนคต ในแง ต างๆ จากส งคมออนไลน เม อคนต องการหาค าเช น iphone6 ม นจะท าการท านายเก ยวก บค าน ออกมาให ว าคนพ ดหร อบ นคนน ใน แง ม มบวกหร อลบออกมา S-sence ของ NECTEC เป นเวอร ช นไทย ว เคราะห ท ศนคต ในแง ต าง ๆ จากส งคมออนไลน การคาดการณ แนวโน มของตลาดห น ด ว าคนท เข ยน Blog ห นในแต ละว นม ความเคร ยดมากน อย ขนาดไหน Stock market, Anxiety index คาดการณ ว าว นใดก ตามคนท เข ยน Blog ม ความเคร ยดส ง ห นจะตก โดยท งหมดน ค อต วอย างของการนา Data Mining หร อข อม ลมหาศาลไปใช ประโยชน ท งส น Chapter 2 Introduction to CRISP-DM ส าหร บมาตรฐานการท า Data Mining ค อ CRISP-DM พ ฒนามาจาก 3 บร ษ ท SPSS, DaimlerChrysler NCR, พ ฒนาด วยข นตอน 6 ข นตอน 1. Business Understanding ต งโจทย ว าเราจะท า Data Mining ไปใช อย างไรให เก ดประโยชน เป นข นตอนแรกของ CRISP-DM ทาความเข าใจก บป ญหา หร อโอกาสทางธ รก น ต งคาถามก อน 2. Data Understanding จะหาข อม ลจากไหน เพ ยงพอไหม โดยท าความเข าใจรวบรวมข อม ลจาก คาถามท เราต องการ เช น ข อม ลน กศ กษา 3. Data Preparation ทาการ Clean หร อ Prepare ข อม ลก อน ข อม ลของเราม ความถ กต องเพ ยงพอแล วหร อย ง โดยข นตอนด งน - ทาการค ดเล อกข อม ล (Data Selection) กาหนดเป าหมายก อนว าจะทาอย างไร I t. n o n g k r a g m a i l. c o m P a g e 4 106

5 - ทาการกล นกรองข อม ล (Data Cleaning) การลบข อม ลซ าซ อน แก ไขข อม ลท ผ ดพลาด เช นข อม ลท ผ ดร ปแบบ ข อม ลท หายไป ข อม ล Outlier ท แปลกแยกจากคนอ นผ ดปกต ค อนข างมาก เช น ตารางข อม ลน กศ กษาช นป ท 1 ป การศ กษา แปลงร ปแบบข อม ล (Data transformation) เป นข นตอนการเตร ยมข อม ลให อย ในร ปท พร อมน าไปใช ในการว เคราะห ตามอ ลกอร ท มของ Data mining ท เล อกใช เช น เทคน คหา ความส มพ นธ การซ อต อคร ง ข อม ส าหร บการหากฏความส มพ นธ (Association Rules) อ กต วอย าง ม ข อความ Text ภาษาไทย Unstructured Data ให ไปเป นตารางเส ยก อน เพ อหา ความซ าซ อนหร อความบ อยในการปรากฏค า ๆ น นบ อยมากส ดออกมา ต วอย งาถ ดมา พวกร ปภาพ ไม ม โครงสร าง ก นามาว เคราะห หาส ท เก ดข น เช น ส แดง เข ยว น าเง น ท เก ดข น ในภาพ ๆ น น โดย 3 ข นตอนหล กน จะใช เวลาค อนข างนานมากๆ 4. Modeling การว เคราะห ข อม ลด วยเทคน คดาต าไมน ง - Classification เทคน คน เป นการน าข อม ลในอด ตมาท าการคาดการณ ท จะเก ดข นอ กใน อนาคต เช น การเช คเมล ว าม นเป นสเปมหร อไม เป นสเปม ว าเป นอ เมล ปกต ถ าม คาๆ น เข า มาอ กจ ดเป นสเป - Clustering การจ ดกล มข อม ลเป นกล มๆ - Association rules การหาความส มพ นธ ก นของข อม ล เช น คนด หน งส อเล มน แล วจะด หน งส ออะไรอ กบ าง โดยในการอธ บายน จะเร มจากจ ดท ง ายๆ ข นไปหายาก 5. Evaluation การว ดผลประเม นผล การพ ส จน ข นตอนด ไม ด เป นการว เคราห ว าม นตรงแล วหร อย ง เทคน คท เราใช เทคน ค A และ B ต วไหนด กว าก น ซ งม นจะใช การเปร ยบเท ยบน ก บงานว จ ย 6. Deployment การพ ฒนา น าโมเดลท ได หร อผลการว เคราะห ท ได ไปใช งานจร ง เช น ล กค าท มาซ อเบ ยร แล วจะซ อส นค า อะไรอ กบ าง ต วอย าง CRISP-DM อ างอ งจากงานว จ ยเร อง การใช เทคน คดาต าไมน งเพ อพ ฒนาค ณภาพการศ กษาน ส ตคณะ ว ศวกรรมศาสตร 1. Business Understanding น ส ตน กศ กษาเล อกเร ยนไม ตรงก บความสามารถ เพ อให เล อกให ตรงความสามารถมากข น 2. Data Understanding I t. n o n g k r a g m a i l. c o m P a g e 5 106

6 ข อม ลจากส าน กทะเบ ยน โดยม 1. ข อม ลท วไปของน กศ กษา 2. ข อม ลเก ยวก บการลงทะเบ ยน เกรดผลการเร ยน 3. Data Preparation ค ดเล อกว ชาท เก ยวข องก บภาคว ชาต างๆ แล วแปลงข อม ลให เหมาะสมก บการว เคราะห จาก ตารางต วอย างพบว าท าการ Join ตารางข อม ลประว ต ส วนต วของน ส ต ก บตารางข อม ลการ ลงทะเบ ยนของน ส ต โดยต ดเล อกเฉพาะท ส าค ญท จะน ามาใช เช น เล อกคอล มพ รห สน ส ต เพศ คอมพ วเตอร คณ ตศาสตร... GPA แล วจ ดเร ยงลาด บเป น Low high ซ งตรงน จะท า ให พบข อม ลแถวตามจานวนน กศ กษาท งหมด 4. Modeling โดยข อม ลตรงน จะน าไปสร างโมเดลใหม ข นมา ว าถ าม น กศ กษาใหม เข ามา แล วมาใช แนวค ด โมเดลน ว าม การค ดเล อกน กศ กษาใหม ว าด หร อไม ด โดยเล อกแยกตามภาคว ชา เช น เคร องกล ว ศวะ โดยโมเดลท ได จะเป น Decision Tree โดยแบ งข อม ลออกเป น 2 ส วน - ส วน 70% ของข อม ลท งหมดใช ในการสร างโมเดล Train - ส วน 30% ของข อม ลนามาทาการ Predict ทานายว าม นถ กหร อผ ด ถ าผลการทานายโมเดลถ กแสดงว าโมเดลด ร ปโมเดล Decision Tree ของภาคว ชาว ศวกรรมคอมพ วเตอร พบว า ร ปข อด น ค อ สามารถแปลงออกมาเป นกฏได ว า ถ า Computer เป น High Good 5. Evaluation การว ดผลมาด ว าม ความถ กต องก เปอร เซ นต จากข อม ล 30% ท แบ งไว สามารถคานวณค าความ ถ กต องในระด บใด เช น จากผลการคานวณของเด ก Computer ชายออกมาเป น Row เล อก Mathematics ผลเล อกออกมาเป น Row ทาง Physics 6. Deployment ส การพ ฒนาตามโมเดล ต วอย างท 2 CRISP-DM บร ษ ทแห งหน งกาล งจะวางตลาด ereader ร นใหม ต องการเพ มยอดขายของผล ตภ ณฑ 1. Business Understanding ต องการทานายว าจะส งโปรโมช นอะไรไปให ล กค า 2. Data Understanding ท าความเข าล กษณะของล กค าและการซ อส นค าในเว บ โดยแบ งกล มคนออกเป น 5 กล ม Innovators ล กค าท วางส ปดาห แรกไป, Early Adopters หล กส ปดาห แรกไม เก น 3 ส ปดาห, Early Majority, Late Majority ล กค าท ซ อหล งจากส ปดาห ท 3 แต ไม เก น 2 เด อนแรก, Laggards ล กค าท ซ อหล งจาก 2 เด อนแรก 3. Data Preparation I t. n o n g k r a g m a i l. c o m P a g e 6 106

7 กาหนด Attribute user_id ทาการ Mark ไว 4. Modeling สร างโมเดลด วยเทคน ค Decision Tree ออกไปในเช งล กน ดเพราะเป นเร องจร ง จะว เคราะห ใน หลายม ม 5. Evaluation ทาการทดสอบเพ อแบ งหาข อม ลท ใช ในการทาสอบ คานวนค าความถ กต อง 6. Deployment น าข อม ลล กค าท ย งไม เคยซ อไปให ereader ร นก อนท าการท านายด วยโมเดลท สร างข น แล ว จ ดส งข อม ลโปรโมช นไปให ล กค าในช วงเวลาแต ละกล ม Data Mining software ม 2 ฝ ง - Commercial Software - SAS Enterprise Miner - IBM SPSS Modeler - Rapid miner - Open source software - Rapid Miner Studio - Weka - R RapidMiner software เก ดข นในป 2016 จาก Ingo Mierswa และ Ralf Kilnkenberg ก อนหน าเวอร ช น 6 และ 7 เป น เวอร ช นฟร แบบ Open Source ต วอย างบร ษ ทท ใช RapidMiner บร ษ ท Paypal ทาไมถ งเล อกใช RapidMiner? จากผลการส ารวจเว บไซต KDnuggets ในป 2014 พบว าผ ร วมตอบม ผ สนใจ Rapid Miner มาก เป นอ นด บ 1 และม Gartner ได จ ดให Rapid Miner อย ในกล ม Leaders สาหร บซอฟต แวร ว เคราะห ข อม ล ป 2016 ได แก SAS, IBM, KNIME, Rapid Miner RappidMiner Studio7 แบ งเป น 2 เวอร ช น ฟร และเส ยงเง น แตกต างก นค อ Basic, Community, Professional ต วท เส ยเง นสามารถด งค าจาก Data Base ได มากข น เช นจาก Amazon, Twitter ส วนต วฟร สามารถด ง ออกจากพวก MySQL, SQL ได และไม จาก ดอ ตราเร วในเคร อง ฉะน นแตกต างก นตรงการด งข อม ลจาก แหล งอ นๆ ภายนอกท เป นโซเช ยล RapidMiner Academia เวลาสม ครให ใช อ เมล สถาบ น.ac.th ซ งจะได license สามารถใช งาน 1 ป I t. n o n g k r a g m a i l. c o m P a g e 7 106

8 Workshop 1 : การต ดต งโปรแกรม RipidMiner Studio7 1. ดาวน โหลดโปรแกรมจาก 2. ต ดต งโปรแกรมด บเบ ลคล กท ไอคอนต วต ดต งเพ อด าเน นการ Install 3. คล ก I Accept เพ อร บทราบเง อนไข 4. รอการต ดต ง I t. n o n g k r a g m a i l. c o m P a g e 8 106

9 5. พบหน า Welcome to RapidMiner Studio คล กเล อกประเภทการเข าใช งานเป น Join the RapidMiner Community 6. หน าต างแสดงภาพรวมของหน าย นด ต อนร บเข าส การใช งานประเภท Join the RapidMiner Community 7. สร างข อม ลสามาช กผ ใช งาน RapidMiner Community ด วยก าหนด และ Password ส วน บ คคลสาหร บการใช งาน กรอกข อม ลเสร จกดป ม Create account I t. n o n g k r a g m a i l. c o m P a g e 9 106

10 8. เม อสร างข อม ลผ ใช งานส าเร จจะพบหน าต าง We ve sent you an แจ งให ผ สม ครเข าไป ย นย นการสม ครผ านอ เมล ท ใช โดยระบบได ดาเน นการจ ดส ง Link ย นย นการใช งานให 9. ต วอย างของอ เมล ท ได ร บเพ อให ดาเน นการ Verify การสม ครเข าใช งาน RapidMiner คล กล งค confirm your address I t. n o n g k r a g m a i l. c o m P a g e

11 10. การต ดต ง Rapid Miner Studio7 แบบทดลองใช งานส าเร จ สามารถใช งานได 15 ว น 11. การทางานของ RapidMiner จะท างานเป น Process จากซ ายม อไปขวาม อ สามารถจ ดเก บข อม ล ไว แล วนามาแก ไข I t. n o n g k r a g m a i l. c o m P a g e

12 12. หน าตา Interface RapidMiner Studio 7 - Repository ใช ในการเก บข อม ล - Operator ไว เก บข อม ลไฟล มาใช งาน - Process เป นส วนของการทางาน - Parameter เป นส วนท เก ยวข อง เช น การอ านไฟล จาก Excel Icon Chapter 4 Preprocess Data : ข อม ลท ม อย ในตารางต าง ๆ ท ประกอบไปด วยแถวและคอล มม ซ งจะเร ยกในแถวเป น ต วอย าง (Example) ส วนคอล มพ เร ยก แอททร บ วต (Attribute) ม หน าท (role) 3 แบบ ค อ ID, Attribute เป น แอทร บ วต ปกต ท จะใช ในการสร างโมเดลหร อเร ยกว าฟ เจอร (feature) หร อต วแปรต น (independent), label ค อเป น Attribute ท เป นคาตอบ Value type ค าของขอ ม ลท เก บในแต ละแอตทร บ วต - Polynomial ม 2 ค าข นไป I t. n o n g k r a g m a i l. c o m P a g e

13 - Binominal ข อม ลประเภท Category - Numeric หร อ Integer ข อม ลประเภทต วเลข Workshop 2: Create Repository 1. กดป มสร าง Repository 2. กาหนดสร าง new local repository 3. ต งช อ Repository ว า RMTraining I t. n o n g k r a g m a i l. c o m P a g e

14 4. สร างโฟล เดอร ส าหร บจ ดเก บงาน 5. สร าง 2 โฟล เดอร ช อ data และ process ไว ใน RMTraning CSV File ข อม ลท จะน าเข าไปใช งาน 2 แบบ CSV (Comma Separated Value) ใช เคร องหมาย comma การน า ไฟล เข ามาใช งานได 2 แบบ 1. Import ในส วน Repositories โหลดมาใช งานไว ใน Repositories แล วเร ยกใช งานได ตลอด ถ าข อม ลไฟล csv ม การเปล ยนแปลงจะไม update ต องทาการโหลดใหม แบบท 2 ค อ 6. Operator Read CSV การ Import File พ มพ เล อก Operators read csv แล วลากไปวางตรง Process I t. n o n g k r a g m a i l. c o m P a g e

15 กาหนด File Encoding = UTF-8 เล อก Comma เช อมต อสาย out ไปย ง res ต วย อม ความหมายค อ Fil = Input, Out = Output แล วกด Run I t. n o n g k r a g m a i l. c o m P a g e

16 หน าต างการแสดงผลในร ปแบบต าง ๆ จากเมน ฝ งซ ายม อ เช น Data สามารถย ายคอล มม ข อม ลได Statistics I t. n o n g k r a g m a i l. c o m P a g e

17 Charts Import Configuration Wizard ม นจะม ข อด กว าตรงท ถ าม ข อม ลใหม ม นจะทาการอ านมาใหม แล ว Update ให ใหม ท กคร ง ค อแสดงให เราเห น การจ ดเก บบ นท กไฟล ไว ท Repository สาหร บการเร ยกใช งาน I t. n o n g k r a g m a i l. c o m P a g e

18 การ Read Excel to Rapid Excel เล อกได มากกว า 1 Sheet เล อกได หลาย ท ละ 1 การแจ ง Filter สถานะ Filter : all ท งหมด, no_missing_attributes เช ค ค าว าง I t. n o n g k r a g m a i l. c o m P a g e

19 Data Exploration แสดงข อม ลท โหลดเข ามาได หลายร ปแบบ เช น ตาราง ค าสร ปทางสถ ต กราฟร ปแบบต าง ๆ การ Sort ข อม ลมากกว า 1 คอล มม ใช คาส งป ม Ctrl ร วม แสดงค าสร ปทางสถ ต ม คอล มม ต าง ๆ Data Visualization แสดงข อม ลเป นกราฟในร ปแบบต างๆ เช น กราฟแท ง กราฟ Histogram กราฟวงกลม สามต วน จะ แสดงค าเพ ยงต วแปรเด ยว ถ าต องการแสดงมากกว า 1 Attribute ใช กราฟการกระจายต ว (Scantter) I t. n o n g k r a g m a i l. c o m P a g e

20 พบส งผ ดปกต เก ดข น 7. Operator Select Attribute Data Preparation การจ ดการข อม ล (Preprocessing) การเล อกแอททร บ วต ใช Selection เล อกตาม ประเภท Select attribute เล อกบางประเภทมาใช งานบน Process โดยให เช อมต อก บไฟล Read CSV เล อก Attribute Filter type การเล อกข อม ลเฉพาะบางคอล มม ออกมา I t. n o n g k r a g m a i l. c o m P a g e

21 8. Operator Filter example เป นการกรอกเล อกข อม ลบางเง อนไขออกมา กาหนดข อม ล Filter ผลล พธ การร นโปรแกรมได ผลด งภาพ I t. n o n g k r a g m a i l. c o m P a g e

22 Data Preparation กรณ ม ข อม ล 2 ช ดแล วต องการล งค ข อม ลเข ามาด วยก นได ด วยการ Join 9. Inner Join ใช Operators Join ลาก Operator Join ไปวางไว ท Process แล วลากเส นปล กเข าเช อมต อก นด งภาพ I t. n o n g k r a g m a i l. c o m P a g e

23 ร นผลโปรแกรมได ด งภาพ 10. Replace Value การเก บข อม ลมาจากหลายๆ แหล งฐานข อม ล ม กจะเก ดป ญหาข อม ลไม ตรงก น I t. n o n g k r a g m a i l. c o m P a g e

24 F\z WOMAN คาส ง แทนคาว า หร อ เปล ยนเง อนไขการค นหา M\z MAN replace by MALE ผลการล พธ โปรแกรม I t. n o n g k r a g m a i l. c o m P a g e

25 11. Replace missing Value ข อม ลบางอย างอาจจะขาดหายไป สามารถทาได หลายว ธ กล มแรกถ าพบว าไม ม ข อม ล หร อกรอกข อม ลผ ดพลาด ม ค า Error เก ดข น 1 สามารถต ดค า Example ท ง ไป หร อหาค ามาใส แทนด วยการ Replace missing Value สามารถทาได ด งน - แทนท ด วยค าท ระบ เอง เช น ไม ระบ หร อ N/A - แทนท ด วยค าเฉล ย (mean) ในกรณ แอตทร บ วต เป นต วเลข - แทนท ด วยค าฐานน ยม ในกรณ ท ข อม ลเป น nominal - แทนท ค าด วย 0 ลากโอเปอร เรเตอร Replace Missing Value มาวางไว ท Process ระหว าง Replace(2) ไปหา res I t. n o n g k r a g m a i l. c o m P a g e

26 ผลล พธ ของ regin ไม ม null แล ว I t. n o n g k r a g m a i l. c o m P a g e

27 เปล ยนค าข อม ล Chiden ผลล พธ ท ได บ นท กไฟล เก บไว ท data ใน RMTraining I t. n o n g k r a g m a i l. c o m P a g e

28 12. Outlier : ข อม ลแปลกแยก จากการกระจายต วของข อม ล Detect Outlier by distance การว ดระยะทางระหว างข อม ล ต วท ม ระยะทางห างก บข อม ลอ น ๆ มากๆ น าจะเป น Outlier การค ดระยะจ ด 2 จ ดท อย บนเส นตรงจากส ตรโอพ เน ยน เล อก Samples process 17Outlier Detector I t. n o n g k r a g m a i l. c o m P a g e

29 หาระยะทางท มากท ส ดแล วก Sort ข อม ลจากมากไปน อย ต วไหนท ม ระยะทางแปลกห างๆ มาก ๆ ก จะ เป น Outlier ท เก ดข น จะเอา Outlier ก ต วก สามารถท าได โดยเราเป นผ ก าหนด โดยต วอย างน สามารถ นาไปใช ก บต วอย างฟอร ดได ต วอย างถ ดมาต องการลบค า Outlier ออกไป กาหนดค าเป น Fault 13. Discretization การแปลงข อม ลต วเลขให เป นข อม ล nominal โดยการแบ งข อม ลออกเป นช วง ๆ แบ งตามเง อนไขท กาหนด โดยใช Discretize by User Specification I t. n o n g k r a g m a i l. c o m P a g e

30 I t. n o n g k r a g m a i l. c o m P a g e

31 I t. n o n g k r a g m a i l. c o m P a g e

32 14. Discretization : การแบ งความถ แต ละช วงให เท าๆก นเร ยก Discretize by Frequency 15. Multiply I t. n o n g k r a g m a i l. c o m P a g e

33 I t. n o n g k r a g m a i l. c o m P a g e

34 Chapter 5 Association Rules การหาความส มพ นธ หร อเร ยกว า กฏความส มพ นธ เร มจากการ Market Basket Analysis จากการมองเห นว าคนซ อส นค า1 ช น แล วน าจะเล อกซ อ ส นค าใดต อร วม จากข อม ลท ได จากการซ อส นค าแต ละคร ง จะพบว าการซ อคร งท 1 ซ ออะไรบ าง แล ว Record ไว จากน นท าการบ นท กข อม ลคนถ ดๆไปเร อยๆ จ านวนแถวข อม ลการซ อก จะเพ มมากย งข น เร อยๆ เป น Transaction ซ งข อม ลท ได ก ไม สะดวกในการนาไปว เคราะห โดยทางท ด ก นาข อม ลมาท าการ แปลงข อม ลเป นแถวโดย Group by ตามเวลาท ซ อส นค า Support น บจ านวนคร งการซ อส นค าแต ละชน ดค ดเป น % ของการซ อส นค า หร อการพบส นค า ท าการ น บในการซ อส นค า (จานวนคร ง) Frequent itemset จ านวนส นค าท ม การพบบ อย ร ปแบบของการซ อส นค า (items) ท ม ค า support >= minimum support การม Frequent ก บ infrequent เพ อเป นการกรองข อม ลออกไป ส นค าใน Supermarket ม จ านวน 3 ชน ด โอกาสท เป นไปได ท งหมด (หร อ Subset ท งหมด) ถ าต วไหนไม ผ านเง อนไขท กาหนดให ต ดท งเลย การหากฏความส มพ นธ (association rules) ม 2 ข นตอนใหญ ๆ - Apriori : แอบเพ ยวร (Agrawal and Srikant, 1994) สร างร ปแบบส นค าท ม การเพ มจานวนท ละ 1 ถ าผ านเง อนไขก จะทาการ Join เพ มไปเร อยๆ แบบน ม นจะช า เพราะการหาความส มพ นธ แต ละคร ง ก ต องไปด งค าจาก Database ท กคร ง หล กการท างาน superset ของร ปแบบท เป น frequent Apriori น บจ านวนคร งในการซ อท น อยกว า 50% ต ดผ าอ อมออก จ บค ให เป น set ข น เม อเป น set ข อม ลท อย ข างในไม I t. n o n g k r a g m a i l. c o m P a g e

35 จ าเป นต องม ล าด บ 1 ต วหน าท ท าการ JOIN ก นต องเหม อนก น เช น {Beer, Cereal, Eggs} เพ อให ได มา Frequent Itemset ส นค าท ม การซ อมากกว าหร อเท าก บ 50% จะได ขนาด size ออกมาด วย - FP-Growth : เอฟพ โกลฟ ข นตอนท 1 ท าโดยการสร าง Compact data Structure เร ยก FP-Tree ข นมา โดยการอ าน ข อม ลจากฐานข อม ลเพ ยงแค 2 คร งเท าน น แล วหาค า Support ของร ปแบบการซ อส นค า (Items) ท ม ความยาว 1 แล วเร ยงล าด บตาม Support ท ค านวณได แล วมาท าการสร าง FP-Tree จากการอ านข อม ลในฐานข อม ลเพ ยงหน งรอบ เช น เจอ Apple 1 คร งม นจะม ล งค ต อไปเก ดเป น 1 เส นทาง ท ว งไปโดยด ว าต วไหนท ม นสามารถซ อนก นได ก ซ อนไป ข อด ค อถ า ม Database 10ล านแถว เราสามารถท าท ละส วนได แล ว Free memory ท งไปได แล วเร ยก ส วนท เหล อมาท างานต อได ค อยๆ อ านค ามาท างาน Operator แบบน จะเร ยก Stream Database ข นตอนท 2 สร างร ปแบบของส นค าท ซ อบ อยๆ (Frequent items) จาก FP-Tree โดยกาหนด min_support = 50% เปร ยบเท ยบผลงของ Apriori & FP-Growth จะพบว า FP-Growth จะเร วกว าแต ผลล พธ เหม อนก น Association Rules : สร างกฏความส มพ นธ สร งจากส นค าท ล กค าซ อบ อยๆ ร ปแบบของกฏ ค อ LHS RHS LHS ค อ Left Hand Side ส นค าท ซ อพร อมก นบ อยๆ ด านซ ายของกฏ เช น Apple Cereal RHS ค อ Right Hand Side ส นค าท ซ อพร อมก นบ อยๆ ด านขวาของกฏ เช น Cereal Apple ต วว ดประส ทธ ภาพของกฏความส มพ นธ - Confidence แสดงความเช อม นของกฏความส มพ นธ ท เม อร ปแบบ LHS เก ดข นแล วร ปแบบ RHS จะเก ดข น% ความน าจะเป น 1 ความน าจะเป นจะเก ดข นด วยท กคร ง ถ า Confidence กฏน นส งน าสนใจกว า - Lift ถ า Lift เก น 1 แสดงว าโอกาสจะเก ดข นพร อมก นมากว าแยก ถ าน อยกว า 1 แสดงว าต วล างมากกว าต วบน แสดงว าซ อแยกมากกว า Applications ใช ในการเพ มยอดขายโดยการแนะน าส นค าท ล กค าม กจะซ อพร อมก นบ อย ๆ (cross-selling) ใช ในการจ ดส นค าในร าน เช น วางส นค าท ล กค าม กจะซ อพร อม ๆ ก นไว ใกล ๆ ก น หร อวางส นค าไว ใน Catalog ต าง ๆ I t. n o n g k r a g m a i l. c o m P a g e

36 Workshop 3 Association Rules จ าลองการซ อส นค าแล วเก บไว ใน Database การซ อส นค ามากกว า1 ชน ด โดยให ผ านกระบวนการ Pivot จากข อม ล โอเปอร เรเตอร ท ใช Pivot 1. Operator Pivot และ Retrieve เช อมต อปล กเข าส Pivot I t. n o n g k r a g m a i l. c o m P a g e

37 กาหนด Parameter ผลล พธ การร น 2. Operator numerical to Binominal I t. n o n g k r a g m a i l. c o m P a g e

38 3. ต อไปหาส นค าอะไรท เก ดข นบ อยๆ ด วย Operator fp-growth ภาพการเช อมต อแต ละโอเปอร เรเตอร ใน Process กาหนดค า Parameter FP-Growth คล กออกจาก find min number of itemsets จากน น Run โปรแกรม ผลล พธ ท ได ด งภาพ I t. n o n g k r a g m a i l. c o m P a g e

39 ส นค าท ซ อค ก นบ อย ๆ หาส นค าท สนใจ I t. n o n g k r a g m a i l. c o m P a g e

40 4. Operator Create Association Rules การเช อมต อแต ละ Operator ท ใช งานพร อมลากปล กเส นการเช อมต อด งภาพ กาหนดค า Parameter min confidence I t. n o n g k r a g m a i l. c o m P a g e

41 Run Program ด ผลล พธ ได ด งภาพ ต วอย าง Supermarket ม แอททร บ วต ต าง ๆ ในช ดข อม ล I t. n o n g k r a g m a i l. c o m P a g e

42 ข อม ลความจร งการซ อส นค ามากกว า 50% ของแสนม นไม ม เปล ยนเง อนไขเป น 0.2 I t. n o n g k r a g m a i l. c o m P a g e

43 Chapter 6 Clustering การจ ดกล มข อม ล ต วอย างแรก ม ร ปผ กและผลไม หลายๆ ชน ด ถ าอยากแบ งข อม ลร ปภาพพวกน ออกเป น 2 กล ม จะแบ งได จากอะไรบ าง ค าตอบ ส ร ปทรง เช น กล มม ผ กส เข ยว กล มผ กท ไม ใช ส เข ยว ร ปทรง เช น ผ กทรงกลม ทรงแท ง ทรงกระบอก ต วอย างถ ดมา พฤต กรรมการใช งานโทรศ พท ของคน 6 คน ม การใช งานโทรศ พท มากน อย SMS มากน อยขนาดไหน ถ าต องการแบ งออกเป น 3 กล ม ใครอย กล มเด ยวก นบ าง จากภาพพบว า 1 ค 6 ค อ โทรมาก และ 2 ค 3 โทรน อย ท งสองต วอย างน ค อการแบ งกล ม โดยการแบ งกล มส งท เหม อนก นอย กล มด วยก น ค ณสมบ ต ท ม มาก ข น พฤต กรรมเด ยวก นอย กล มเด ยวก น ส งเกต แต ละกล มจะเร ยกว า คล สเตอร ท ม ข อม ลแตกต างก น ตามกล มท แยก ว ธ การว ด ใช Euclidean distance ระยะห างก นของกล มท แบ ง ส ตรท ได Euclidean distance ผลต างแกน X ก าล ง 2 บวกก บ ผลต างของแกน Y ยกก าล ง 2 เรา สามารถม ผลต างได มากว า 3 ม ต โดยเอาผลต างท ได มาถอดสแควร ด ท าการ Clustering ล กค าตาม พฤต กรรมการใช งาน SMS และ Phone พอเรามา Map เป นร ปภาพจะพบว าม กล มท ใช งานโทรศ พท มากๆ เป นส ส ม Clustering : Applications การแบ งข อม ลล กค าออกเป นกล มย อยๆ เพ อจะได เข าใจพฤต กรรมการบร โภคของล กค าได ด ข น โดย อาจจะจ ดเป นกล มๆ ออกมาแล วค อยเจาะเป นกล มๆ ไป เพ อจ ดทาโปรโมช นให ล กคนต อไป เทคน ค K-Means Clustering เป นประเภท partitional clustering น ยมใช ในการท า Clustering K ค อจ านวน กล ม ต องการแบ งก กล มค อค า K ต วแทนแต ละ กล ม ใช เป นค าเฉล ยของสมาช กในแต ละกล ม เลยเป นค า Means ข นมาให โดยค า Means ออกมาเร ยกเป นเซ นพอย ว ธ การทางาน ก าหนดจ ดศ นย กลางของแต ละคล สเตอร แล วหาระยะห างระหว างข อม ลแต ละต วก บจ ด ศ นย กลาง ม น ของแต ละคล สเตอร แล วก าหนดให ข อม ลท อย ในคล สเตอร ท ใกล ส ด แล ว ค านวณหาจ ดศ นย กลางของแต ละคล สเตอร ใหม ท าซ าจนข อม ลในคล สเตอร เด มไม ม การ เปล ยนแปลง I t. n o n g k r a g m a i l. c o m P a g e

44 ต วอย าง K-Means ในการแบ งกล มรอบแรก K-Means จะย งไม เช อข อม ลเท าไหร จะท าการท าซ าอ กรอบ จนกว าจะหาจ ดศ นย กลางใหม ว าจะได ผลล พธ เท าเด มไหม ซ งจากต วอย างได ผลการ ค านวณระยะห างก บจ ดศ นย กลางของแต ละคล สเตอร อ กคร ง ผลข อม ลท กต วอย ใน กล มคล สเตอร ท แบ งรอบแรก ม นก จะหย ดทางาน จากผลการค านวณหาจ ดศ นย กลางของแต ละคล สเตอร พบว า คนท อย ใน คล สเตอร 3 ส ง SMS มาส ด โดยออกมาเป นค าเฉล ย 115 และคนท อย ในคล สเตอร กล ม 1 ท าการ Phone มากส ด K-Means ก บการท าส มข อม ล 3 ต วเพ อเป นจ ดศ นย กลางของคล สเตอร ด วยร ปภาพ จากน นจ ดให ข อม ลแต ละต วอย ในกล มท ม ระยะห างจากจ ดศ ยย กลางน อยส ด แล วหาจ ด ศ นย กลางของแต ละคล สเตอร ท แบ งไว แล วว ดระยะห งเท ยบก บจ ดศ นย กลางใหม อ กคร ง ทาซ าอ กคร ง K ก าหนดกล ม กล ม ไม เก นน ท งน สามารถใช ทางสถ ต มาช วยค านวณเพ อว ด ประส ทธ ภาพของ Clustering แบ งน อยใหญ กว าระยะห างก จะมากข น ด วย Average within centroid distance ค าเฉล ยระยะห างของท กจ ดจากจ ดศ นย กลางของคล สเตอร = d1c + d2c+d3c หาร 3 (จ านวนK) ท งน สามารรถว ดประส ทธ ภาพคล สเตอร ดวยการปร บเปล ยน กล มของคล สเตอร K แล วท าการ Plot กราฟระหว างจ านวนกล มของคล สเตอร ก บค า ด วย Average within centroid distance 1. Operator K-Means 2. ใช งาน Operator I t. n o n g k r a g m a i l. c o m P a g e

45 3. กาหนดค าพาราม เตอร ผลล พธ จากการทา Clustering เข ยวโทรมาก I t. n o n g k r a g m a i l. c o m P a g e

46 จ ดศ นย กลางเร ยก Centroid Table อย ท เราสนใจข อม ลในส วนใหญ จ บส วนน นออกมา ต วอย าง Bank Call Center ม การโทรสอบถามข อม ลประเภทเง นฝากแต ละประเภท เง นก ค าท ใส แต ละช อง 1 ค อ สนใจ 0 ค อ ไม ได สนใจไม ได ถาม นาเอาข อม ลมาจ ดกล ม แบ งเป น 5 กล มก อน K=5 I t. n o n g k r a g m a i l. c o m P a g e

47 มาทา Clustering I t. n o n g k r a g m a i l. c o m P a g e

48 ผลค าเฉล ยของข อม ลท อย ในแต ละคล สเตอร ข อม ลท อย ข างในม ค าเป น O และ 1 ค าถามว าค าเฉล ยในกล มไหนสนใจ Deposit_C มาส ด ค อ Cluster_3, Cluster_0 สนใจโปรด ก Load_C และ Deposit_A แล วถ าอยากทราบว าเก น 50% ไปม การชอบอะไรบ าง ตรงน ด ไม ได เพราะไม ม ความส มพ นธ ท เก ดข น เราจะต องทาเพ มด วยการหา Association Rule 4. Operators filter I t. n o n g k r a g m a i l. c o m P a g e

49 FP-Growth ม ค า True, False I t. n o n g k r a g m a i l. c o m P a g e

50 ให คล ก Find min number of itemsets ออกก อน หา Pattern ท เก ดข นร วมก นบ อยๆ โดยการจ ดกล มก อน ส งท ได จะได ค อ ส งท คล าย ๆ ก น I t. n o n g k r a g m a i l. c o m P a g e

51 ต วเง อนไขท ช วยกรองส งท เราสนใจ ในท น สนใจ Deposit_C ต วอย าง Social Network ว เคราะห บนเคร อข ายส งคมออนไลน เพ อท าการแบ งกล ม ผ ใช งานท ม ความชอบคล าย ๆ ก น ท งหมดจานวน 30,000 คน ค ดเล อกกล มค า Keyword ท ส าค ญออกมาม จานวน 36 ค าท พบในข อความ ในการใช งานของน กศ กษาแต ละคน ม แอดทร บ วต ต างๆ เพศ อาย จ านวนท พ ดท พ ด ค าท เก ดข นม ล กษณะก คร งออกมาเป นต วเลข แต ป ญหาท พบค อในไฟล ท ได มาเพศไม ได กาหนดเป น 1,0 เลยต องเอา คอล มพ เพศออกไปก อน โอเปอรเรเตอร ท ใช งาน : Retrieve, Replace Missing Value, Loop Parameters, K-Means Cluster Distance Performance ว ดค าประส ทธ ภาพ, Log เก บล อคใส ในตารางไว ก อนแล ว ค อยมาพอทเป นกราฟ I t. n o n g k r a g m a i l. c o m P a g e

52 ทาการเคล ยร ข อม ลให ด ก อนส งเกตข อม ลตอนแรกท นาเข ามา gender เป น F/M Double click สามเล ยมฟ าม ม Loop I t. n o n g k r a g m a i l. c o m P a g e

53 ทาใหม เอาออก Exclude แล วท บไฟล เด มไปก อน I t. n o n g k r a g m a i l. c o m P a g e

54 I t. n o n g k r a g m a i l. c o m P a g e

55 ตอนน ม Error ให คล กแก ไขล ป เล อก K กาหนด Max = 20, Steps = 19 I t. n o n g k r a g m a i l. c o m P a g e

56 Charts เล อกแกน X = k และแกน Y เป น performance เทคน คท 2 Agglomerative Clustering เป นประเภท Hierarchical clustering (แอคเพอเมอร ท ฟคล สเตอร ล ง) เป นการรวม Bottom up หมายความว าด ข อม ลแต ละต ว เป น 1 คล สเตอร ก อนค อยๆ รวมเป นช ดท ใหญ ข น ด ท ละคล สเตอร ม เบอร ไป เร อยๆ แล วท าการเปร ยบเท ยบแต ละต วไปเร อยๆ 1,2,3,4,5,6 แล วด เป นค ๆ มาจ บเป นกล ม จากภาพกราฟจะรวม 1 ก บ 3 เป น 1 กล มคล สเตอร ก อน ถ ดมาท าการเท ยบก นแต ละช ด ค าถามเบอร 1 จะเท ยบก บส ฟ าได อย างไร โดยท าการว ดระยะห าง หร อความคล าย ระหว าง ข อม ลก บคล สเตอร 1. ว ดระยะห างเท ยบก บข อม ลท อย ใกล ส ดในคล สเตอร : Single Link 2. ว ดระยะห างก บข อม ลท อย ไกลท ส ดในคล สเตอร : Complete Link 3. ว ดระยะห างเท ยบก บข อม ลท กต วในคล สเตอร : Average Link ส ดท ายม นจะทาการ Group เข ามาเป นคล สเตอร เด ยว I t. n o n g k r a g m a i l. c o m P a g e

57 กราฟเร ยกเดนโดแกรม ย งห างก นมาจ ดมาก ใกล ก น Group รวมก นได ส ดท ายอย ท เรา พ จารณาว าจะยอมร บความห างของจ ดได มากน อยแค ไหน เช น การต ดก นในแนวแกน Y จะได กล ม 2ก บ 3 รวมก น (หน า 325) การต ดน อยไปเร อยๆ จะเหล อ 2 และ ต ดเพ มอ กก จะเหล อ กล มเด ยว โดยม นจะท าของไปเร อยๆ จนเหล อจ ดส ด ม นจะใช เวลานานมากเวลาข อม ลมากๆ แล วก จะทางานเป นลาด บข นข นไปเร อย ๆ จนถ งจ ดส ดท ายส งส ด เหล อเพ ยง Group เด ยว ต วเลขหล งเคร องหมาย : ค อ ต วเลขช ดท อย ในหมายเลขน น ข างหน า : ค อต วเลขจานวนสเตปข างหล ง : ค อค าท รวมไว เช น Step5 รวม 1 ก บ 6 เข าไว ด วยก น, Step7 ค อ รวม 3 ก บ 4 ส วนค าในวงเว บค อค า Distance Graph แสดงภาพรวมของการทางานแต ละโหนด แต ละข นลาด บ I t. n o n g k r a g m a i l. c o m P a g e

58 สร ปว า K-Mean ม ข อด แต ถ าม ข อม ลท แปลกประหลาดมาก ๆ จะท าให เก ดเป นวง ๆ แตก ออกมา เหมาะส าหร บกล มท ม นเกาะกล มก นจร งๆ ซ งจะม การแบ งข อม ลท ม การแบ งเป น วงกลมหร อวงกลมได เทคน ค DBSCAN Clustering เป นเทคน คการทา Clustering ด วยการพ จารณาจานวนข อม ลท อย ในร ศม ท กาหนด พาราม เตอร ท สาค ญ ค อ - Epsilon (แอพสลอน) ค อ การระบ ร ศม รอบข อม ล - min pints ค อ เป นการระบ จานวนข อม ลในร ศม ถ าม นอย ใกล ก นมากพอถ อว าอย ในกล มเด ยวก น จะขย บไปอย ท ใกล ก น ในต วอย างขย บไปด านบนขวา เก ดเป นเส นประวงกลมเข ม แล วหาจ ดท ม มากพอไหมก รวมก น ท าไปเร อย ๆ จนส ดท ายผลการ แบ งกล มข อม ลด วยเทคน ค DBSCAN จะได ผลท อย ข างในวงกลมในส ด Workshop ต วอย างเร ยกใช ท Sample Process 7_Clustering 12_DBSCAN สร ป DBSCAN ม นเป นการทา Clustering อย างหน งเหมาะสาหร บการทาข อม ลท แปลกๆ คอนเซปคล สเตอร ล ง ค อ ม นจะท าการจ ดการแบ งกล มคล ายๆ ก นให อย ในกล มเด ยวก น แล ว จ ดศ นย กลางท อย ในแต ละกล มม อะไรบ าง สร ป Association Rule รวมก นใช ในการอธ บายข อม ลมากกว าการคาดการณ ส งท เก ดข นในอนาคต และเช นเด ยวก บการ Clustering ไม สามารถคาดการณ ในอนาคตได ท าได แค จ ดกล มใก อย ในกล ม เด ยวก นเท าน น I t. n o n g k r a g m a i l. c o m P a g e

59 Chapter 7 Classification งานส วนใหญ ของ Data Mining จะเป นในการท า Classification ซ งสามารถพบในช ว ตประจ าว น เช น การพยากรณ อากาศ, เร อง Speech recognition, face recognition การอ พโหลดร ป แล วบอก ว าเป นหน าใครเช นในเฟสบ ค, Spam ต วอย างการทา Spam classification - ให ระบ ว า ไหนบ างท เป น spam เช น Keyword ท ม คาว า won, FREE,cash ในบทน นาความค ดมาสร างเป นโมเดลแล วสร างการทานายข อม ลท ม มาใหม ได - หา Keyword ท ใช บ งบอกเป น spam- แล วสร างเป นตารางประกอบด วยคอล มม FREE, Won, Cash, Type แล วกาหนด Keyword Y,N (หน า 356) - สร างเป นโมเดล (Classification model) ได จากข อม ล training data ซ งม ลาเบล (label) เป น คาตอบไว ก อน บางท เร ยกว าลาเบล หร อคลาส ถ าลาเบลของเร องทานายฝนตก ค อ ตก หร อไม ตก นศ.คนน ควรเร ยนว ชาไหนด ลาเบลค อค าตอบว ชา ฉะน นลาเบลค อค าตอบ ของการท านายน น ๆ ต วไหนท เป นค าตอบม นจะอย ล าส ดของ Decision Tree โดยค าตอบ เร มจากโหนดบนส ดก อนไล มาล าส ดก จะเจอค าตอบ ส งท ต องค าน งถ งค อ ถ าค าตอบ เปล ยนโมเดลก จะเปล ยนด วย ถ าข อม ลม มากข นอาจจะม ข อม ลท คานวณมากข นตาม - นาข อม ลใหม (unseen data) ทานายโดยใช โมเดล จากต วอย างเบอร 11 และ 12 เป น Spam ท งค สร ป เอา Training Data Model Classification & Regression Regression คาตอบจะเป นต วเลข Classification ค อตอบค าไม ใช ต วเลข เช น คลาส, ลาเบล Y,N ข นตอนการสร างโมเดล - Training Data - Testing Data ท งสองข นตอนมาจาก Training Data รวมใหญ ท งค หากผลการท าไม เหมาะสมก บเทคน คก ต องเปล ยน เทคน คใหม เอา Test Data มาทดสอบว าถ กต องมากน อยแค ไหน Prediction Results ถ าผลการทานายออกมาตรงก น ก จะงานได และว ดประส ทธ ภาพผลการทานายว าได ก เปอร เซ นต ต วว ดประส ทธ ภาพของโมเดล (Classification) - Confusion Matrix เป นการทานายไว ว าถ กผ ดเท าไหร I t. n o n g k r a g m a i l. c o m P a g e

60 เป นตาราง ขนาดเท าก บจ านวนแถวค ณจ านวนคอล มม ท ม (หน า 365) ก าหนดสถานะผล ด งน - True Positive (TP) - True Negative (TN) - False Positive (FP) - False Negative (FN) ม สไลด อย ในเว บไซต ต วท ทานายม ความถ กม มทะแยงส ง - Precision ด ส งท เรา Predict ออกมา แล วทายถ กได ก เปอร เซ นต ผลการคานวณได ทายถ กก ต วจากผลท ได ออกมาจากต วอย าง Precision สาหร บ normal ม ค า True Positive หาร ด วย TP+FP เช น 4/7x100 = 57.12% Precision สาหร บ spam ม ค าเท าก บ 6/8x100 =75% - Recall จานวนท ทานายถ กก ต ว ความถ กต องของแต ละคาตอบ ในการทายว าส งท ต องการค ออะไร ต องการท านายจ านวนคนท ปวยเยอะกว า จะด ได จาก Recall ออกมาว าต วไหนให คาตอบมากกว าน อยกว า อ กต วจะมาช วยในการทานายช อ - F-Measure ช วยหาค าเฉล ยของ Precision และ Recall เช นคานวณจากค าเฉล ยของท งสองก อนหน าค อ 2XPrecisionXRecall หาร Precision+Recall - Accuracy จานวนข อม ลท ทานายถ กของท กคลาส จากผลต วอย างม การถ กต งอท งหมด 10/15X100 = 66.6% - ROC Graph & Area แสดงกราฟความส มพ นธ ท านายถ กไปทางแกนต ง (Y) ถ าทาย ผ ดไปแนวแกนนอน (X) มากส ดอย ด านล าง จะเร มจากด านล างก อน ม เส นข นมาจากเบอร 12 (หน า 380) ถ าม ข อม ลผ ดเก ดเป นแนวนอนในเบอร 7 กราฟท ได จะข นมาแบบบรรใด ข นมาเป น Curve ค าถามค อ ถ าเราท านายถ กเยอะๆ กราฟจะข นไปข างบน เป นโมเดลท ด แต ถ าเป นเส น ทะแยงม ม กราฟเร มไม ด แล ว แสดงถ งข อม ลไม ค อยด จากต วอย างจะเห นได จากคอล มม ท ทานายได ผลเพ มข นท ละ 0.2 กราฟจะค อยๆ เพ มข นไปเร อยๆ ในคอล มม ROC Curve ม ค าเข าใกล 1 จะแสดงว าม ประส ทธ ภาพด กว า จากกราฟ - Area Under Curve พ นท ใต กราฟ (AUC) ถ าพ นท ใต กราฟเข าใกล 1 จะม พ นท ใต กราฟ มาก ฉะน นม ค ามาก (เข าใกล 1) จะย งด - สร ปแล วเป นต วว ดประส ทธ ภาพเหล าน จะช วยมองในม มมองต าง ๆ ได I t. n o n g k r a g m a i l. c o m P a g e

61 Validation การแบ งข อม ลเพ อทดสอบประส ทธ ภาพของโมเดล ว ธ การทดสอบโมเดลแบ งออกเป น 3 ต ว - Self-consistency test (use training set) เอา Training Data มาเป นต ว Test เลย ค อ ใช ข อม ลเด มแล วม นม ความถ กต องมากน อยแค ไหน - Split test แบ งออกเป น 2 ส วนเลย ค อ เป นโมเดล และส วนทดสอบ เช น 70% สร าง โมเดล 30% ใช ทดสอบ หร อ 80:20 ใช ข อม ล 2 ช ด เป น Training data ส าหร บสร าง Model และ Testing Data ส าหร บทดสอบ ถ า Sampling มาด ก ได ข อม ลทดสอบด Split Test จะด เม อม ข อม ลมากๆ หม นหร อแสนต วข นไป - Cross-validation test ใช ค อนข างเยอะเหม อนก น การท า Split หลาย ๆ รอบ การท า คล ายๆ ก บ Split แต แบ งจ านวน N ช ดเท าๆ ก น เช น N=5, N= 10 แล วท างานโดยการ สร างโมเดลท งหมด N ต ว จนครบ Split Test ท ารอบเด ยวแล วจบไป ค อเก บ1,2 ไว แต ใน Cross จะเอา 3 ไปเป นต วทดสอบ แล วใส 2 กล บเข าไป แล วเอา 1 เป นต วทดสอบ จะ พบว าท กต วจะถ กน ามาทดสอบหมด เราจะได ความถ กต องเฉล ยออกมาในแต ละรอบ แต ไม เหมาะก บการทาแบบน ก บกรณ ท ข อม ลมากๆ ไม เหมาะ ต วอย างของ 5-fold cross-validation ม ข อม ล 5 ส วนแบ งออกเป นกล มเท า ๆ ก น เหล อง เข ยว ฟ า แดง ม วง แล ววนทาให ครบ 5 รอบ เช นรอบท 1 ท าแล วเก บเป นต ว Test ไว รอบท 2 เอาส เข ยวใส เข าไป แล วทดสอบ ด วยกล มส เหล อง ท าแบบน วนไปให ครบท กรอบส แล วส ดท ายเอาท กส มาเฉล ยก น ค าถามจะ เล อกใช โมเดลไหนด จากผลการร นทดสอบ ด ต วโมเดลท ได ต วไหนให ผลเฉล ยออกมาได ด ส ด เล อกต วน น แนวทางท 2 ไม ใช งาน 5 ต วน เลย แต จะเอาท งหมด หน งแสนต วมาสร างโมเดล อ กท ค อ ถ าม ข อม ล 5 แสนต ว แต ละรอบแบ งโมเดล แสนต วก บแปดแสนต ว (หน า 395) สร ปค อว ดประส ทธ ภาพก อนแล วหาเทคน คไหนเหมาะสม ระหว ง A,B, C ถ าได เทคน ค ไหนด ท ส ดก เอาไปสร างเป นโมเดลท ใช งานจร ง Classification Techniques - Decision Tree - Naïve Bayes - K-Nearest Neighbors (knn) - Linear Regression - Neural network - Support Vector Machines I t. n o n g k r a g m a i l. c o m P a g e

62 - Ensemble Classifiers - Attribute Selection - Compare classification performance Decision Tree การทางานเป นโหนด โหนดท เป นท วๆ ไป X, โหลดท เป นล ฟโหลดไม ม อะไรมาต อ Y โหนดบนส ด Root ม เส นท เช อม เร ยก ก ง หร อ Branch, Internal Node ต วอธ บายการต ดส นใจไปเร อย ๆ ข อด ค อสามารถแทนความหมายได ง าย Decision Tree เป นเทคน คท จ าแนกท าการหาจาก Training Data ท เราม Attribute ท วไปท ม เช น ม Free, won,cash จาก Label ท เราม ม นจะต องม การแบ งแยกค าตอบได อย างช ดเจนท ส ด ด วยการ คานวณค า Entropy (เอ นโทป ) และ Information Gain (IG) ส ตร Entropy (c1) = -p(c1) log p(c1) IG (parent, child) = Entropy (parent) [p(c1) x Entropy(c1) + p(c2) x Entropy(c2)+ ] ล กษณะของค า Entropy ถ าค าเหม อนก นหมดจะม ค าเป น ศ นย มาจากส ตร ความน าจเป น 1 แอททร บ วต ไหนท จะนามาเป น Root Node ค อเอาแอทร บ วต ท สามารถแบ งแยกค าตอบได อย าง ช ดเจนก อน ต วอย างข อม ล Weather เก บสภาพภ ม อากาศจ านวน 14 ว นเพ อพ จารณาว าม การแข งข น ก ฬาได หร อไม (ถามว าม Yes ก ต ว ตอบ = 9 แทนด วยร ปส ฟ า No = 5 แทนด วยส ส ม) ผลของวงกลมย ง ไม ได แบ งข อม ลออกมาน าออกมาพอทค านวณ เข าส ตร Entropy = 0.97 ม ค าใกล 1 แล วท าการกรอง ข อม ลจาก 14 ต วท ม ผลเป น Sunny โหนดไหนแบ งแยกคาตอบได อย างช ดเจนเป น root node ก อน ในต วอย างเล อก outlook เพราะม คาตอบ outlook = overcast ท เป นส ฟ าล วนให คาตอบในทางเด ยวได ช ดเจน โมเดลเปล ยนตามดาต าท ม แต ถ าม ข อม ลใหม ม นต องเร ยนร ได มากข น ถ าข อม ลเป นต วเลข - เร ยงลาด บข อม ลท เป นต วเลขจากน อยไปมาก - แบ งข อม ลออกเป น 2 ส วนโดยหาจ ดก งกลางระหว างค าต วเลข 2 ค า - คานวณค า information Gain จากข อม ล 2 ส วนท แบ งได - เล อกจ ดก งกลางท ให ค า Information Gain ส งท ส ดมาใช งานต อ Workshop : Decision Tree Operator ท เก ยวข อง Retrieve, Decision Tree I t. n o n g k r a g m a i l. c o m P a g e

63 I t. n o n g k r a g m a i l. c o m P a g e

64 Export file ร ป Tree ได เปล ยน Tree เป นกฏออกมา I t. n o n g k r a g m a i l. c o m P a g e

65 เล อกด ในม มมองของ Tree Result I t. n o n g k r a g m a i l. c o m P a g e

66 พอได Validation ออกมาแล ว นาข อม ลไป Predict ต อ ท ได ค อส เข ยว เป นผลการทานาย I t. n o n g k r a g m a i l. c o m P a g e

67 เทคน ค Naive Bayes : ใช หล กการความน าจะเป น (Probablility) ไม ต องใช Tree โอกาสท เก ดเหต การณ จากเหต การณ ท งหมด ใช ส ญล กษณ P() หร อ Pr() เช น การโยนเหร ยนค วามน าจะเป นของการเก ดห วและก อย อ กอ นค อ Joint Probability ค อ ความน าจะเป นของ 2 เหต การณ ท เก ดข นร วมก น พร อมก น ส ดท ายค อใช หล กการของ POP Probability (หน า 453) Bayes Theorem โดย C ค อ คลาส (หน า 454) ร ต วแปล X แต ไม ร ต วแปล Y ร ค าตอบความน าจะเป นของ C ส ตรท ได เก ดจากการ Training Data Workshop : Naive Bayes I t. n o n g k r a g m a i l. c o m P a g e

68 บอกความน าจะเป นของแต ละคลาส บอกค าความน าจะเป นท เก ดข นในตาราง ถ าไม เคยพบเหต การณ น นมาก อนเลยความน าจะเป น 0 พอ ไปคานวณแล วจะเท าก บศ นย จะได ผลออกมาเป นศ นย แก ได ด วยเอาค า laplace correction ออกไป I t. n o n g k r a g m a i l. c o m P a g e

69 คล กเอาค า laplace correction ออก เทคน ค K-Nearest Neighbors (knn) : ด จานวนท ใกล ท ส ด K ต ว ต วอย างว เคราะห ข อม ลการให ยาของคนไข โดยด จากอาย และค า Na/K เอาข อม ล Training Data มา ว เคราะห ได ด ง หน า 480 จานวนข อม ลต วท ใกล ม มากส ดจะเป นข อม ลส น น ๆ โอเปอร เรเตอร ท เก ยวข อง I t. n o n g k r a g m a i l. c o m P a g e

70 I t. n o n g k r a g m a i l. c o m P a g e

71 คล กท Performance เพ อด ค าผลล พธ I t. n o n g k r a g m a i l. c o m P a g e

72 I t. n o n g k r a g m a i l. c o m P a g e

73 เทคน ค Linear Regression : การแสดงผลแนวเส นตรง เป นการสร างสมการเพ อแสดง ความส มพ นธ ของต วแปรอ สระ (แอทร บ วต ) และต วแปรตาม (คลาสค าตอบ) ต าตอบท น าสนใจ เป น ค าต วเลข ต วอย างผลการเร ยน GPA นศ.ปร ญญาตร และคาดการณ ว าตอนจบปร ญญาโทด วยเกรดเท าไหร ต วว ดค า Error ว ดประส ทธ ภาพของ Regression RMSE (Root Mean Square Error) ส งแรกท ม ต องม Error ก อน แล วน ามาเข าส ตรการค านวณ น า Training Data ท เตร ยมไว มาค านวณ เอาจ านวน Error ท งหมดยกก าล งสองลบก บ Error ท งหมดถอด Square Loot ถ าว ด Regression Error อยากให ม ค าต าๆ น อยๆ จะด แต ถ าถามถ งความถ กต องเลขผลท ได ส งๆ จะด กว า Workshop : I t. n o n g k r a g m a i l. c o m P a g e

74 ค าเด ม I t. n o n g k r a g m a i l. c o m P a g e

75 เทคน ค Neural Network : ทางานก บข อม ลท ม ความซ บซ อนได ด กว า Linear แบบ Basic ค อโมเดลทางคณ ตศาสตร ท เล ยนแบบการท างานของสมองมน ษญ แบ งการท างาน เป นวงกลม 1 วงกลม ค อ 1 โหนด จะม การเร ยงต วเป นช นๆ บนส ดเร ยก Input Node ช นสองเร ยก Hidden node ม นซ อนอย สร างข อม ลให นอกส ดเป น output node ท เป นต วเลข ด ค าตอบต วไหน มากกว าก นเป นค าตอบน นไป ส งเกตจากโหนดส แดง H1 ม เส นเช อมเข ามาหา การท างานส าค ญค อค า น าหน กท ส งไปให แต ละเส นแต ละโหนด ม นจะม ค าน าหน กอย เช น W11 ค อ ค าน าหน กจาก input node 1 ไปย ง hidden node1 พอม เส นเช อมไปย ง hidden node แต ละต วแล วจะม การทางานข างในแต ละต ว เช น Hidden node 1 จะม ค าอย ข างใน เข าไปแล วจะพบว า ค าน าหน งส วนใหญ จะเป ฯ sigmoid function แต ละ ต วแปรจะม ค า A1, A2,A3,A4,A5 เส น W1, W2,W3,W4,W5, แล วมา Sum หาผลรวมเฉล ยออกไป ม ค า เป น 0,1 โดยเร ยกใช function ท ใกล เค ยงท ส ดในน น ค อ f(x) = 1(1+eยกกาล งลบ x) ถ า label ท อย ในโหนด active function ผล output note ท ได จะม active function ก จะออกมา เป น linear function Neural Network โดยส วนใหญ จะม 3 ช น input node, hidden node, output node การม 3 ช นก สามารถท างานได ด แล ว หากม การซ บซ อน hidden node เข ามากไปอ กม นจะเก ด Over fitting น าหน กบนเส นแต ละเส นส าค ญก บค าตอบว าม ผลมากน อยแค ไหน ซ งการท างาน neural network จะเป นการทางานแบบ Back box มากกว า งานท น าไปใช เทคน คน ไม เหมาะก บการคาดการณ ท จะเอาไปอธ บายต อ เช น จะคาดการณ ว า ใครโกงไม โกงในการจะให ส นเช อก เง นควรเล อกใช เทคน คอ นแทน ต วอย างการใช งานก บโอเปอร เรเตอร ท ใช Read CSV, Neural Network I t. n o n g k r a g m a i l. c o m P a g e

76 การเพ มค า Hidden I t. n o n g k r a g m a i l. c o m P a g e

77 ต วอย าง Gold trend prediction คาดการณ ทองคาว าจะข นหร อลง I t. n o n g k r a g m a i l. c o m P a g e

78 เทคน ค Support Vector Machines (SVM) : ไอเด ยค อเป นเทคน คท ใช สมาการเส นตรงเส น หน งมาพ ฒนา linear ท แบ งข อม ลออกเป น 2 คลาส (2ช ด) ความยากค อกรณ ม หลายเส น ส งท เก ดข นค อจ ดต ดของขอบเส นข อม ลท ง 2 คลาส ตรงขอบของซ าย และขวาท ง 2 คลาสเร ยก Support Vector ของคลาส A และ Support Vector ของคลาส B ถ าจ ดของส ม การข ามเส นฝ งใดฝ งหน งมาจะทการเล อกโมเดลท ม ระยะห างระหว างคลาสมากท ส ด (หน า 555) SVM ม การใช Kernel function เพ อท าการแปลงข อม ลท ไม สามารถใช โมเดล linear ไปอย ม ต (dimension) ท ส งข น โดยใช linear แบ งข อม ลได ง ายข น (หน า 559) Kernel function ช วยกรณ ท แบ งข อม ลไม ได ม นจะท าการ Map dimension ท ต ากว าไปอย dimension ท ส งข น แบ งได ง ายข นด วยเส นตรง โอเปอร เรเตอร ท ใช งาน Retrieve, SVM(LibSVM) ใช สาหร บสร างโมเดล SVM ต วอย าง Sonar เป นห น หร อ แร จากไฟล Sample Data Sonar I t. n o n g k r a g m a i l. c o m P a g e

79 ว ดประส ทธ ภาพการทา I t. n o n g k r a g m a i l. c o m P a g e

80 ผลออกมาย งไม ค อยด SVM เพราะค า Rock เป น 0 ปร บค าด วย Optimize Parameter (Grid) I t. n o n g k r a g m a i l. c o m P a g e

81 I t. n o n g k r a g m a i l. c o m P a g e

82 I t. n o n g k r a g m a i l. c o m P a g e

83 ผลล พธ ท ได ด ข น เทคน ค Ensemble Classifiers (Vote) : เป นการสร าง Classification model มากกว า 1 ต ว เพ อช วยก น predict ค าตอบเหมาะส าหร บ 6 เทคน คก อนหน าม นต ดแล ว ให น าเทคน ค เอสเซม เป ล คลาสซ ไฟเออ โมเดลน ม ประส ทธ ภาพท ด กว าการใช Classification model หน งโมเดล โมเดล ต าง ๆ ต อง independent ก น เทคน คการสร างใช โมเดลร วมก นเช น Tree, k-nearest neighbors, Neural Network โดยจะเช อผลจากการโหวตแล วว า 2 ใน 3 ม ค าเหม อนก น โดยแต ละโมเดลต องม ค า ความถ กต องมากกว า 50% โอเปอร เรเตอร Read CSV, Vote ใช ในการสร างโมเดล Ensemble I t. n o n g k r a g m a i l. c o m P a g e

84 I t. n o n g k r a g m a i l. c o m P a g e

85 ต วอย าง เพ ม Operation เพ อช วยการแก ไขต วแปร k-nn อยากทราบว า K เป นเท าไหร ด ใช Optimize Parameter(Grid) เร ยกค า K ให เท าไร แล วช นท 2 ก จะม Cross-validation ผลโหวตต วไหนส งท ส ด ม ค า K ความถ กต องมากท ส ด I t. n o n g k r a g m a i l. c o m P a g e

86 ผลการ Run จากผลจะเห นว า K=2 ได ค าความถ กต อง 83% I t. n o n g k r a g m a i l. c o m P a g e

87 เทคน ค Attribute Selection : การเล อกแอทร บ วต ทางท ด ให เล อกต วแปรเฉพาะท จ าเป นหร อ ส าค ญใช งาน เล อกค าแอททร บ วต แล วไปจ บค ถ ดไปเร อยๆ จาก 2 ไปเป น 3 ถ า 2 ให ประส ทธ ภาพได ด กว าจ บ 3 แสดงว าใช แค 2 ก เพ ยงพอแล ว แล วท าการต ดค าซอยย อยออกมา ด ว า 4 ด กว า 5 หร อไม หาก 3 ด กว า 4 แสดงว าไม ต องลดแล ว เน อหาน อย ในเว บไซต เร ยก Evolutionary, Genetic ทาเป นล กหลานต อย อยไปเร อยๆ โอเปอร เรเตอร Optimize Weight (Evolutionary) ให ผลการส มด กว า Backward, Split-Validation แทน เพราะจะทาใช Test ต วอย าง Gold I t. n o n g k r a g m a i l. c o m P a g e

88 ค า Performance ท ได split I t. n o n g k r a g m a i l. c o m P a g e

89 I t. n o n g k r a g m a i l. c o m P a g e

90 CD = 0 ต วไหนเป นศ นย จะต ดออกไป ใช Select มาเล อก Wet บอกได ว าจะเอาต งแต เท าไหร ข นไป I t. n o n g k r a g m a i l. c o m P a g e

91 I t. n o n g k r a g m a i l. c o m P a g e

92 เทคน ค Compare classification performance : เป นการเปร ยบเท ยบว าต วไหนด กว าต วไหน โอเปอร เรเตอร Multiply ใช กระจายให เป นหลายๆ ช ด, ไม ม ไอด ม แต ลาเบล I t. n o n g k r a g m a i l. c o m P a g e

93 I t. n o n g k r a g m a i l. c o m P a g e

94 ช วยพ จารณาการเปร ยบเท ยบข อม ล I t. n o n g k r a g m a i l. c o m P a g e

95 สร ป เทคน คการทา Data Mining 1. การหากฏความส มพ นธ association rule ต องการค าท ม นเก ดข นร วมก นบ อยๆ ค าท เราสนใจ 2. การจ ดกล มข อม ลคล าย ๆ ก นไว ด วยก น Clustering ล กค าซ อส นค าในกล มเด ยวก นไว ด วยก น 3. การสร างส งท ม ในอด ตมาทานาย Classification ม Application ค อนข างหลายต ว โดยท งหมดน เป นการอ านค าเข ามาเป นในร ปแบบตารางเข ามาพ จารณาการทางานต อยอด Chapter 8 Introduction to Text Mining หล กการนา 3 หล กการของ Data Mining มาใช งาน ในต วซอฟต แวร Rapid Miner สามารถทาได ร ปแบบข อม บม 3 แบบค อ I t. n o n g k r a g m a i l. c o m P a g e

96 - ข อม ลท ม โครงสร างในร ปแบบตาราง excel, db - ข อม ลไม ม โครงสร าง ไม ม อะไรบ งบอกแถวหร อคอล มม Unstructured Data - ร ปภาพ ข อม ลท ไม ม โครงสร างท เก บข อม ลในร ปแบบข อความ ร ปภาพ เส ยงม จานวนมากถ ง 80% - V volume - V velocity - V vality กล มค าท คล าย ๆ ก น ข าวเด ยวก นมาอย ในกล มด วยก นคล ายการท า clustering และการท างานด วย Sentiment การให ความหมายของคา คนท ม ท ศนคต อย างไรจ ดกล มเด ยวก นด านบวกหร อลบ Text Representation: ในการว เคราะห ข อม ลข อความต องท าการแปลงข อม ลให อย ในร ปแบบท ม โครงสร าง จ ดว าเป น Positive, Negative ต วอย างข อความจาก Twitter Text Representation : Bag of Words จ านวนความถ ของค าท เก ดข นในข อความ แล วมาท าการต ดค าข อความท พบความถ บ อย แล วท าการ แปลงข อความมาเป นตาราง เร ยกว า Bag of words ภาษาอ งกฤษสามารถทาได ในเร องต ดคาเพราะม จ ด stop ข อความ Text Representation : Stemming แปลงคาให เป นรากศ ทพ (root) เช น finding เป น find การทา Stemming ต ด e, se,ing ท ง Text Representation : Remove stopwords ต ดค าท เป น stop word ท ง แล วน าแอทร บ วต ท ได ไปท างานต อด วย Convert text to structured data Binary occurrence ถ าม ค าท เก ดข นในแต ละเอกสารจะให ค าเป น 1 ถ าไม เก ดข นจะเป น 0 สนใจด ว าเก ด หร อไม เก ด ต วอย าง หน า 628 ข อจ าก ดค อ ม นบอกได แต ว า เก ดหร อไม เก ด แต ไม สามารถบอกได ว า เก ดบ อยแค ไหน ม นเลยม ว ธ การท 2 ค อการหา Term Frequency ม นค อ จ านวนคร งท คาน นเก ดข นใน เอกสารท งหมด เก ดข นบ อยแค ไหน เก ดข น 10 แสดง 10 ต วเลขออกมา แต ม นก ม ข อจ าก ด เช นค า Common เก ดข นบ อยมากๆ ในหลายๆ เอกสาร แล วเอกสารพวกน ม นอย คนละ Label ก น เช นเราจะท า คาน นม นควรจะเก ดใน Positive, Negative อย างเด ยวแต ม นด นไปเก ดท ง สองอย าง ม นเลยม การแก ไข ข นด วย TF-IDE ค อ จ านวนคร งจองค าท เก ดข นค ณก บจ านวนค าท เก ดเฉพาะเอกสารในคลาส ซ งต วน จะเป นต วท น ยมใช แต จะพบป ญหาเก ยวก บค า แอททร บ วต ท มาก จ งจ าเป นต องใช เทคน คการเล อกใช Attribute ท สาค ญหร อต องการจร ง ๆ ออกมา N-Gram sequences: จานวนคาท พ จารณาต อก น N ต ว - Unigram การด ท ละคา พ จารณาการเก ดข นของแต ละคา I t. n o n g k r a g m a i l. c o m P a g e

97 - Bi-gram การด สองคาต ดก น พ จารณาการเก ดข นของคาท ต ดก น 2 คา เช น so good - Tri-gram การด สามค าต ดก น พ จารณาการเก ดข นของค าท ต ดก น 3 ค า เช น smells so good ต ดต ง install text mining plunging to RM7 คนหา plugin ช อ text processing หน า 650 จากน นป ดแล วเป ดเคร องใหม ใช งาน ต วอย าง Sentiment analysis โดยม ข อม ลท ต ดค ดมาให แล วว าเป น Positive, Negative โอเปอร เรเตอร ท ใช process document from files การอ านจากไฟล มา ทาการ Review หน งแต ละเร อง I t. n o n g k r a g m a i l. c o m P a g e

98 C:\Users\nongkran\Dropbox\MyLeaning\Data Mining\RapidMiner\dataset\Chapter8\review_polarity\txt_sentoken I t. n o n g k r a g m a i l. c o m P a g e

99 I t. n o n g k r a g m a i l. c o m P a g e

100 I t. n o n g k r a g m a i l. c o m P a g e

101 I t. n o n g k r a g m a i l. c o m P a g e

102 Chapter 9 Introduction to Image Mining ต วอย างการท า detect ป ายทะเบ ยนรถยนต แบบอ ตโนม ต, การท า detect ลายม อ, การแบ งร ปภาพ ออกเป นกล ม ๆ ประเภทต าง ๆ เช น ร ปก หลาบ กระต าย Image Classification ในสายตามน ษย สามารถบอกได ว าภาพไหนเป นภาพชายทะเล หร อภาพป าไม เวลาการประมวลผลจะแปลค าส เป นเกสเกลก อน ให เป นร ปขาวด าก อน เห นความแตกต างของร ปอย ในร ปเหล าน แบ งเป นพ เซลในช องต างๆ จะม ค าอย อย ในช วง โดย 0 ค อส ด า 255 ค อ ขาว ฉะน นส ใดเข มเข าใกล 0 ก จะม การ Convert image to structured data แปลงข อม ลภาพมาเป นข อม ลท ม โครงสร างในร ปตาราง จ ดเป นค าส เช น ผลท ได ผลร ปส น ออกไปทางขาว เป น ประเภทร ป beach ทะเล ต วอย างท 2 ได ผล ผลร ปท ได ค อไปทางด า ปรเภทร ปน เป น forest ร ปป า แล วท า การเก บร ปไว แล วแปลงข อม ลออกมา ว ธ น ท าอย างได โดยการแปลงค าข อม ลภาพเป น Pixel เม อได ข อม ลตารางแล วก นาไปสร างโมเดล Classification ได เป นร ป Tree ค อ Mean ถ ามากกว า เป น beach แต ถ าไปทางน อยกว า เป นส ดา Install image plugin ต วอย าง I t. n o n g k r a g m a i l. c o m P a g e

103 I t. n o n g k r a g m a i l. c o m P a g e

104 I t. n o n g k r a g m a i l. c o m P a g e

105 I t. n o n g k r a g m a i l. c o m P a g e

106 Reference อ างอ งองค ความร การจ ดท าเอกสารฉบ บน จากการเข าร วมฝ กอบรมหล กส ตรการว เคราะห ข อม ลด วย เทคน ค Data Mining โดยซอฟต แวร Rapid Miner Studio7 ณ โรงแรมเค ย โฮม มหาว ทยาล ย เกษตรศาสตร ว ทยาเขตบางเขน กร งเทพมหานคร ร นท 12 ระหว างว นพฤห สบด ท 17 ม นาคม 2559 ถ งว นเสาร ท 19 ม นาคม 2559 โดยว ทยากรผ สอน ดร.เอกส ทธ พ ชรวงศ ศ กดา แหล งข อม ลผ อบรม เว บไซต และเฟสบ ต I t. n o n g k r a g m a i l. c o m P a g e