data mining 1 mining...ถ้าไม่มีโครงสร้างจะเป็น...

16
Data Mining – 1 Why Mine Data? - เอาข้อมูลมาวิเคราะห์ ทานายอนาคต - Mine อะไรจาก Data? – เพราะว่า Data เยอะ เก็บอยู ่ใน warehouse มีข้อมูลหลายแบบ เยอะแยะ - เมื่อก่อนคอมพ์แพง เดี๋ยวนี้คอมพ์ถูกเมมโมรี่ถูกลง Data ก็เก็บพอ แต่เราใช้ Algorithm มาช่วยด้วย เพื่อให้เก็บข้อมูลขนาด ใหญ่ได้ดีขึ ้น ประหยัด ใช Data Structure ที่เหมาะสม - เกิดการแข่งขันกัน ทาให้เราต้องพยายามเอาข้อมูลมาวิเคราะห์ เพื่อให้เก่งกว่าคู ่แข่ง Mining Large Data Set – Motivation - มักจะมีอะไรใหม่ๆ อยู ่ใน data ที่เรามองไม่เห็น (hidden) ทาให้เราต้องดึงมันออกมา - Uncover hidden knowledge What is Data Mining? - ขุดจาก Data ขนาดใหญ่ แล้วเอาไปตัดสินใจ - ค้นข้อมูลเพื่อไปหาความสัมพันธ์ รูปแบบของข้อมูล - เราไม่จาเป็นต้องวิเคราะห์ด้วย stat เลยในครั้งแรก เราทา explore ดูก่อนก็ได้ ว่ามันมีอะไร แล้วค่อยเอาไปตัดสินใจ เช่น เรา อยากดูการใช้โทรศัพท์ของคนไทย แต่ข้อมูลที่เรามี มีแต่ข้อมูลของคนกรุงเทพ เพราะงั้นแปลว่าข ้อมูลเราไม่เวิร์ค ทาให้มีคาว่า Exploration & Analysis จาก large quantity of data เพื่อค้นหารูปแบบที่มีความหมายและเป็นประโยชน์ - แต่ถ้าเราไปคนเจออะไรที่รู ้อยู ่แล้ว เป็น fact อยู ่แล้วก็ไม่นับว่าเป็น knowledge KDD - selection > preprocessing > transformation > data mining > interpretation/evaluation - เช่นเวลาขายของ บนเน็ต เราซื้ออย่างนึง อีกอย่างจะโผล่มาให้กดซื ้อด ้วย Evaluate of Database Technology - เกิดมานานแล้วจ้า - เดี๋ยวนี้ก็ไปทา warehouse, mining Database VS Data Mining - Database จะเป็นพวกการ search เช่น คนทาบัตรเครดิต ใครชื่อ Smith บ้าง เดือนที่แล้วใครยอดซื ้อสูงกว่า 100 บาท บ้าง? - Data Mining จะเป็นการดูว่า ใครบ้างที่มาทาบัตรเครดิต แล้วจะสร้างปัญหา, ใครลงเรียนวิชานี้แล ้วจะได้เอบ้าง? เอา ลักษณะ เอาโมเดลมาวิเคราะห์ ,ถ้ามีฐานข้อมูลลูกค้า แบ่งลูกค้าได้เป็นกี่กลุ ่มที่มีพฤติกรรมผู ้บริโภคที่ใกล้เคียงกัน - การทา Mining ไม่ใช่การดูจาก group by เหมือนพวก Database โจทย์ของสองแบบต่างกัน - Mining จะเป็นการที่ข้อมูลพาเราไปเจอความรู ้ข้อมูลใหม่อะไรบางอย่าง

Upload: truongtuong

Post on 17-Mar-2018

255 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Data Mining – 1

Why Mine Data?

- เอาขอมลมาวเคราะห ท านายอนาคต

- Mine อะไรจาก Data? – เพราะวา Data เยอะ เกบอยใน warehouse มขอมลหลายแบบ เยอะแยะ

- เมอกอนคอมพแพง เดยวนคอมพถกเมมโมรถกลง Data กเกบพอ แตเราใช Algorithm มาชวยดวย เพอใหเกบขอมลขนาด

ใหญไดดขน ประหยด ใช Data Structure ทเหมาะสม

- เกดการแขงขนกน ท าใหเราตองพยายามเอาขอมลมาวเคราะห เพอใหเกงกวาคแขง

Mining Large Data Set – Motivation

- มกจะมอะไรใหมๆ อยใน data ทเรามองไมเหน (hidden) ท าใหเราตองดงมนออกมา

- Uncover hidden knowledge

What is Data Mining?

- ขดจาก Data ขนาดใหญ แลวเอาไปตดสนใจ

- คนขอมลเพอไปหาความสมพนธ รปแบบของขอมล

- เราไมจ าเปนตองวเคราะหดวย stat เลยในครงแรก เราท า explore ดกอนกได วามนมอะไร แลวคอยเอาไปตดสนใจ เชน เรา

