นักวิทยาศาสตร์ข้อมูลทำหน้าที่เกี่ยวกับอะไร

Data Scientist คือนักวิทยาศาสตร์ข้อมูล นำข้อมูล (Big data) มาวิเคราะห์ตามกระบวนการวิทยาศาสตร์เพื่อหาข้อสรุปจากข้อมูลที่มี จากนั้นส่งต่อข้อสรุปให้ฝ่ายอื่นนำไปประยุกต์ใช้งานต่อไป (หรืออาจทำต่อเอง)

https://www.youtube.com/watch?v=X3paOmcrTjQ&feature=emb_title

Data Science In 5 Minutesหน้าที่หลักของ Data Scientist
  • ทำความเข้าใจในปัญหาที่ต้องการแก้ไข (Define question)
  • ดึงข้อมูลจากแหล่งข้อมูล (Data collection)
  • ทำความเข้าใจในข้อมูลที่มี (Data understanding / Data analysis)
  • เตรียมข้อมูลให้เรียบร้อยก่อนนำข้อมูลไปประมวลผล (Data preparation)
  • ประมวลผลข้อมูล (Data processing / Data modeling)
  • วัดประสิทธิภาพการประมวลผลข้อมูล (Data acquisition)
  • สรุปผลและแสดงผลที่ได้จากการประมวลผลข้อมูล (Data visualization)
  • ปรับปรุงประสิทธิภาพการประมวลผลข้อมูลให้ดีขึ้น (Optimization)
  • ทำงานร่วมกับ Data Engineer เพื่อออกแบบโครงสร้างข้อมูลที่ง่ายต่อการนำไปประมวลผล

Data Scientist Tasksความสามารถที่ Data Scientist ต้องมี

https://www.brandbuffet.in.th/2018/01/data-scientist-job-in-high-demand/

คณิตศาสตร์และสถิติ (Math / Stat)

เข้าใจในคณิตศาสตร์และสถิติเพื่อให้การประมวลผลข้อมูลมีความถูกต้องตามหลักการเพื่อให้ผลลัพธ์แม่นยำและสอดคล้องกับความเป็นจริง ช่วยให้เข้าใจกระบวนการทำงานเบื้องหลังของ Machine Learning สามารถเลือกใช้อัลกอริทึมได้เหมาะสมกับข้อมูลและปรับแต่งค่าได้อย่างเหมาะสมเพื่อให้ได้ผลลัพธ์ที่แม่นยำมากขึ้น นอกจากนี้ยังใช้ในเรื่องของการจัดการข้อมูลที่ขาด(missing value) การลดมิติของข้อมูลโดยยังคงลักษณะเทียบเท่าเดิม การเลือกข้อมูลมาประมวลผลให้สมดุลกัน(data balance) และลดความคลาดเคลื่อนของข้อมูล(bias, varience) การทดสอบสมมติฐานและวัดประสิทธิภาพผลลัพธ์

เขียนโปรแกรม (Programming)

ภาษาหลักที่ใช้ในสายงานวิเคราะห์ข้อมูล จะมี Python, Scala, R เนื่องจาก Framework และ Library ส่วนใหญ่จะรองรับภาษาพวกนี้เป็นหลัก

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

ฐานข้อมูล (Database)

โดยทั่วไปแล้วการนำข้อมูลมาใช้งานในฝั่งวิเคราะห์ข้อมูล จะไม่ใช้งานฐานข้อมูลของระบบที่ผู้ใช้ใช้งานอยู่ (Production database) เพราะถ้าระหว่างการทำงานเกิดความผิดพลาดจะส่งผลกระทบต่อข้อมูลจริงได้ อาจทำให้ข้อมูลของผู้ใช้ถูกเปลี่ยนแปลงหรือลบหายไป โดยทั่วไปจึงทำการโคลนฐานข้อมูลออกมาอีกชุดและใช้ตัวที่โคลนแทน ซึ่งจะแบ่งออกเป็นระดับต่างๆ เช่น Data Lake, Data Warehouse, Data Mart

สำหรับ Data Scientist นอกจากการดึงข้อมูลมาใช้งานทั้งแบบ SQL และ NoSQL แล้ว ยังมีส่วนร่วมกับ Data Engineer ในการออกแบบโครงสร้างข้อมูลและฐานข้อมูลให้เหมาะสมกับการนำข้อมูลไปใช้งาน เช่น การเลือกว่าข้อมูลแบบใดควรเก็บข้อมูลด้วยฐานข้อมูลแบบ SQL หรือ NoSQL หรือการทำ Database normalization สำหรับข้อมูลประเภท SQL

จึงควรเข้าใจโครงสร้างฐานข้อมูลชนิดต่างๆ ทั้งฐานข้อมูลที่มีความสัมพันธ์(SQL) และฐานข้อมูลที่ไม่มีความสัมพันธ์(NoSQL) ฐานข้อมูลที่นิยม เช่น MySQL, PostgreSQL, MongoDB, Cassandra

