วันเสาร์ที่ ๕ มกราคม พ.ศ. ๒๕๕๑

Data mining ตอนที่ 2 (CRISP-DM Model)

ในตอนที่แล้วได้กล่าวถึง data mining เบื้องต้นเอาไว้ ในครั้งนี้จะได้เขียนถึง CRISP-DM Model เป็นอะไร ใช้ทำอะไร เกี่ยวข้องอย่างไรกับ data mining

CRISP-DM ( http://www.crisp-dm.org/) เป็นเครื่องมือของการทำ data mining model ซึ่งเป็นของฟรี จากกลุ่มที่ทำ data mining ด้วยกัน เขาบอกว่า ใครใช้โมเดลของเขาทำตามที่เขาแนะนำ จะมีความถูกต้องกว่า เร็วกว่า น่าเชื่อถือกว่า ราคาถูกกว่าและบริหารจัดการได้ดีกว่า คุณเชื่อหรือไม่

CRISP_DM Model: The New Blueprint for Data Mining ได้กล่าวถึง กระบวนการทำ Data mining ว่ามี 6 ขั้นตอนด้วยกันคือ
1. การทำความเข้าใจในเรื่องธุรกิจที่จะทำ
2. การทำความเข้าใจกับข้อมูลที่จัดเก็บ
3. การเตรียมข้อมูล
4. การสร้างโมเดล
5. การประเมินผล
6. การนำไปใช้งาน

ขั้นตอนเหล่านี้ขอเรียกเป็นเฟส ตามเอกสารต้นฉบับก็แล้วกัน ซึ่งมีรายละเอียด ดังนี้

เฟสที่ 1 การทำความเข้าใจในเรื่องธุรกิจที่จะทำ


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


  • มาจากการมีลูกค้ามาก ๆ และการรักษาลูกค้าเอาไว้ไม่ให้ไปหาคู่แข่งของเรานี่ซิ จะทำอย่างไร
  • มาจากการเพิ่มยอดขายให้กับสินค้า โดยให้ลูกค้าซื้อเพิ่มขึ้น เช่น ยาสีฟันที่มีขายเป็นแพ็คคู่ การโฆษณาของนมให้กินวันละ 2 กล่อง
  • มาจากการซื้อของที่ใช้ต่อเนื่อง หรือคู่กัน เช่น ซื้อไข่ ร่วมกับน้ำมันพืช

ยกตัวอย่างธุรกิจจำพวกธนาคาร ช่องทางให้บริการลูกค้าเพื่อผูกมัดลูกค้าให้อยู่กับเราตลอดนั้นมีหลายช่องทาง ได้แก่ เพิ่มตู้ ATM, เปิดสาขาใกล้บ้านหรือสำนักงาน หรือบริการผ่านอินเทอร์เน็ต เป็นต้น ขอยกตัวอย่างกรณีศึกษาของมหาวิทยาลัยราชภัฏสงขลาซึ่งเป็นลูกค้าของไทยธนาคาร เมื่อมหาวิทยาลัยฯ กำหนดนโยบายให้โอนเงินเดือนผ่านธนาคาร (ในสมัยนานมาแล้ว) มหาวิทยาลัยฯ จึงต้องให้อาจารย์ทุกคน เปิดบัญชีของไทยธนาคาร เมื่อมหาวิทยาลัยฯ มีนโยบายให้นักศึกษาจ่ายค่าลงทะเบียนเรียนผ่านทางธนาคาร นศ. ทุกคนจำเป็นต้องเปิดบัญชีกับธนาคารแห่งนี้ ด้วยเหตุนี้ธนาคารจึงได้ลูกค้าไม่น้อยกว่าหนึ่งหมื่นคน มีเงินหมุนเวียนเป็นจำนวนมาก เมื่อมีธนาคารกรุงศรีฯ กรุงไทย ไทยพาณิชย์ มาเปิดใกล้มหาวิทยาลัย และพยายามเข้ามานำเสนอให้ทีมผู้บริหารเปิดรับธนาคารของตนเอง เข้ามาในรายการด้วย อยากทราบว่า ไทยธนาคารจะใช้ทฤษฎีกลยุทธ์ใดมารักษาลูกค้าเดิมเอาไว้ให้ได้ (ใช้กลยุทธ์แบบฝรั่งหรือแบบไทย ๆ อันนี้ฝากให้เป็นข้อคิด)

ทฤษฎีของฝรั่งจากเอกสาร "Journal of data warehouse Volume 5 Number 4 Fall 2000" บอกไว้ว่า การลดค่าธรรมเนียมนั้น หรือค่าธรรมเนียมที่ถูกกว่าคู่แข่งนั้นมีผลกระทบกับกลุ่มลูกค้าเพียงบางกลุ่มเท่านั้น


เฟสที่ 2 การทำความเข้าใจกับข้อมูลที่จัดเก็บ

ในขั้นตอนนี้ เราต้องทำอะไรบ้างกับข้อมูล

แน่นอนว่าองค์กรที่จะทำ Data mining นั้นจะต้องมีฐานข้อมูลเป็นของตนเอง ได้แก่ ฐานข้อมูลจากการขายของระบบจุดขายหน้าร้าน (point of sale: POS) และควรมีระบบบัตรสมาชิก จึงจะทำให้ data mining มีประสิทธิภาพสูงสุด ในขณะเดียวกัน อาจนำข้อมูลจากการสำรวจพฤติกรรมผู้บริโภคในแหล่งที่ตั้งเดียวกัน ข้อมูลจากงานวิจัยภายนอกองค์กร  ข้อมูลเหล่านี้มันจะมีแอตทริบิวต์ไม่ตรงกับฐานข้อมูลของเรา เช่น เพศ ของเราอาจเก็บ M กับ F แต่จากการสำรวจแบบสอบถามเขาอาจเก็บ ชาย หญิง ดังนั้น สิ่งที่เราจะต้องทำให้ขั้นตอนนี้ ได้แก่


  • รวบรวมข้อมูลที่เกี่ยวข้อง
  • ข้อมูลต้องถูกต้อง เชื่อถือได้
  • ปริมาณของข้อมูลต้องมากพอต่อการนำไปใช้ในการวิเคราะห์


เฟสที่ 3 การเตรียมข้อมูล

ดังได้กล่าวมาแล้วในเฟสที่ 2 ว่า ข้อมูลอาจจะมาหลายแหล่งเอามารวบรวมอยู่ในโครงสร้างเดียวกัน ดังนั้นกระบวนการเตรียมข้อมูลเพื่อให้ถูกต้อง เชื่อถือได้จึงต้องใช้เวลาในการทำนานมาก และใช้เวลามากที่สุดในกระบวนการทำ data mining ทั้ง 6 เฟส ดังนั้น บริษัทที่ฉลาด ๆ จึงทำเครื่องมือหรือซอฟต์แวร์สำหรับงานนี้ขึ้นมาโดยเฉพาะ เช่น RapidMiner, Weka, R, SPSS เป็นต้น

ในเฟส 3 นี้ มีขั้นตอนย่อยออกเป็น 3 ขั้นตอนย่อยอีก นั่นคือ

  • การคัดเลือกข้อมูล ข้อมูลตามแอตทริบิวต์ในฐานข้อมูลในระบบการขาย มีการเก็บไว้มากมาย เราจะเลือกเอาข้อมูลที่จำเป็นต้องใช้กับการวิเคราะห์เท่านั้น ประเด็นนี้ก็ต้องสอดคล้องกับเฟสที่ 1 และ 2 เช่น เราตั้งข้อสมมติฐานว่า เพศ อายุ ส่วนสูง น้ำหนักมีผลต่อการซื้อสินค้าเป้าหมายของเราหรือไม่ เราจำเป็นต้องเลือกแอตทริบิวต์เหล่านี้เข้าไปด้วย รวมทั้งสินค้าที่เขาซื้อไป สรุปสั้นในกระบวนการนี้ ได้แก่  1) กำหนดเป้าหมายว่าเราจะวิเคราะห์อะไร  2) เลือกใช้เฉพาะข้อมูลที่เกี่ยวข้องกับสิ่งที่จะทำการวิเคราะห์เท่านั้น เพื่อไม่ให้เสียเวลากับการเตรียมข้อมูล และการประมวลผลของเครื่องคอมพิวเตอร์
  • การทำให้ข้อมูลคลีน (clean) คลีน บางตำราแปลคำว่า "คลีน" ได้ว่า กลั่นกรอง เขาคลีนข้อมูลกันอย่างไร แล้วข้อมูลที่ไม่คลีน เป็นข้อมูลแบบไหน เช่น  1) ข้อมูลที่ซ้ำกัน คลีนด้วยการลบให้เหลือหนึ่งเดียว  2) ข้อมูลที่ผิดพลาด แก้โดยการทำให้ถูก เช่น วันที่เก็บผิดรูปแบบจาก 31 ธ.ค. 2559 หรือ  31/12/2016 เป็น 2016-12-31 3) ข้อมูลที่หายไป ก็เพิ่มเข้าไป เช่น จำนวนบุตร ถ้าไม่มีบุตรบางข้อมูลจะเว้นว่างเอาไว้ แก้โดยการใส่ 0 4) ข้อมูลที่ไม่เข้าพวก แปลกแยกออกไป แก้โดยการใส่ข้อมูลค่าเฉลี่ย หรือค่าปริยาย (default) 
  • แปลงข้อมูล เป็นขั้นตอนการแปลงข้อมูลในรูปแบบตารางฐานข้อมูลให้อยู่ในรูป item set เพื่อใช้สำหรับการวิเคราะห์ด้วยวิธีการของ data mining เช่น กฎความสัมพันธ์ หรือจำนวนความถี่ เป็นต้น

    เพื่อให้เห็นเด่นชัด เข้าใจในหัวข้อนี้ จึงขอแสดงรูปแบบการแปลงข้อมูลให้เห็น ดังตารางต่อไปนี้

    ตัวอย่างการแปลงจากตารางข้อมูลให้อยู่ในรูปของกฎความสัมพันธ์
  • IDProductsQuantity
    1ยาสีฟัน1
    1สบู่1
    1ผงซักฟอก1
    2ผงซักฟอก5
    2น้ำมันพืช2
    3ยาสีฟัน1
    3สบู่1
    3แปรงสีฟัน2