อยากดการใชโทรศพทของคนไทย แตขอมลทเราม มแตขอมลของคนกรงเทพ เพราะงนแปลวาขอมลเราไมเวรค ท าใหมค าวา

Exploration & Analysis จาก large quantity of data เพอคนหารปแบบทมความหมายและเปนประโยชน

- แตถาเราไปคนเจออะไรทรอยแลว เปน fact อยแลวกไมนบวาเปน knowledge

KDD

- selection > preprocessing > transformation > data mining > interpretation/evaluation

- เชนเวลาขายของ บนเนต เราซออยางนง อกอยางจะโผลมาใหกดซอดวย

Evaluate of Database Technology

- เกดมานานแลวจา

- เดยวนกไปท า warehouse, mining

Database VS Data Mining

- Database จะเปนพวกการ search เชน คนท าบตรเครดต ใครชอ Smith บาง เดอนทแลวใครยอดซอสงกวา 100 บาท

บาง?

- Data Mining จะเปนการดวา ใครบางทมาท าบตรเครดต แลวจะสรางปญหา, ใครลงเรยนวชานแลวจะไดเอบาง? เอา

ลกษณะ เอาโมเดลมาวเคราะห ,ถามฐานขอมลลกคา แบงลกคาไดเปนกกลมทมพฤตกรรมผบรโภคทใกลเคยงกน

- การท า Mining ไมใชการดจาก group by เหมอนพวก Database โจทยของสองแบบตางกน

- Mining จะเปนการทขอมลพาเราไปเจอความรขอมลใหมอะไรบางอยาง

Page 2: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Data, Information, Knowledge

- Data เปนขอมลดบทสรางมาจากระบบตางๆ เชน เวบ ระบบเกบขอมลตางๆ

- Information เปนพวกรายงาน ทไดมาจาก Warehouse เชน กราฟตางๆ

- Knowledge เปนการสกดขอมลมาจาก Information ทเปนความรใหมๆ Guide ส าหรบการตดสนใจ

Database VS Data Warehousing

- Warehouse อยากรวายอดขายของจงหวดนเปนเทาไหร ทอ าเภอนเปนยงไงบาง ,hierarchy มาเกยวของ

- Database อยากรวายอดขายเดอนทแลวเปนเทาไหร

- Mining เปนการดวา เดอนหนายอดขายจะเปนเทาไหร แลวท าไมมนถงเปนแบบนน จะขนหรอจะลง ดแนวโนม ใช

Algorithm ใชคอมพวเตอรทมสมรรถนะเขามาชวย

Search VS Discovery

- Mining จะเปนการ Discover ไมใชการคนหาธรรมดา ถามโครงสรางจะเปนแบบ graph-mining, sequence-mining

ถาไมมโครงสรางจะเปน text-mining, web-mining, image-mining

- Search จะเปนพวกคนหาเฉยๆ เชน ถามโครงสราง จะเปน Data querying, warehousing ถาไมมโครงสรางกจะเปน

information retrieval

KDD Process

- Selection: เปนการเลอกขอมล มาจากขอมลทงหมดเพอเอามาท า mining เชน จะดเกรดนกเรยน กไมตองเอาอาชพของพอ

แมมาดกได เดยวนมวธในการเลอกทงายๆ โดยเปนการเลอก attribute ทสงผลตอ target (Feature Selection

Algorithm) เพราะบางท เปนพนๆ Attribute จะเลอกยงไง ขอมลทเปน text จะเลอกค ายงไง

- Preprocess: Data quality, sampling, clean data,… เยอะ เปนสวนทกนเวลามากทสด

- Transform: Algorithm จะตองการ specific format เรากตองเปลยนใหมนตรงกบทตองการ เชน อลกอตองการขอมล

ทมคาไมเกน 1 เรากตองท า normalization กอน

- Data mining: เลอกวธทจะใช ตองเลอกเทคนคทเหมาะสม ท า clustering? classification? มเทคนคใหเลอกเยอะ เรา

ตองจนพารามเตอรของเทคนคทจะใชใหด เพอใหไดโมเดลทดทสด

- Interpretation: เปนการตความ เพอใหได output pattern ทถกตองและนาสนใจ ถงจะได knowledge ออกมา

Data Mining

- เกดจากไอเดยของพวก ML / AI / pattern recognition / statistic / database system เพราะพวกนมเทคนคท

ตางกนไป รองรบตางกนไป

- วธเฉพาะตวบางอยาง อาจจะไมเหมาะเชน ขอมลขนาดใหญ ม dimension เยอะ ขอมลมาจากหลาย source ท าให

mining จะเอาวธพวกน มาท าใหเหมาะกบสเกลใหญๆ

Statistics -> KDD

- Stat เขาใจยาก ดงมาสวนนงแลวบอกวาอธบายไดทงหมด แต Mining เนนความแมนย า มากกวา ท าใหกระบวนการ Stat

