Site icon มาลองเรียน Malonglearn

DATA SCIENCE FOR EVERYONE พื้นฐานที่ทุกคนควรรู้

Definition

Data Science คือ ศาสตร์แห่งข้อมูล หรือวิทยาการข้อมูล ซึ่งมักเป็นที่สับสนระหว่างคำว่า Data Science และ Data Scientist

Point สำคัญ คือ Data Science ไม่ใช่ Data Scientist

ความหมายของคำว่า Data Science แอดขอยกมาจากคอร์ส Data Analyst ของ Google ละกันและเค้าได้บอกไว้ว่า

Data science: A field of study that uses raw data to create new ways of modeling and understanding the unknown

แปลง่ายๆก็คือ สาขาวิชาที่ใช้ข้อมูลดิบเพื่อสร้างโมเดลหรือ ทำให้เข้าใจในสิ่งที่เราไม่รู้


What Can data do?

ทีนี้เรามาลองดูว่าโลกของ Data มี Roles และความรับผิดชอบแตกต่างกันยังไงบ้าง


Data Science Roles and Tools

1.DATA ENGINEER

Data Engineer

Data Entertain เอ้ย Data Engineer หรือ วิศวกรข้อมูล ตำแหน่งนี้ถือเป็นผู้ควบคุมข้อมูลทุกอย่าง คล้ายๆ TVA เลย (เดี๋ยววว) เพราะเป็นตำแหน่งที่มีหน้าที่เป็นด่านแรกของ Data Science Workflow เลยทีเดียว

หน้าที่ความรับผิดชอบ

  • ดูเกี่ยวกับโครงสร้าง และ Architect ต่างๆ เช่น ใช้ Database อะไร มีระบบความปลอดภัยอะไงบ้าง
  • สร้าง Data Pipeline เพื่อควบคุมการไหลของข้อมูลไม่ให้ติดขัด เพื่อ Stage อื่นๆ สามารถใช้งานข้อมูลที่อยู่บนระบบได้
  • ควบคุมเรื่อง Access และ Permission

เครื่องมือที่ใช้

  • SQL
    • เพื่อเก็บและจัดระเบียบข้อมูล
  • Java, Scala, Python
    • เพื่อทำงานกับ Data เช่น การทำความสะอาดข้อมูล หรือ Transform ให้ข้อมูลอยู่ในรูปแบบที่ต้องการ
  • Shell
    • เขียน Command line เพื่อรัน Service แบบ Automate
  • Cloud Computing
    • AWS, Azure, Google Cloud Platform

2.DATA ANALYST

Data Analyst

Data Analyst ถือว่าเป็นงานที่ Hot มากที่สุดงานนึงในช่วง 5 ปีที่ผ่านมาก เนื่องจากองค์กรส่วนมากยังคงติดอยู่กับปัญหาที่ว่า มีข้อมูล Excel เยอะๆ แต่ไม่รู้จะทำยังไงดี หรือต้องการ Report Dashboard แบบด่วนๆ ดังนั้นทุกองค์กรเลยมักจะเปิดรับตำแหน่งนี้เป็นอันดับแรก ก่อน Role อื่นๆ ใน Data Science

หน้าที่ความรับผิดชอบ

  • วิเคราะห์ข้อมูล เชิง Descriptive เพื่อให้รู้สถานะอดีตจนถึงปัจจุบัน
  • สร้าง Report หรือ Dashboard เพื่อให้เห็นภาพรวมของข้อมูล และนำไปสู่การตัดสินใจแบบเร็วๆ ได้
  • ทำความสะอาดข้อมูล (ส่วนมากจะเป็น excel 555+)

เครื่องมือที่ใช้

  • SQL
    • เพื่อดึงข้อมูล หรือสรุปผลทางสถิติของข้อมูล
  • Spreadsheets (Excel, Google Sheets)
    • ใช้เพื่อวิเคราะห์ข้อมูลแบบรวดเร็ว รวมถึงการทำความสะอาดข้อมูลแบบง่ายๆ
  • BI Tools (Tableau, Power BI, Data Studio)
    • สร้าง Interactive Dashboard และ Visualization เพื่อให้ฝ่ายบริหารสามารถหมุนข้อมูลได้เอง
  • Python and R
    • ทำความสะอาดข้อมูลที่มีจำนวนมาก แบบ Spreadsheet เอาไม่อยู่ รวมถึงการสร้างโมเดลและ Visualization แบบสวยๆ

3.DATA SCIENTIST & MACHINE LEARNING SCIENTIST

Data Scientist and ML Scientist

แอดขอรวบ 2 ตำแหน่งเลยเพราะในไทยหาความต่างแทบไม่ค่อยเจอ ซึ่งส่วนใหญ่ที่เปิดรับกันจะเป็น Data Scientist และต้องมีสกิลของ ML Scientist ด้วย