แปลงให้อยู่ในรูปกฎอัลกอริทึมความสัมพันธ์ ได้ดังตารางต่อไปนี้


IDยาสีฟันสบู่ผงซักฟอกน้ำมันพืชแปรงสีฟัน
1TRUETRUETRUE--
2--TRUETRUE-
3TRUETRUE--TRUE

ส่วนการแปลงในรูปแบบอัลกอริทึมจำนวนความถี่ จะขอยกตัวอย่างกรณี สำรวจหรือค้นหาข้อความ ข้อมูลจากอินเทอร์เน็ต เช่น เราค้นหาคำว่า สถานที่ท่องเที่ยวทางทะเล ใน google.com แล้วเขียนโปรแกรมให้นับคำจำนวนที่ซ้ำ ๆ กัน เอาไปใส่ในตาราง หน้าตาของตารางออกมาแนวนี้


IDภูเก็ตสมุยเสม็ดหลีเป๊ะพะงัน
154312
2...............







เฟสที่ 4. การสร้างโมเดล

เป็นขั้นตอนการวิเคราะห์การวิเคราะห์ข้อมูลด้วยเทคนิค data mining กันเลย ซึ่งมีอยู่ด้วยกันหลายเทคนิค ได้แก่


  1. classification การคลาสซิฟายหรือการจำแนก แจกแจง เป็นโมเดลที่ใช้สำหรับนำข้อมูลที่มีอยู่มาทำนายอนาคต เช่น การพยากรณ์การขายสินค้า A ในฤดูฝนที่จะถึง หรือการพยากรณ์อากาศ เป็นต้น 
  2. clustering เป็นการแบ่งกลุ่ม หรือจัดกลุ่มในพวกเดียวกัน คล้ายคลึงกัน เช่น การแบ่งสินค้าตามรูปร่าง แบ่งสินค้าตามราคา หรือแบ่งสินค้าตามชนิดการใช้งาน
  3. association rules เป็นการหาความสัมพันธ์ของข้อมูลที่เกิดร่วมกัน เช่น ค้นหาสินค้าที่มีการซื้อร่วมกันบ่อย ๆ แล้วนำเสนอให้ลูกค้ารายใหม่ ที่ใช้ใน amazon.com เป็นต้น

    สำหรับผู้อ่านที่สามารถเขียนโปรแกรมได้ สามารถหาไลบรารี ที่รวบรวมอัลกอริทึมต่าง ๆ มาให้เป็นเครื่องมือสำหรับใช้งาน เราสามารถเขียนคำสั่ง ไปประยุกต์ได้ สำหรับ association rules มีอัลกอริทึมของ Apriori และ FP-Growth ให้ใช้  ลองนำคำนี้ค้นหาใน google ก็สามารถหาเจอ และนำไปใช้ได้ โดยเฉพาะภาษาไพธอน มีให้ดาวน์โหลดนำไปใช้ได้ที่ https://pypi.python.org/pypi/apriori/1.0.0 (python apriori library)

    และที่ https://pypi.python.org/pypi/fp-growth/ (python FP-growth library)