สามารถตความไดงายขน แลวนกstat กมนอย (สมยกอน) ใชคนท า Mining กท าได

Page 3: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Basic Data Mining Task

- Prediction modeling เปนการท านาย ทไมใชตวเลข เชน ท านายวา จะอยหรอไป หนขนหรอลง(classification) แตถา

เปนตวเลขกจะเปนพวก ท านายเกรด (prediction)

- Clustering แบงขอมลเปนกลมๆ ทแตละกลมม record ทเหมอนกนหรอคลายกน แบงกลมอตโนมต ลกษณะวธการดวา

ของสองอยางเหมอนกน ดยงไง เชน โมเดล K-mean

- Link Analysis หา pattern ทเกดขนดวยกนบอยๆ เชนพวก ซอAจะซอBดวย

- Summarization ใหเอกสารไปแลวท าการยอ เปนการอธบาย Data สราง abstract

- Time Series Analysis เชน ดพวกหนตามเวลา

Classification: Application

- Direct Marketing เชน การดวา เวลาจะสงบตรเชญไปหาใคร ทมแนวโนมวาจะท าการซอ ท าใหไมตองสงไปหาทกคน

- Churn Prediction เปนการดวา ลกคาคนไหนจะหนจากเราไป เรากสงโปรโมชนไปใหลกคากอนทสายเกนไป

Clustering Definition

- แบงกลมใหแลว เอามา visualize ใหเราดไดดวยวา ขอมลแตละกลมเปนยงไง เรามความสนใจในกลมไหน

Sequential Pattern Discovery: Examples

- เชน ซอหนงสอเลมน ตอดวยเลมน …

www.kdnuggets.com

หนงสอใชแคครงเทอม แคบางบท ซลอกเอากได

Page 4: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Data Mining -2 - จากควซ คาบางคา correlate กนเกนไป ท าใหไมจ าเปนตองท า Data mining กได เพราะฉะนน คานนเลยไมเหมาะสม

Supervised Learning

- การเรยนรแบบมตวอยาง

- มตวอยาง ม target ทชดเจน ใช training เปน input ทมค าตอบระบไวอยแลว

- คาทระบ อาจจะเปน Mathematical หรอ Categorical เชนพวก เพศ คาสงหรอต า แลวกเปนคา predict ทระบตวอยาง

ค าตอบไวแลว

- ท า supervised เพราะเราตองการท านาย input ทเขามาใหม วาจะไดค าตอบเปนอะไร

- ถาเราไมม objective ชดเจนเราจะไมรวาอะไรจะเปน target ของการท านายน ท าใหไมสามารถท าไดหรอ รแตวาไมมคาค าตอบ

ของขอมลตวอยาง

- เพราะฉะนนปญหาคอ ไมมค าตอบ(เฉลย) ไมรวาจะใชอะไรเปน feature ในการท านาย

- Classification/prediction

Supervised: Classification

- ท านาย categorical target เชน ซอหรอไมซอ

- การพจารณา case เชน การท านายลกคาหนงคน ตองพจารณาจากการโทรศพทมากกวาหนงครง ไมใชแค transaction การโทร

ครงเดยว เพราะฉะนน grain ของการท านายนคอ ลกคา (Customer ID)

- ตวแปรทเอามาใชในการท านาย เรยกวา predictor, feature, attribute สวนคาทตองการคอ outcome (สวนใหญจะเปน

คา binary ใชหรอไมใช แต multiclass กม target มากกวา2)

Supervised: Prediction

- จะเปนการท านายตวเลข

Unsupervised Learning

- ตองการแบงขอมล ไมม target

- ใชการท า clustering, association rules, data exploration, data visualization

- อยางเวลา clustering จะแบงเปนกลมของขอมล แลวแสดงรายละเอยดใหเราเหนเลยวาแตละกลมของขอมลเปนแบบไหน

- Association Rule จะสรางกฎออกมาวา อะไรจะเกนขนกบอะไร เชน ลกคาซอนมจะซอโคกดวย

- Data Exploration จะแสดงขอมลเยอะๆ ดวยเทคนค visualization แบงขอมลเปนหนวยๆ ไมเหมอนเปนกลมแบบ

clustering

- Data Visualization

Steps in Data Mining

- ก าหนด purpose ทชดเจนของการท า mining ท า supervised, unsupervised

- ไปเอา Data มา ถามนเยอะมาก จะท า sampling กอนมย โดย sampling ตองท าแบบมหลกการ ใหไมเสยการกระจายของ

ขอมล ถาขอมลนอย อาจจะตอ งgenเพมเองดวย

Page 5: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

- Explore, clean, pre-process

- Reduce attribute บางอนอาจจะเยอะไป เกด correlation มากเกนไป ตองเอาออก และถาเกดวาเราท า Supervised เรา

