Data Scientist คือนักวิทยาศาสตร์ข้อมูล นำข้อมูล (Big data) มาวิเคราะห์ตามกระบวนการวิทยาศาสตร์เพื่อหาข้อสรุปจากข้อมูลที่มี จากนั้นส่งต่อข้อสรุปให้ฝ่ายอื่นนำไปประยุกต์ใช้งานต่อไป (หรืออาจทำต่อเอง) Show
หน้าที่หลักของ Data Scientist
ความสามารถที่ 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 ที่มีก่อน จากนั้นจะนำโมเดลที่ได้มารันข้อมูลใหม่แล้วนำผลลัพธ์กลับมาสอนตัวเองใหม่อีกรอบ เช่น
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 แบบ
เช่น Monte Carlo, Sarsa, Q-learning ดูอัลกอรึทึมเพิ่มเติมได้ที่ https://www.datasciencecentral.com/profiles/blogs/which-machine-learning-algorithm-should-i-use?fbclid=IwAR27Fd7SiPAotUGc1SXZX07istofqOy4XGJyWFBMNk2kjQSCDhVfuhURzhEตัวอย่างประโยชน์จากการนำข้อมูลมาใช้งาน
ตัวอย่างเส้นทางการพัฒนาความรู้เพื่อพัฒนาเป็น Data Scientisthttps://corpnce.com/data-science-courses-bangalore/สำหรับตำแหน่งงานอื่นในสายงานการจัดการข้อมูลสามารถอ่านเพิ่มเติมได้ที่ อ้างอิงนักวิทยาศาสตร์ข้อมูลทำหน้าที่เกี่ยวกับอะไรนักวิทยาศาสตร์ข้อมูล เป็นผู้ที่คอยรวบรวมและวิเคราะห์ข้อมูลที่มีโครงสร้างเรียบร้อยและข้อมูลที่มีโครงสร้างไม่แน่นอนจำนวนมาก พวกเขาวิเคราะห์ ประมวลผล และจัดเรียงข้อมูลที่มีประโยชน์ ผ่่านวิธีการของวิทยาการข้อมูล สถิติศาสตร์และคณิตศาสตร์ เพื่อช่วยในการตัดสินใจเรื่องต่าง ๆ ภายในองค์กร
นักวิทยาศาสตร์ข้อมูล " มีชื่อเรียกอีกอย่างหนึ่งว่าอะไรนักวิทยาศาสตร์ข้อมูล (Data Scientist หรือ DS) เป็นผู้นำเครื่องมือต่างๆ ทั้ง Data Mining, เทคนิคเชิงสถิติ, Algorithms และ Machine Learning เพื่อสร้างโมเดล (Model) ระบุแนวโน้มหรือ Pattern การทำนาย (Predictive Analytics) และหา Insight จากข้อมูลดิบ โดยนักวิทยาศาสตร์ข้อมูลจะนำผลลัพธ์มาใช้เพื่อการตัดสินใจทางธุรกิจ กำหนด ...
นักวิทยาศาสตร์ข้อมูล Data Scientist ทำงานอย่างไร“Data Scientist” หากแปลตรงตัวคือ นักวิทยาศาสตร์ข้อมูล ทำหน้าที่นำข้อมูลที่มีมาวิเคราะห์ด้วยเทคนิคขั้นสูง เช่น Machine Learning , OPTIMIZATION เพื่อนำข้อมูลที่วิเคราะห์ไปใช้ประโยชน์ตามจุดประสงค์ที่ต้องการ เช่น มีข้อมูลบริษัท หนังสือพิมพ์ มีข้อมูลคนซื้อ สิ่งที่ Data Scientist จะทำ คือ เอาข้อมูลที่รู้ว่าแต่ละสาขาสั่ง ...
นักวิทยาศาสตร์ข้อมูล เรียนอะไรมีหลาย ๆ แห่งบอกว่าการทำ Data Science คือการที่วงกลม 3 วงมาตัดกัน ได้แก่: Computer Science – วิทยาการคอมพิวเตอร์ เช่น การเขียนโปรแกรม, อัลกอริธึม, โครงสร้างข้อมูล (Data Structure) Maths & Statistics – คณิตศาสตร์ และสถิติ Business / Domain Expertise – ความรู้ด้านธุรกิจ
|