เฟสที่ 5. การประเมินผล

เป็นขั้นตอนการประเมินผล หรือวัดหาประสิทธิภาพของการใช้โมเดลในเฟสที่ 4 ว่าโมเดลที่เลือกใช้งาน ใน data mining มีความถูกต้อง เชื่อมั่นได้เพียงไร 

ในขั้นตอนนี้จะใช้โมเดล decision tree หรือ neural network เป็นเครื่องมือในการประเมิน

  เฟสที่ 6. การนำไปใช้งาน

เมื่อได้ผลลัพธ์ที่ถูกต้อง ตามวัตถุประสงค์ทุกประการแล้ว ในขั้นตอนนี้จะเป็นการนำไปใช้งานจริง ตัวอย่างที่เราเห็นกัน ได้แก่ โฆษณาใน google หรือ amazon, lazada, youtube ระบบเล่นอัตโนมัติ เป็นต้น


๓ ความคิดเห็น:

TigerSmile'Hy กล่าวว่า...

อิอิอิ ผมเพิ่งสังเกตุเห็นว่ามี"บล็อกโลโก" อยู่หน้าชื่อ...อิอิอิ อายจัง

อจ.ค้าบ... ชื่อ"เสือยิ้มยาก" ยังใช้ได้อีกใหมคร้าบ... ดูจากรูปแล้วเปลี่ยน"ลุกค์" ไปเยอะ