Data Scientist เคยเป็นงานที่ Sexy ที่สุดอยู่ชั่วขณะหนึ่ง เพราะรายได้ค่อนข้างสูงและต้องการทักษะที่ค่อนข้างยากสำหรับหลายๆ คน

Data Scientist มักถูกเรียกจากหลายๆ คนว่า Data Science ซึ่งมันคือวิชา แต่เจ้า Data Scientist คือตำแหน่ง ที่เกี่ยวข้องกับ Data Science Workflow Stage สุดท้าย คือ ทดลองและทำนาย เพราะต้องคอยเอาข้อมูลจำนวนมากมารันโมเดลให้เกิด Insights หรือ Pattern ใหม่ๆ

หน้าที่ความรับผิดชอบ

  • วิเคราะห์ข้อมูลด้วยวิธีการทางสถิติต่างๆ
  • ทำการทดลองและหา Insights จากข้อมูล
  • ใช้เทคนิค Machine Learning เพื่อช่วยในการวิเคราะห์ข้อมูลหรือสร้างโมเดลแบบใหม่ๆ
  • ทำนายผลอนาคตที่จะเกิดขึ้นเพื่อหาวิธีรับมือกับสิ่งต่างๆ
  • Classification
  • Deep Learning
    • Image Processing
    • Natural Language Processing

เครื่องมือที่ใช้

  • SQL
    • เพื่อดึงข้อมูล หรือสรุปผลทางสถิติของข้อมูล
  • Python / R
    • Data Manipulation Library ต่างๆ เช่น pandas (Python) หรือ tidyverse (R)
    • ML Library ต่างๆ เช่น TensorFlow, Spark

Data Science Workflow

Data Science Workflow

1.DATA COLLECTION ต้องรู้อะไรบ้าง

DATA SOURCES

แอดจะแบ่งง่ายๆ เป็นแค่ 2 หมวดหลัก คือ Company Data และ Open Data เพื่อป้องกันการงง

COMPANY DATA

  • เก็บเอง
  • ใช้สำหรับช่วยในการตัดสินใจ

OPEN DATA

  • ฟรี เป็นข้อมูลที่คนอื่นเก็บมา
  • ใช้งานได้ แชร์ได้ ไม่ผิดกฎหมาย

ตัวอย่างของ Company Data

Web data by Data Camp

ตัวอย่างของ Open Data

ปล. ถ้าทุกคนอยากเข้าใจ API มากขึ้นแอดแนะนำบทความนี้เลย > API คืออะไร? อธิบายแบบคนไม่เขียนโปรแกรมรู้เรื่องได้มั้ย?

DATA TYPE

แอดแบ่งเป็น 2 ประเภทหลัก คือ Quantitative (เชิงปริมาณ) และ Qualitative (เชิงคุณภาพ)

Quantitative

  • เป็นตัวเลข
  • วัดผลได้

QUALITATIVE

  • เป็นคำอธิบาย
  • มองเห็นและเข้าใจได้ แต่วัดผลไม่ได้

Other Data Types

DATA STORAGE

LOCATION

TYPE OF DATA STORAGE

DATA PIPELINE

Data Pipeline คือ สิ่งที่ทำให้ข้อมูลเคลื่อนที่ไปยังจุดที่ต้องการใช้งานได้อย่างถูกต้อง โดยข้อมูลนั้นจะพร้อมใช้งานใน Stage นั้นๆ นอกจากนั้น Data Pipeline ยังสามารถ

ตัวอย่างการใช้ Data Pipeline กับ Smart Home

Data Pipeline: Smart Home by Data Camp

ETL (EXTRACT-TRANFORM-LOAD)

ETL เป็นกระบวนการที่ Data Engineer ใช้กันเป็นประจำเพื่อเก็บข้อมูลเข้าไปยังฐานข้อมูลได้อย่างถูกต้องครบถ้วน

และ Data Engineer มักใช้ Data Pipeline ในการทำกระบวนการ ETL แบบอัติโนมัตินั่นเอง

ETL by Data Camp

2.DATA PREPARATION ต้องรู้อะไรบ้าง

ทำไมต้องเตรียมข้อมูล?

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

Photo by Engin Akyurt on Pexels.com

ทำความสะอาดข้อมูลกันดีกว่า

อันนี้เป็นตัวอย่างข้อมูลที่เรามักเจอกันตอนทำงานจริง

TIDY DATA