ตองแบงขอมลเปนสวนๆ ทจะเอาไวท า training, testing, validation

- เลอกเทคนคทใชวาจะท าอะไร classification, clustering, ….

- เลอกเทคนคทใช อลกอรทมของการท างาน เพอใหไดโมเดลทดทสด

- ถาเกดวายงไมด กตองกลบไปท าใหม ขอมลยงไมดกแกเพม ท าการจนระบบ

- ตองมการท าการ compare model เชน F-measure ,Precision , Recall หรออาจจะเลอกหลายๆ อลกอรทม

- โมเดลทดทสด คอ โมเดลทแมนทสด แมนกบ Unseen ไมใชแมนกบ data ทมาเทรน

Obtain Data: Sampling

- ปกตแลวท ากบขอมลขนาดใหญ ท าใหบาง tools อาจจะไมรองรบ

- ขอมลบางอยางอาจจะไมไดสนใจจรงๆ เชน อยางคนเปนมะเรง จ านวนปรมาณขอมลจะนอยมากๆ สวนใหญจะเปนคนทไมเปน ท า

ใหขอมลมนนอยเกนไป ตองท า oversampling ท าใหคลาสของคนทเปนมะเรงมจ านวนมากขน ท าใหขอมลสองสวน balance

กน แตการ oversampling กตองท าใหเหมาะสมดวย ไมใหมนเวอรเกนไป

- แลวเวลามการท า sampling เรากตองท าการ adjust result ดวย

Preprocessing

- กนเวลามาก 60-70% ทงหมด เพราะเวลาใชเทคนค มนมอลกออยแลวแคท าการปรบใหมนแมน

- แตขอมลทเราเอามา สวนใหญจะไมด ตองเอามาแกไข แปลง ไมงนโมเดลเราจะออกมาไมมประสทธภาพ

- หลกๆ เชน

- แปลงขอมลจากตวเลข เปนประเภท หรออยางอน บางอลกอเหมาะกบขอมลตวเลข บางอนเหมาะกบแบบประเภท บางอนตองการ

คา 0-1 เทานน

Variable Handling

- ส าหรบแบบ Numerical บาง tool ไมรองรบขอมลแบบละเอยด เราตองท า discretize ใหเปนชวงกอน

- ถาเปน categorical กเชน Naïve Bayes หรอบาง tool เปน binary วาใชหรอไม แทนทจะใสคาไดวา ยหอ A B C เราตองแก

เปน ใช A,ไมใชA ใชB,ไมใชB

Detecting Outlier

- บางขอมลเปนคาทแตกตางจากคาอนๆ มากๆ ซงจะเปนคาทสงผลท าใหโมเดลเพยนไป เชน คนอนเงนเดอนประมาณสามหมน แตม

สองสามคนสามลาน ท าใหโมเดลมนเพยน

- อาจจะตองใช domain knowledge เพอชวยเอามนออกไป

Handling Missing Data

- บางอนจะถกดรอปไปเพราะอลกอรทมเหนวาคาหลายๆคา หายไป

- แบบแรก omission เราอาจจะตดทงไปเลยได ถาเกดวาจ านวน row มนไมเยอะมาก แตถาเกดวามนมจ านวนมากๆ เรากไมควร

จะเอามนทง

Page 6: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

- แบบทสอง ถาเกดวามจ านวน row มาก เราก replace อาจจะ replace โดยการเดาคาจาก mining กอนกได หรอจะแทนดวย

คา min/max

Data Reduction

- ลดจ านวนขอมลใหนอยลง

- ลด column ลดจ านวนตวแปรใหนอยลง

- ลดจ านวน record ดวยการ clustering ท าใหเราไดตวแทนของขอมลมา มาใชแทนขอมลทงหมดในกลม

Normalization

- การท าใหขอมลอยในสเกลเดยวกน

Partitioning the Data

- แบงขอมลเปนสองสวน คอ Training , Validation

- Training คอเอาไวเทรน มค าตอบอยแลว

- Validation คอขอมลทมค าตอบเหมอนกน เอาไวสงใหอลกอเพอปรบแตงโมเดล วาจะท างานกบ Unseen ไดมย ใชในการ

แกปญหาเรอง Overfitting (ขอมล fit กบโมเดลมากเกนไป ท าใหเวลาท างานกบ Unseen จะตอบไมได)

- สวนการ Testing คอขอมลทเอาไวใชตรวจสอบดเลยวาจรงๆ แลวโมเดลเราแมนมากนอยแคไหน มเฉลยเหมอนกน

- การ Test จะเปนสวนส าคญทใชในการเลอกโมเดล เราตองดวาทดสอบแลวไดความแมนมากทสด กจะเลอกอนนน

Problem of Overfitting

- อยางพวก stat จะเนนการหาโมเดลทตรงกบขอมลมากทสด ซง Data Mining จะไมตองการแบบนน เพราะตองการโมเดลท