นอกจากนี้ยังมีฐานข้อมูลที่เก็บข้อมูลในเมมโมรี(Memory) เช่น Radis, Memcached ที่ทำให้การประมวลผลข้อมูลเร็วมาก สำหรับใช้ในการประมวลผลที่ต้องการได้ผลลัพธ์อย่างรวดเร็ว หรือเพิ่มประสิทธิภาพในการประมวลผล

แพลตฟอร์มจัดการข้อมูลปริมาณมาก (Big Data Platform)

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

การประมวลผลตลอดเวลา (Real-Time Processing)

การประมวลผลบางอย่างที่ต้องการให้มีการอัพเดทตลอดเวลา ดังนั้นต้องรู้วิธีการใช้งานข้อมูลที่เชื่อมต่อมาจาก Message Queue เช่น Apache Kafka, RabbitMQ

การใช้บริการเสริมจากภายนอก (Third party)

บริการเกี่ยวกับ Big Data บนคลาวด์ เช่น Google Cloud Platform, Amazon Web Services, Microsoft Azure, Alibaba Cloud โดยแต่ละเจ้าก็จะมีเครื่องมือช่วยงานด้าน Big data ที่แตกต่างกัน

นอกจากนี้งานส่วนใหญ่ในปัจจุบันมักจะใช้ข้อมูลจาก Social media ด้วย จึงควรสามารถใช้งาน Facebook API, Twitter API เพื่อดึงข้อมูลมาใช้งาน หรือการทำ Web Scraping เพื่อดึงข้อมูลจากหน้าเว็บไซต์ต่างๆ (ทั้งนี้ควรอ่านรายละเอียดข้อจำกัดการใช้งานและลิขสิทธิข้อมูลบนแต่ละเว็บไซต์ก่อนดึงข้อมูลออกมา)

การแสดงผลข้อมูล (Data Visualization)

การแสดงผลข้อมูลจะต้องเข้าใจว่าข้อมูลลักษณะใดควรแสดงผลออกมาในรูปแบบใดเพื่อให้เข้าใจได้อย่างมีประสิทธิภาพและเข้าใจตรงตามความเป็นจริง แสดงข้อมูลเชิงลึก(insight) หรือแสดงเป็นหลักฐาน(evidence) เพื่อช่วยยืนยันข้อสรุปต่างๆ

ภาพจากสไลด์ Data Visualation ของ ดร.ภูริพันธุ์ รุจิขจร

ความรู้ทางด้านธุรกิจ (Business domain)

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

Natural language processing (NLP)

การประมวลผลเกี่ยวกับข้อความต่างๆ เช่น หนังสือ บทความ ข้อความจากโซเชียลมีเดีย รีวิวตามเว็บ จำเป็นต้องรู้วิธีประมวลผลข้อมูลที่อยู่ในรูปข้อความ โดยเฉพาะข้อความภาษาไทยที่มีความซับซ้อนในการประมวลผล ควรสามารถใช้งาน PyThaiNLP หรือ PyICU และควรเข้าใจเทคนิคอื่นๆ เช่น การหาข้อความที่คล้ายกันด้วย Word2Vec นอกจากการนำมาวิเคราะห์แล้ว สามารถพัฒนาต่อยอดเป็น Chatbot เพื่อตอบโต้อัตโนมัติกับผู้ใช้งาน

Voice recognition

การประมวลผลข้อมูลประเภทเสียงวิธีที่ค่อนข้างง่ายคือ Speech-to-Text การแปลงเสียงเป็นข้อความก่อนแล้วนำไปประมวลผลต่ออีกที

Image processing

การประมวลผลเกี่ยวกับรูปภาพหรือวีดีโอ ต้องสามารถทำพวก Image Recognition

เครื่องมืออื่นๆ

ควรเข้าใจในเครื่องมือสำเร็จรูปอื่นๆ เพื่อนำมาช่วยในการทำงานบางอย่างที่ไม่จำเป็นต้องปรับแต่งมาก เพื่อทำงานได้เร็วขึ้น เช่น DataRobot, SAS, SPSS, Excel, Rapidminer, Alteryx, Tableau, PowerBI

Machine Learning

เข้าใจในอัลกอรึทึมต่างๆของ Machine Learning เพื่อให้สามารถเลือกใช้ได้เหมาะสมกับข้อมูลและได้ผลลัพธ์ที่แม่นยำ โดยจะแบ่งเป็น 3 ประเภทหลัก คือ Supervised Learning, Unsupervised Learning, Reinforcement Learning

http://www.cognub.com/index.php/cognitive-platform/

Supervised Learning (Regression, Classification)

การที่เรานำข้อมูลตัวอย่างมาสอน Machine Learning ตัดสินใจว่าข้อมูลแบบใดจะได้ผลลัพธ์อะไร จากนั้นเมื่อ Machine Learning ได้รับข้อมูลใหม่จะตัดสินใจโดยอิงตามสิ่งที่เราสอน เช่น Support Vector Machines(SVM), K-Nearest Neighbors(KNN), Regression, Decision Tree, Random Forest, Neural Networks

