วันอังคารที่ 3 ตุลาคม พ.ศ. 2560

[บันทึกความรู้] Association Rule Discovery

จากหลักสูตรเรียนออนไลน์ RSU-MOOC: rsu001 ฉลาดด้วยข้อมูล ใครๆ ก็ทำได้ (คลังข้อมูลและการทำเหมืองข้อมูล)
เนื้อหาก่อนหน้านี้ :  Data Mining

Association Rule
กฎความสัมพันธ์  ใช้ค้นหาความสัมพันธ์ที่แฝงอยู่ในข้อมูล  ,หา Frequency pattern (รูปแบบที่กิดขึ้นบ่อย )


Itemset รายการที่เกิดขึ้นในแต่ละครั้ง
Support ค่าสนับสนุน  ความถี่ของจำนวนข้อมูลทั้งหมดที่ประกอบด้วย A และ B
Confidence ค่าความเชื่อมั่น    ความถี่จำนวนข้อมูลเมื่อประกอบด้วย A แล้วประกอบด้วย B ด้วย
Minimum Support ค่าสนับสนุนต่ำสุดที่ยอมรับได้    ต่ำกว่านี้จะไม่นำไปวิเคราะห์
Minimum Confidence ค่าเชื่อมั่นต่ำสุดที่สนใจ

เช่น   ทำ  Market Basket Analysis วิเคราะห์พฤติกรรมสินค้าที่ลูกค้ามักซื้อไปด้วยกัน
A & B ->C[sup,conf]
สมมุติได้ค่ามา  sup = 20% ,conf = 90%
แสดงว่า   จำนวนลูกค้าที่ซื้อ A,B,C มี 20% ของลูกค้าทั้งหมด
 แล้วมีโอกาส 90 % ที่ลูกค้าซื้อสินค้า A และ B แล้วจะซื้อ C ไปด้วย


รูปแบบกฎความสัมพันธ์มีลักษณะดังนี้

        X -> Y  (support  , confident )

Support คือ ค่าสนับสนุนการเกิดขึ้นของกฎความสัมพันธ์ในฐานข้อมูล หาได้จาก
จำนวนลูกค้าที่ซื้อ X และ Y / จำนวนลูกค้าทั้งหมด 
แล้วคูณด้วย 100 แปลงเป็น %

Confident คื อค่าความเชื่อมั่นของกฎความสัมพันธ์ หาได้จาก
จำนวนลูกค้าที่ซื้อ X และ Y / จำนวนลูกค้าที่ซื้อ X 
แล้วคูณด้วย 100 แปลงเป็น %

X-->Y[20%,80%]   หมายถึง
-  จำนวนลูกค้าทั้งหมดที่ซื้อ X และ Y เป็นจำนวน 20% จากจำนวนลูกค้าทั้งหมด
-  มี  80% ของลูกค้าที่ซื้อ X แล้วจะซื้อ Y ไปด้วย


การหากฏความสัมพันธ์ด้วยวิธี  Apriori Alogorithm
ขั้นตอนที่ 1:  หา frequent itemset เป็นการหารูปแบบของข้อมูลที่เกิดขึ้นร่วมกันบ่อยๆ ในฐานข้อมูล

- สร้างรูปแบบของ itemset  (join) จะใช้รูปแบบของ itemset ที่มีค่ามากกว่า minimum support
มาทำการสร้างรูปแบบของ itemset ที่มีขนาดยาวเพิ่มขึ้นไปทีละหนึ่งขั้น

- การนับค่า support (count) หลังจากที่สร้างรูปแบบของ itemset ได้แล้ว
ขั้นถัดมาจะทำการคำนวณค่า support ที่เกิดขึ้น 
โดยที่ support คือจำนวนเปอร์เซ็นต์ที่พบ itemset ในฐานข้อมูล

ขั้นตอนที่ 2: สร้าง association rule
หลังจากที่หา frequent itemset ได้แล้ว จะนำรูปแบบที่หาได้มาสร้างเป็นกฏความสัมพันธ์

Frequency itemset คือ กลุ่มของ item set ที่มีค่า support มากกว่า minimum support


 ตัววัดประสิทธิภาพของกฏ
 lift คือ ค่าที่บ่งบอกว่าการเกิดรูปแบบ LHS และ RHS มีความสัมพันธ์กันแค่ไหน
โดยถ้าค่า lift เป็น 1 แสดงว่ารูปแบบ LHS และ RHS ไม่ขึ้นต่อกัน (independent)
ค่า lift คำนวณได้จาก
 
 

 confidence แสดงความเชื่อมั่นของกฏความสัมพันธ์ที่เมื่อรูปแบบ LHS เกิดขึ้นแล้วรูปแบบ RHS จะเกิดขึ้นด้วยเป็นจำนวนกี่เปอร์เซ็นต์
การคำนวณค่า confidence หาได้จาก

---------------------------------------------------------------------------------------------------

ตัวอย่าง : การคำนวนโดยใช้  Apriori Alogorithm

   


กำหนดค่า minimum support ไว้ที่ 50%


1. หาค่า Support ของแต่ละ Items  แล้วตัด Item ที่มีค่า Support ต่ำกว่าค่า Minimum ออกไป


2. นำ  item ที่ได้จากข้อ 1. มาสร้างเป็น itemset ทีมี Size ความยาว 2 (เพิ่มไปอีก 1 ชั้น)
แล้วตัด Itemset ที่มีค่า support ต่ำกว่า minimum ออกไป


3. ทำเหมือนข้อ 2 แต่เพิ่ม size ไปอีก 1 ชั้น เป็น 3
โดยมีเงื่อนไขว่าข้อมูล item แรกจะต้องมีค่าเหมือนกันจึงสามารถทำการ join กันได้
เช่น  {เบียร์, ขนมปัง, นมสด} เกิดจากการ join {เบียร์, ขนมปัง} และ {เบียร์, นมสด}

4. เนื่องจากไม่สามารถทำ Size ได้ยาวกว่านี้    ขั้นตอนการหา frequent itemset จึงหยุด
 ต่อไปคือทำการคำนวนหา  Confience และ lift




เนื้อหาต่อไป :  Classification