เหมาะกบ unseen

- เราตองลองกบหลายๆ โมเดลดวาแบบไหนจะด เหมาะกบขอมลใหม อยาง decision tree ถาเกดวา tree มนลกมากๆ แปลวา

มนเกาะตดกบขอมลทเอามาเทรนมากๆ ท าใหไมเหมาะกบขอมลใหมๆ ซงถาเราตดกงมนทงไป กจะท าใหโมเดลเรา General มาก

ขน

Page 7: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Association Rules – Lecture 3

Association Rules

- เปน unsupervised learning

- ศกษาวา อะไรจะไปคกบอะไร เชน ซอของ A แลวจะซอของ B , เปนอาการ A แลวจะเปนโรค B

- บางทเรยกวา Marker Basket Analysis, Affinity Analysis

- ขอมลน าเขาจะเปน set ของขอมล ในแตละ transaction อาจจะไมตองเปนขอมลระดบ นมยหอxxx เราแคจบมนเปนกลมวา

นม กพอ

- k-item set คอ itemset ทมขอมล k ตว

- Support count ( ) เปนความถของการเกดของ itemset

- Support คอ คาทบอกวาเกดเทาไหร เชน {milk,bread} = 2/5

- Frequent itemset คอ itemset ทม support มากกวาหรอเทากบคา minsup threshold

Definition: Association Rule

- Association Rule จะเรยกตางกนเชน {Milk, Diaper} -> {Beer} อาจจะเรยกวา head, body/ antecedent,

consequence/ left-hand, right-hand

- ปกตเราไดกฎออกมาเยอะมาก แตจรงๆ เราอยากไดแคกฎทนาสนใจ strong rules/ interesting rules

- Rule evaluation metrics

Support (s): วาจ านวนการเกดมความถเทาไหร

Confident (c): วดใน transaction ทม Y มจ านวนเทาไหรทเกด X ดวย

- เชน กฎวา {x, y} -> {z}

- c= ({ })

({ })

- บางท การวดวามนเกดรวมกน เกอบ 100% กอาจจะไมมประโยชน เพราะวาจ านวนการเกดมนนอย แมวาจะเกดรวมกนมาก กไม

นาสนใจ

- เราเลยตองใชคา support เขามาชวย เลยตองใชทงคา confident และ support ในการพจารณา

Association Rule Mining Task

- วธถาเกดวาเราจะท าเอง จะท ายงไง -> Brute Force? แลวตองมานงค านวณคา support/confidence

- เกดวธชวยใหหากฎไดเรวขน กฎทนาสนใจ จะมาจาก Frequent itemset นบคา support มากอน (Rule ทมาจาก itemset

เดยวกน เชน {milk, diaper} -> {beer} กบ {milk, beer} -> {diaper} จะมคา support เทากน แตคา c ของกฏจะ

ตางกน)

Generating Association Rules

- ขนแรกไปหา frequent itemset กอน (ไดคา support) >> กนเวลามากกวา เพราะวาตองหาหลาย combination แลวนบ

ตองไปอาน HDD มา ตองหาวธ optimize

Page 8: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

- ตอไปเอาแตละ itemset เอาออกมากระจายหากฎ ดคา confident แลวเลอกอนทผาน threshold ออกมา เรวกวาเพราะนบ

จาก Memory เลย

Frequent Itemset Generation Strategies

- ลดจ านวน candidates โดยใชการ pruning เพราะบางทยงไงมนกอาจจะไมผานคา support อยแลว

- ลดจ านวน transaction แทนทจะมอง database เปน transaction เรากมองกลบกน เชน จากมองวา transaction 1 ->

bread, milk เรากมองเปน bread อยใน transaction ไหนบาง

- ลดจ านวนของการเปรยบเทยบ ใช data structure ไมตองแมพทกๆ candidate กบ ทกๆ transaction

Mining Association Rules

- Apriori เปนอลกอรทม คอ

- ถา superset มน frequent subset กจะ frequent ดวย เชน BCE ใช BE กตองใชดวย

- ถา subset ไม frequent superset กจะไมดวย

Multi-dimension association rules

- ถาเกดวาขอมลน าเขาไมไดเปน binary database แตเปน relational database กจะสรางกฎไดเหมอนกน

Lift

- เปนคา ratio ทแสดงคาความขนตอกนของทางซายของกฎและขวาของกฎ วาแปรผนตอกนจรงๆ หรอเปลา

- ถา lift >1 ทางซายสงผลทางบวกตอทางขวา

- ถา lift =0 ไมขนตอกน

- lift <0 ทางซายสงผลตอทางขวาเชงลบ

- คอคา correlation นนเอง correlation = Confident/Expected Confident (support ของ ทางขวา)

Page 9: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

K-nearest neighbor - Lecture 4

(Supervised Learning)

Data Classification

- ตองม training data set

- training data set จะม set ของ attribute ตองมสวนทบอกประเภทดวย