Self-Supervised Learning เทคนิคในการนำผลลัพธ์จากการทำนาย (prediction) มาเพิ่ม Dataset คือจะสอน Machine Learning ด้วย train data ที่มีก่อน จากนั้นจะนำโมเดลที่ได้มารันข้อมูลใหม่แล้วนำผลลัพธ์กลับมาสอนตัวเองใหม่อีกรอบ เช่น

  • ต้องการแยกรูปหมาแมว ในตอนแรกเราสามารถหารูปภาพที่มีการระบุว่าเป็นภาพหมาหรือแมวมาได้อย่างละ 5,000 ภาพ
  • นำ 10,000 ภาพนั้นมาสอน Machine Learning
  • เมื่อได้โมเดลออกมาแล้ว เราไปหาภาพใหม่มาได้อีก 100,000 ภาพ แต่ภาพใหม่นี้ยังไม่มีการระบุว่าเป็นหมาหรือแมว
  • ใช้โมเดลที่ได้มาทำนายว่าเป็นภาพหมาหรือแมว
  • จากนั้นนำผลลัพธ์มารวมกับภาพที่มีตอนแรก รวมเป็น 110,000 ภาพ ที่มีการระบุว่าเป็นหมาหรือแมว แล้วนำกลับไปสอนโมเดลเดิมใหม่อีกครั้ง

Active Learning เป็นการต่อยอดจาก Self-Supervised Learning คือผลลัพธ์ที่โมเดลทำนายออกมาจะถูกตรวจสอบโดยคนก่อนนำกลับไปสอนโมเดลใหม่อีกรอบ

Unsupervised Learning (Clustering, Association)

การที่เราไม่รู้ว่าข้อมูลจะมีผลลัพธ์อะไร แต่ให้ Machine Learning ทำการคิดเอง เช่น การจัดกลุ่มข้อมูลที่มีลักษณะใกล้เคียงกันออกเป็นกลุ่มตามจำนวนกลุ่มที่กำหนด (จะไม่รู้ว่าแต่ละกลุ่มคือกลุ่มของอะไร แต่รู้ว่าข้อมูลในกลุ่มนั้นมีลักษณะใกล้เคียงกัน) เช่น K-Means, DBSCAN, Neural Networks

Reinforcement Learning

การเรียนรู้จากการลองผิดลองถูกเพื่อตัดสินใจกระทำบางอย่าง(Markov Decision Process) โดยกำหนดเป้าหมาย(goal) และรางวัล(reward) จากการทำแอคชัน(action) ภายใต้ขอบเขตเงื่อนไข(policy) คือเมื่อมีการทำแอคชันค่ารางวัลก็จะถูกสะสมเพิ่มขึ้นตามที่ได้รับ มีหลักการตัดสินใจ 3 แบบ

นักวิทยาศาสตร์ข้อมูลจะทำหน้าที่ 4 ขั้นตอนมีอะไรบ้าง

ตั้งสมมติฐาน → ค้นคว้าหาข้อมูล → วิเคราะห์ข้อมูล → สร้างแบบจำลอง → สื่อสารผลลัพธ์ ทักษะที่จำเป็น Data Scientist คืออาชีพที่บูรณาการองค์ความรู้หลายด้าน ทั้งทักษะทางตรง (Hard skill) และ ทักษะทางอ้อม (Soft skill) ประกอบไปด้วย ความรู้ด้านคณิตศาสตร์และสถิติ

นักวิทยาศาสตร์ข้อมูล Data Scientist ต้องมีความรู้เรื่องใดบ้าง

อยากเป็น Data Scientist ต้องมีความรู้และทักษะด้านใดบ้าง ?.
มีความรู้ด้านการเขียนโปรแกรมภาษา Python, R, SAS และอื่น ๆ ได้เป็นอย่างดี.
ความคุ้นเคยในการทำงานกับข้อมูลที่มีโครงสร้าง และไม่มีโครงสร้าง.
มีความสามารถในการประมวลผล และวิเคราะห์ข้อมูลที่เป็นที่ต้องการทางธุรกิจ.
มีความเข้าใจคณิตศาสตร์ สถิติ และความน่าจะเป็น.

วิทยาการข้อมูล Data Science นำความรู้ด้านใดมาเกี่ยวข้องบ้าง

วิทยาการข้อมูล (Data Science) เป็นสหสาขาวิชาที่ใช้วิธีการ กระบวนการ อัลกอริทึม และระบบทางวิทยาศาสตร์มาใช้เพื่อหาความรู้จากข้อมูลหลากหลายรูปแบบ ทั้งจัดเก็บเป็นระเบียบและไม่เป็นระเบียบ เป็นสาขาที่เกี่ยวข้องกับการทำเหมืองข้อมูล (Data Mining) การเรียนรู้เชิงลึก (Deep Learning) และข้อมูลมหัต (Big Data) โดยเป็นการบูรณาการ ...