สิ่งที่เราต้องทำเป็นอย่างแรก คือ ต้องจัดข้อมูลให้อยู่ในรูปแบบที่ควรจะเป็น จากในตัวอย่างจะเห็นว่าหากมีการเก็บข้อมูลแบบนี้ต่อไปเรื่อยๆ ตารางจะยิ่งมีคอลัมน์มากขึ้นเรื่อย เราเรียกข้อมูลแบบนี้ว่า Wide-Format

แต่ใน Process Data Prep นี้เราต้องทำให้ข้อมูลอยู่ในรูปแบบของ Long-Format หมายถึง เมื่อมีข้อมูลใหม่เพิ่มเข้ามาจะเพิ่มจำนวนแถวแทน

REMOVE DUPLICATES

กำจัดข้อมูลที่ซ้ำซ้อนกันออกไป ซ้ำกันในความหมายนี้ คือ ข้อมูลเหมือนกัน 100% ทุกคอลัมน์

เริ่ม Transform ข้อมูล

UNIQUE ID

กำหนด Unique Key ให้ข้อมูลของเรา เพื่อให้ข้อมูล 1 แถวที่เรามีถือเป็น 1 Data Point จริงๆ และเพื่อให้ง่ายต่อการทำ Relationship ในกรณีที่เรามีข้อมูลหลายตาราง

Homogeneity

ปรับให้ข้อมูลมีรูปแบบเดียวกัน เช่น Size ที่ใช้หน่วยวัดที่ต่างกัน และ Location ที่ใช้ตัวย่อและชื่อเต็ม

Data Type

ชนิดของข้อมูลสำคัญมากต่อการนำข้อมูลมาวิเคราะห์ต่อ หากข้อมูลที่เราจะใช้ในหาจำนวน ก็ควรมีลักษณะเป็นตัวเลข (Integer) เช่น ข้อมูล Age หรืออายุ จะนำไปหาค่าเฉลี่ยได้ Data Type ก็ควรเป็นลักษณะตัวเลข

MISSING VALUE

มีหลายวิธีที่เราสามารถจัดการกับข้อมูลที่สูญหายไป หรือไม่มีค่าในคอลัมน์ต่างๆ

เหตุผลที่มี Missing Value

วิธีจัดการกับ Missing Value

โดยตัวอย่างนี้เราจะใช้วิธีง่ายๆ คือ การหาค่าเฉลี่ยจากอายุที่มีอยู่แล้ว (แอดย้ำว่าเป็นแค่วิธีหนึ่งง่ายๆ เท่านั้น)

เท่านี้เราก็สามารถทำงานต่อใน Stage ถัดไป นั่นคือ Exploration & Visualization ได้แล้ว


3.EXPLORATION & VISUALIZATION ต้องรู้อะไรบ้าง

EDA

Exploratory Data Analysis หรือ EDA เชื่อว่าหลายคนคงเคยได้ยินมาบ้าง แต่ยังไม่แน่ใจนักว่ามันคืออะไร

สำรวจข้อมูล

นี่คือตัวอย่างข้อมูลที่หลายสำนักมักใช้นำมายกตัวอย่าง เพราะมันเข้าใจง่าย ทั้ง Udacity รวมถึง DataCamp ด้วย โดยข้อมูลชุดนี้จะประกอบด้วย 4 Datasets แต่ละ Dataset จะมี 2 คอลัมน์ คือ X,Y

โจทย์ คือ เราจะหาความสัมพันธ์ของทั้ง 4 Datasets นี้อย่างไร แน่นอนว่าไม่พ้นการใช้ค่าทางสถิติ

Sample Data by Data Camp

ค่าทางสถิติของข้อมูล

และนี่ก็คือค่าทางสถิติของข้อมูล (แอดเอามากรอกใหม่ในชีทแล้ว คำนวนมือเองเลย) จะเห็นว่าค่า Mean, SD หรือแม้กระทั่ง Correlation ก็ได้เท่ากันเป๊ะ ดังนั้นจึงสรุปได้ว่าข้อมูลทั้ง 4 ชุดนี้มีลักษณะคล้ายกันมากๆๆๆ

แต่เดี๋ยวก่อน!! อย่าลืมว่าเราต้องเอาไปแสดงผลดูในรูปแบบของกราฟด้วย เพื่อความชัวร์

แสดงผลข้อมูล

ลองเอาข้อมูลทั้ง 4 มาแสดงผลในรูปแบบกราฟ หรือ Scatter Plot จะเห็นได้ว่าข้อมูลทั้ง 4 ชุดต่างกันอย่างเห็นได้ชัด ดังนั้นการทำ EDA จึงขาดขั้นตอนนี้ไปไม่ได้เลย

Scatters Plot by Data Camp

แอดเคย Live เรื่อง Data Visualization บน Facebook แบบละเอียดกับแอดทอย DataRockie และพี่ต่อ CEO Predictive ใครสนใจจิ้มไปฟังกันได้ > Data Visualization