- เราตองการหาโมเดลส าหรบ attribute ตางๆ และคลาส

- เพอท านาย, ก าหนดคลาสใหกบ unseen record

- data ทจะเทรน กตองมครบแบบ เชน ท านายวาลกคาจะอยหรอไป กตอง อย/ไป

- ตองม validation set (เอาไวปรบโมเดล) , test set (ประเมน accuracy)

- confusion matrix จะเกดจากการ train / test กได แตผลจะออกมาตางกน

- ขอเสยของงานแบบนคอ ตองมคลาสมากอน คลาสอาจจะไมชดเจนดวย

- คลาสยงมาก ความแมนจะนอยลง

- ไดกฎออกมา ทางซายจะเปนคลาสเสมอ ได classification rules

- ถา attribute ขอมลเยอะ กอาจจะตองลดลง

- ลกษณะการใชขอมลเทรน พวก validation มาชวยปรบโมเดล โดยสรางโมเดลไวกอน เรยกวา eager learner

- ถาเปน แบบไมสรางโมเดล เราเอา unseen มาเทยบเลย จะเรยกวา lazy learning (instant base)

- แบบ lazy เวลามขอมลใหมเขามาเสยเวลา cost เพราะไมมโมเดลไวกอน

- k-nearest จะเปนแบบ lazy

K-nearest

- เวลาม data ใหมเขามา จะไปดวา ในขอมลเดม มอนไหนคลายมนมากๆ บาง (เรยกวา neighbor)

- neighbor สวนใหญอยคลาสไหน เรากจะตอบคลาสนน

- k คอ เลขจ านวน neighbor ทจะไปดงมาพจารณา

- เวลาจะหาความเหมอน กตองใช distance metric อยางครงกอนๆ กพวก Euclidean distance หรอจะเลอกแบบอน แลวก

ก าหนดคา k แลวเวลาม data ใหมมา กไปค านวณทกๆ distance แลวกเลอก record มาจ านวน k

- การทท านายออกมาไมด อาจจะเปนเพราะเลอก distance function ไมด คา k ไมเหมาะสม หรอวาเปนเรองของจ านวน

attribute

- k นอย เชน k =1 -> overfitting เพราะวา record นนอาจจะเปน noise ไมใชขอมลจรงๆ กได แคมนบงเอญตรง, k=n เยอะ

มาก กไมตองท าแลว มนจะ error เยอะมาก เลอกเอาจากคลาสทเยอะทสดเลยงายกวา

- เราจะพยายามเลอก k ต าทสดทได accuracy สงสด

- k มากพอ จะท าใหเราก าจดสวน error เพราะ noise ไดK

K-NN for prediction (numerical outcome)

- เอาพวก weight เอา average ออกมา ค านวณไดคาทเปนตวเลขออกมา

Page 10: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

K- nearest problem

- scale problem

- การกระจายของหนวยวดทมชวงทตางกนมากๆ เชน salary , age, height

- จ านวนตวแปรเยอะ training set ใหญ กจะใชเวลา เสยเวลาเพมเปน expo

- ยงตวแปรมาก distance ยงใกล (curse of dimension)

K-nearest advantage

- งาย

- ไมตองมการก าหนดวาจะตองมการกระจายขอมลเทาไหร (เวรคทกกรณ)

- ใชงานได ไมตองสนใจเรองสถต วาตวแปรขนตอกนไมขนตอกน ไมสนใจ

Page 11: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Evaluation

- Error คอ แยกประเภทออกมาไดไมตรงกบคลาสทถกตองจรงๆ

- Error rate คอวดเปอรเซนตทแยกออกมาถกตอง

Naïve Rule

- คลายกบ majority vote สวนใหญเราจะใช most prevalent class มาตอบ

- สวนใหญจะใชเปน benchmark แลวออกกราฟมาเทยบกบกราฟของโมเดล

Separation of Records

- ถาเกดวาเราเลอก feature ทดจะท าใหเราแยกไดด -> high separation of records ซง record แตละคลาส แยกกนไดด

ท าให low error

- แตถาเราเลอกใช feature ทไมด -> low separation of records แตละ record แยกกนไมด ท าให error มากกวา อาจจะ

ไมคอย improve จาก naïve rule เทาไหร

- อยาง decision tree มนจะเลอก feature ใหเราเองเลยใน algorithm

Confusion Matrix

- สวนใหญเราจะเอา precision/recall มาพจารณา วาทงสองอยางตองสง

- ด F-measure คอดทง precision/recall ไปพรอมกน

- บางทจะดเปน TP: true positive, TN: true negative, FP: false positive, FN: false negative (true,false คอ

ท านายถกผด) True Positive: ท านายถก วามนตอบใช FP: ท านายผดวามนตอบใช

- สวนใหญเราจะตองการลด FN

Cutoff for classification