สำหรับ ดิ-โอลด์-แคน เป็นเสือหมอบรุ่นเก่า ยังใช้สับถังอยู่เลย... จะใช้เป็นทัวร์ริ่ง (วันนี้ลองไป-กลับ ระโนด แล้วข้ามแพ วนเล่นหาดสมิหลา รวมๆ 220 กม. ก็ใช้ได้เลยละ...

กลับมาแล้ว... หาเวลามาปั่นรวมกันนะครับ. อ้อ... บทความทั้ง 2 ตอนดีมากๆ (เขาบอกว่าบทความที่ดี ต้องอ่านแล้ว อ่านอีกจึงจะเข้าใจ) อิอิอิ แซวเล่นะคร้าบ... วิชาการผมส่งคืนกลับไปหมดแล้ว... วันเสาร์ไปทำสวนแบบพแอเพียงตามรอยพ่อที่ระโนด วันอาทิตย์ปั่จักรยาน กับ สสสสส.

จบแล้วครับ

Nui Saran กล่าวว่า...

รอตอนที่ 3 อยู่นะครับ

ไม่ระบุชื่อ กล่าวว่า...

อยากทราบข้อมูลเฟสที่ 2-5 ค่ะ พอดีกำลังเรียนเรื่องน้อพอดี เลย