DASHBOARD

หลังจากได้ข้อมูลมาเรียบร้อย เราสามารถนำข้อมูลเข้าไปยัง BI Tools ต่างๆ เพื่อทำการแสดงผลในรูปแบบ Dashboard และนำเสนอข้อมูลที่คนสามารถคลิกหมุนข้อมูล หรือมองเห็นภาพใหญ่ของข้อมูลได้อย่างรวดเร็ว โดยเฉพาะอย่างยิ่งทีมผู้บริหาร

คนที่อยากทำตำแหน่ง Data Analyst จำเป็นมากที่ต้องใช้ Tools เหล่านี้ให้เป็นอย่างน้อยสัก 1 Tool เพราะมีพื้นฐานการใช้คล้ายๆ กัน

BI Tools

Tools เหล่านี้สามารถแสดงผลข้อมูลออกมาได้ดังตัวอย่างข้างล่าง

Data Visualization using Tableau

4.EXPERIMENTATION & PREDICTION ต้องรู้อะไรบ้าง

A/B TESTING

ใช้สำหรับทำการทดลองว่าสิ่งไหนดีกว่ากัน โดยมีขั้นตอนง่ายๆ ดังนี้

เพื่อนๆ สามารถหาอ่านรายละเอียดเกี่ยวกับ A/B Testing ได้เพิ่มจาก Google เด้อ

PREDICTIVE MODELING

เป็น Model ที่ Data Scientist ใช้เพื่อทำนายผลข้อมูลในรูปแบบต่างๆ และเจ้า Model ที่ว่านี้ก็มีหลายรูปแบบด้วยกัน แอดอาจจะยกตัวอย่างไม่หมด แต่โดยหลักการแล้วคล้ายกัน คือ ต้องมี Input เพื่อส่งให้โมเดลทำการเรียนรู้และวิเคราะห์ผลออกมาเป็น Output

Predictive Model by Data Camp

เช่น หากเรา Feed Input ที่เป็น tweet ของชาวเน็ต Model จะสามารถทำนายได้ว่ามีโอกาสที่จะเป็นข่าวปลอมกี่ %

Predictive Model by Data Camp

FORECASTING TIME SERIES

ในปัจจุบัน หากข้อมูลที่เราใช้งานอยู่มีการเก็บข้อมูลวันหรือเวลา สามารถนำมาทำนายผลอนาคตในเชิงของเวลาได้

MACHINE LEARNING

Machine Learning คือ การทำนายผลด้วยข้อมูล

Supervised Machine Learning

คือ การทำนายผลด้วยข้อมูลที่มี Labels และ Features

ตัวอย่าง CHURN PREDICTION

ก่อนอื่นเราต้องรู้จัก Labels และ Features กันก่อน

Churn Dataset by Data Camp

เมื่อมี Dataset ที่เรามีเฉลยข้อสอบอยู่แล้ว เราจึงนำข้อมูลชุดนี้มาทำการสร้างโมเดล โดยเราจะแบ่งข้อมูลเป็น 2 ชุดหลักๆ คือ

Split Data by Data Camp

ประเมินผลโมเดล

โดยมากจะใช้สิ่งที่เรียกว่า Confusion Metrix ในการวัดคุณภาพของโมเดล แต่แอดอาจจะไม่ได้ลงรายละเอียดมากนัก แต่เอาให้ทุกคนพอเห็นภาพตามได้

จากตาราง จะเห็นว่าข้อมูล Test Dataset ของเรา

ดังนั้นเมื่อเราเอาความจริงกับสิ่งที่โมเดลทำนายมาคำนวณจะอยู่ที่ 97% ดูเผินๆ เหมือนจะดีใช่มั้ย?

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

Unsupervised Machine Learning

คือ การทำนายผลข้อมูลโดยใช้เพียงแค่ Features เนื่องจากเป็นโมเดลที่มักใช้ตามหา Label โดยมากจะนำไปใช้ในการจัดกลุ่มข้อมูล หรือ Clustering

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

Unsupervised Learning by Data Camp

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

Clustering by Data Camp

การตัดสินใจเรื่องจำนวนของ Cluster


แล้วก็จบแล้วสำหรับ Data Science Workflow!!

SUMMARY

สำหรับบทความนี้เหมาะสำหรับคนที่สนใจเรื่อง Data Science โดยที่ยังไม่เคยมีพื้นฐานมาก่อน เนื้อหาทั้งหมด มาจากส่วนหนึ่งของคอร์ส Data Science For Everyone ใน Data Camp

บทความนี้หลักๆ เราได้เรียนรู้อะไรบ้าง

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

Follow Me !

Knowledge is everywhere, Take your first step !

 184 total views,  5 views today

Exit mobile version