- สวนใหญโมเดลจะใช prob ในการตดสนใจวาจะเลอกโมเดลไหน

- default = 50% เราอาจจะก าหนดเพม/ลดได แตทวดมา เคาบอกวา 50% ดทสดแลว

- นอยเกนมากเกนอาจจะท าใหความถกตองมนลดลง

When one class is more important

- บางทเราตองการคลาสบางคลาสมากๆ เราอาจจะตองยอมให error rate โดยรวมมนเพมขน แตวาคนคา TP มามากขน

Alternate Accuracy Measure

- Sensitivity: % of C1 class correctly classified

- Specificity: % of C0 class correctly classified

- ROC curve: กราฟพลอตระหวาง ความแมนคลาส positive – ความแมนคลาส negative ตองการกราฟทมพท.ใตกราฟมาก

Lift and Decile Charts: Goal

- เชน เวลาเราจะตองการค าตอบลกคา สงจม.ไป แลวลกคาจะตอบ เราอยากใหโมเดลชวยเราลด cost คอ สงไปนอยๆ แตตอบ

กลบมา yes เยอะ

- Lift chart: cumulative performance

Page 12: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Decision & Regression Trees

Trees and Rules

- Rule base

- Classification rule คอ ดานซายจะเปน condition ดานขวาจะเปน class attribute

- Decision Tree: Categorical

- Regression Tree: Numerical

- Tree จะเปนกฎวา ถาม condition เปนแบบน จะไดผลเปนแบบไหน

- ยง attribute มคาไดเยอะ กจะท าให กง ของ tree มจ านวนเยอะดวย

- leave node จะเปน class label

- Training หนงอน สามารถสรางไดหลาย tree, model ทเขาไดกบ data

- เรากเอาแตละ tree ไปวด เชน confusion matrix, ROC curve แลวเลอกอนทมนแมนกบ unseen

- 1 node กคอ subset ของ training

Key Ideas

- ขนแรกในการสราง คอ recursive partitioning แบงๆ ไปเรอยๆ จนทายสด จะประกอบไปดวย record ทเปนคลาส 0 ทงหมด

/ 1 ทงหมด

Hunt’s Algorithm

Pre Pruning

- ถาเกดวาเราเจอจดทมนจะ overfit กหยดกอน

Page 13: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Data Clustering- Lecture 5 - Clustering = a set of Clusters

Cluster Analysis

- หากลมของ object ทไมตองม label กได ดวาแบงออกมาไดยงไง

- ภายในแตละกลม distance จะใกลกน (intra-cluster distance) ถาเปนระหวางกลม จะเรยกวา inter-cluster distance

- เวลามขอมลมา กลองเอามาท า clustering กอน กจะรวาขอมลมกลมไหนบาง

- บางคนบอกวาเปนการท า preprocessing ไมใช mining เพราะบางทท า clustering เสรจ กเอาแตละกลมไปท า

Association rule ส าหรบกลมนนๆ ตอ

- ตวใหมทวงเขามา จะพจารณาดวย distance วาใกลไกลกลมไหน แตละกลมจะมตวแทนอยตวหนง (centroid)

Classification vs. Clustering

- อาจจะเอา classification data ทม label เขาไปท า clustering

- ถา clustering ไดดจรงๆ มนกนาจะแบงได label ทดจรง (ด = pure)

Examples of Clustering Application

- Marketing: แบงกลมลกคา

- Astronomy: กลมดาว

- อยางเวลาการคนหาเอกสาร เราอาจจะคนคาใหเปนกลมของเอกสารไปเลยกได

- หรอท า visualization กได

Note:

- ถาขอมลทเอาไปท า clustering มขอมลเปนตวเลข จะท าใหสามารถวด error rate ได วด distance ไดงายกวา

- ถาเปน categorical กจะมวธการค านวณทตางออกไป

- เราจะตองม visualization ทด จะท าใหเราสามารถแบงขอมลไดด อานขอมลไดงาย ถามองจากกราฟ x,y กจะเหนแคสองมต

เทานน พอเรามองแลว กจะได label ออกมา (เพราะตอนแรกยงไมม label มาให)

- เพราะฉะนนตองใช software ทมกราฟฟกดๆ

Algorithm

- มหลายอน บางอนกจะเหมาะกบขอมลทเปนตวเลข บางอนกเหมาะกบทเปนประเภท

- การทเราถามวา unseen นจะไปอยใน cluster กจะไดคา prob มาดวยวา มโอกาสจะอยในกลมนแคไหน แตบางอนกไมบอก

- บาง clustering อาจจะท าแบบทง exclusive/overlap อยไดแค cluster เดยว หรอวาอยในหลาย cluster กได

