ยุคนี้อะไรก็ Big Data ครับ สำหรับ Session โดย อ เอกสิทธิ์ พัชรวงศ์ศักดา แห่ง Data Cube ซึ่งเน้นไปในส่วนของ Data Mining ผมเข้าใจว่าเป็นส่วนหนึ่งของ Data Science ครับ (ก่อนอ่านต่อไป หากใครเข้า Session นี้กับผม ผมมีการจัดเรียงเนื้อหาใหม่ตามความเข้าใจผมนะครับ อาจจะมีการสลับลำดับ) ทุกอย่างเริ่มต้นที่ Data ซึ่งพอมันมีปริมาณมองพอ เรียกเป็น Big Data โดยดู 3V เดิม + 2V ใหม่ครับ โดยเจ้า 3V เดิม มี ดังนี้ ครับ
- Volume : ข้อมูลมีปริมาณที่เยอะมาก
- Variety : ข้อมูลมีความหลากหลาย ถ้าในยุคแรกเป็น Structure Data (RDBMS) ตอนนี้มีพวก Unstructure เข้ามาแจมแล้ว พวกรูปภาพ เสียง วิดีโอ หรือ NoSQL เป็นต้นครับ
- Velocity : ข้อมูลมีการเปลี่ยนแปลงอย่างรวดเร็ว และมีนัยยะ
ส่วนอีก 2V ใหม่ (หลายคนไปอ่านอาจจะที่อื่น อาจจะมี V ที่ไม่ตรงกันครับ เข้าในว่ามีคนกำหนดไว้ จากหลายๆสำนักครับ)
- Veracity : ข้อมูลเยอะ หลากหลายที่มา สิ่งที่ตามมา คือ คุณภาพครับ ดังนั้นที่มาของข้อมูลสำคัญมากครับ
- Value : ข้อมูลที่เอามา ต้องมีคุณค่า
หลังจากรู้จาก 5V แล้ว ลองมาดูตัวอย่างกันครับว่าจริงๆแล้ว Big Data มี Application รอบตัวเราแล้วนะ
- Waze นำทาง
- Waymo (Google Self Drive Car)
- Egg minder เป็น IOT บอกว่าไข่ ได้ซื้อมานาน หรือของขาดนะ
- Amazon go ร้านค้าที่ไม่ต้องรอคิว
- เทคโนโลยีในอนาคต ของ Lenovo น้อง Javis
หลังจากเรารู้เรื่อง Big Data แล้ว เรียกว่า Zoom และกันมาสนใจที Data กลุ่มหนึ่ง จากฐานข้อมูล(Database) มาสกัด(Extract) เปลี่ยนรูป(Transform) และ จัดเก็บ(Load) เข้าตัวคลังข้อมูล (Data Warehouse) ข้อมูลในนี้สามารถเอาไปใช้งานต่อได้ อาทิ เช่น
- Business Intellgent ดูอดีต และปัจจุบันครับ
- Data Mining ซึ่งมองอนาคต หากสิ่งที่เรายังไม่รู้ครับ โดยตัวมีรูปแบบหลัก ดังนี้ครับ
- Association - หาความสัมพันธ์
- Clustering - แบ่งกลุ่ม
- Classification - จัดกลุ่ม - Business ควรนำ Analytics มาใช้ได้แล้ว เพราะ การแข่งขันสูงขึ้นครับ เราต้องนำข้อมูลมาทำนาย แนะนำอนาคตให้เราครับ Predictive Modeling
สำหรับ Predictive Modeling(ตัวอย่างเป็น Classification) มีขั้นตอนในการทำคร่าวๆ ดังนี้ครับ
- เตรียม Data
- สร้าง Model - Train Model ให้พร้อม
- Test Model โดยมีวิธีการ 3 แบบ
- Self Consistency เอาข้อมูล Train ไป
- Split Test 70/30 ข้อมูลต้องเยอะ
- Cross Validation - แบ่งข้อมูลหลายๆชุด แล้ว train - ตัวอย่างของ Classification คือ การสร้าง Decision Tree จากข้อมูล ครับ
พอเราทำการ Predictive Modeling บางครัั้งจริงน่าจะส่วนใหญ่เลย พบว่าข้อมูลมันไม่สมดุลกัน (Unbalance Data) หลายคนอาจจะว่ามันไม่สมดุลอย่างไร ลองดูตัวอย่างกันครับ
- เราจับการฉ้อโกง(fraud) ซึ่งปกติแล้ว 90% ปกติ(ไม่โกง) ส่วนอีก 10%(โกง)
- เราเอาข้อมูลมาสร้าง Model อย่างไร ให้มันจับกรณีโกงให้ได้แม่นยำที่สุด และไม่โดยข้อมูล 90% ที่ไม่มีพฤติกรรมโกง มาเป็น Bias ครับ
จากตัวอย่างมีแนวคิดการแก้ไข เช่น
- Sampling Approach (หากลุ่มตัวอย่าง)
- Under-Sampling ดีงข้อมูลจากส่วนใหญ่(Majority Class) ถ้าเทียบกับตัวอย่าง เคส 90% ไม่มีโกง
- Over-Sampling ตรงข้าม Under-Sampling พยายามให้ข้อมูลส่วนน้อย(Minority Class) กลุ่ม 10% ที่โกง ให้มีเพิ่มขึ้น โดยอาจจะเป็นตัวอย่างเพิ่ม หรือสร้างขึ้นมา - Cost-Sensitive Approach - ให้ Weight
- Minority Class มีน้อยให้ Weight เยอะ
- Majority Class มีมากให้ Weight น้อย
หลังจากรู้ตัวอย่างแล้ว มาดู Tools ซึ่ง อาจารย์มีการแนะนำ Rapidminer นะครับ มีลักษระการกำหนดลำดับเป็น Block เป็น Step ถ้าอันไหนมัน ซับซ้อนสามารถเขียน Python หรือ R เข้าไปเสริมได้ครับ โดยผมได้ลองภามเพิ่มดูช่วงท้ายพวกว่าตัว Rapidminer มีในส่วนของ Server ไม่มีได้ Client แต่มีราคาสูง ส่วนรุ่น Community มีข้อจำกัดของการใช้งาน Memory ครับ
สำหรับเรื่องอื่นของ CodeMania101 มาดูที่ Blog หลักได้ครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.