- มทงแบบ flat/hierarchical คอ แบงไปเลยชนเดยวหรอ ม cluster ใหญครอบอยอกท เปนล าดบชนลงไป (partitional

clustering – hierarchical clustering

- top down คอ มองวาทงหมดเปนกลมใหญกอน แลวคอยแยกออกมา - bottom up มองวาแตละอนเปนคนละกลมกอน แลว

คอยๆ รวมกนขนไป (สวนใหญจะเปน hierarchical ดวย)

Page 14: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Distance

- มวธค านวณหลายแบบ เชนเอามาบวกลบกนเลย ใช weight ใช Euclidean distance

- ถาเปน nominal attribute กจะใช 1 = ตาง 0 = เหมอน

- Euclidean Distance ฮตทสด

Normalizing

- อาจจะมปญหาถาเกดวาม measurement เยอะมากๆ ท าใหคาระยะทางมนไกลเกนไป

- กใช z-score กได

K-means Z (partitioning)

- ใชเฉพาะกบ numerical data เทานน

- k คอจ านวน cluster

- เรมดวยการเลอก k ทด วาจะใหมก center แลวหยบมาเปน center

- แลวระบขอมลอนๆ ใหไปอยใกลๆ ตวทหยบมาแลว

- จากนนค านวณ centroid ใหม จนกวาจะหยด

- หยดเมอ centroid ไมขยบแลว หรอขยบนอยมากๆ

Problem

- ไมรวาจะเลอก k ยงไง (อาจจะเปนวาเรารลวงหนาวามกกลม ซงไมเสมอไป เราอาจจะตองคอยๆ เปลยนคา k ไปเรอยๆ แลวคอยด

วาแบบไหนด)

- ตอนเรมจะเลอกแรนดอมมายงไง จะใชอะไรตดสน (เราอาจจะบอก software ไดวาจะเลอกแบบไหน แลวแต domain

knowledge)

- k-means เลยมขอเสยในกรณเรมตนแบบน

- การแบง cluster เราอาจจะดจากระยะหางระหวาง cluster-cluster วามนหางกนดรเปลา

- อาจจะมปญหาเรองกลมกราฟหนาตาแปลกๆ มนจะตดกลมออกมาไดไมด (วธแก บางคนบอกวาใหแยก เยอะๆ แลวพอแยกเสรจ ก

คอยเอามารวมกนใหเปนกลม)

K-mediods

- โดยอลกอรทม คา center กคอคา mean

- แตบางท mean กไมเหมาะ ถาขอมลมนโดดมากๆ กควรจะใชคา median

- เปนการหา representative ของ cluster

- ถาเกดวาขอมลใหญมากๆ จะใชการ sampling

Preprocess

- กอนท าให normalize , eliminate outlier

Post-process

- ถาเรารวมมนเปนกลมใหญไป อาจจะตองเขยนการแยกใหมนแยกออกจากกนเพมเตม

Page 15: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

- ถาตอนแรกเราแยกไวเยอะ อาจจะตองท าใหมนมารวมกน merge กน

Problem with centroid problem

- เราอาจจะไปหาเทคนคอนๆ เพอหาคา k มากอน แลวคอยเอามาท า k-means

Hierarchical Method

- Agglomerative Methods (bottom-up) แยกเดยวกอน

- Divisive( top-down) รวมใหญกอน

- ดกวา k-mean ตรงทไมตองก าหนดคา k

- แตวาถาตอนแรกๆ แยก แลวเรารวมกนขนไป กจะ backtrack กลบมาไมได รวมแลวรวมเลย

How to Find K

- อาจจะท า hierarchical แลวดวาจะแบงยงไงด แลวคอยเลอก k

DBSCAN (density base –solved K-means)

- ท า clustering โดยใชความหนาแนน

- Core point: เปนจดทม neighbor เยอะๆ ถา core มนรวมกนได กจะ merge เปนกลมเดยวกน

- Border point:

- Noise point:

- ใชความหนาแนน ท าใหสามารถใชไดกบ shape ทแปลกๆ ขนาดตางๆ

Clustering Validation

- Cluster interpretation: วดกนดวยความหมายของ cluster วาสามารถตความไดดหรอไม จะใช visualization tools

ชวย

- Cluster Stability:

- Cluster Separation ด distance ของ cluster

Interpretation

- ใช stat มาชวยอธบาย

- เวลาท า clustering แลว อาจจะเอาตวแปรทไมไดใชท า clustering มาเปนตว visualize

Evaluating K-means Cluster

- ใช SSE ด เปนการดความหางของobject แตละ cluster โดยเราอยากไดอนทม SSE ต าๆ

- k มาก SSE จะต าลง

- แตวา good clustering > k นอย SSE ต าดวย

Cluster Evaluating

- ท าแบบตอนแรก คอเราร label แลวเอามาแยกโดยใช clustering วดดวาตรงมากตรงนอยแคไหน

Page 16: Data Mining 1 Mining...ถ้าไม่มีโครงสร้างจะเป็น text-mining, web-mining, image-mining

Cluster Validation

- วดดวย F-measure เลยกได

- แตวธทดทสด คอดดวยตาคน