Python Tools สำหรับ Data Scientist มือใหม่

11-ธ.ค.-19

คัมภีร์เทพ IT

Python มี Tools ต่าง ๆ ให้คุณได้เลือกใช้ในทุก Stages ของ Life Cycle ของ Data Science Project ซึ่งทุก Project ของ Data Science จะประกอบไปด้วย Stage ต่าง ๆ คือ Data Collection, Data Modelling และ Data Visualization ซึ่งในบทความนี้เรามาดูกันว่า Python Tools สำหรับ Data Scientist มือใหม่ ที่ครอบคลุมในทุก Stage มีอะไรกันบ้าง

Data Collection

1. Beautiful Soup

เมื่อ Data Collection เกี่ยวข้องกับการคัดลอกข้อมูล (Data Scraping) ออกจาก Web ดังนั้น Python จึงได้เตรียมที่เรียกว่า Beautiful Soup ไว้ให้ใช้งาน

Library นี้ทำการแยกวิเคราะห์ Web Page และจัดเก็บ Content เป็นอย่างดี ตัวอย่างเช่น มันจะเก็บ Title แยกออกมา นอกจากนี้ยังจะจัดเก็บ <a> Tags ทั้งหมดแยกออกมาต่างหาก ซึ่งจะช่วยให้คุณมี List ของ URLs ทั้งหมดของแต่ละ Page อีกด้วย
จากตัวอย่างด้านล่างนี้ ให้เราดู Web Page ง่าย ๆ สำหรับเรื่องราวของการผจญภัยของอลิซในแดนมหัศจรรย์ (Alice’s Adventure in Wonderland)

เห็นได้ชัดว่า เราสามารถเห็นส่วนหนึ่งของ HTML Elements ซึ่งเราสามารถ Scrape ออกมาได้

  • Heading - เรื่องราวของ Dormouse
  • Page Text
  • Hyperlinks - Elsie, Lacie และ Tillie

Soup ทำให้ง่ายต่อการ Extract ข้อมูลเหล่านี้ออกมา

สำหรับการดึงข้อมูลออกจาก HTML File และ XML File นี่ถือเป็น Tool ที่ยอดเยี่ยม มันมีวิธีการที่มีลักษณะเฉพาะของการ Navigating, Searching และ Modify สำหรับ Parse Tree มันจะช่วยประหยัดเวลาทำงานของ Programmer ได้หลายชั่วโมงหรือบางครั้งอาจเป็นวัน ๆ เลยทีเดียว

2. Wget

การ Download ข้อมูล โดยเฉพาะจาก Web ถือเป็นหนึ่งในภารกิจสำคัญของ Data Scientist ซึ่ง Wget เป็น Tool ที่ใช้งานได้ฟรี สำหรับการ Download File จาก Web เนื่องจากมันเป็นแบบ Non-Interactive มันจึงสามารถทำงานใน Background ได้ แม้ว่าUser จะไม่ได้ Log in เข้าใช้งานก็ตาม มันยังรองรับ HTTP, HTTPS และ FTP Protocols รวมถึงการดึงผ่าน HTTP Proxies อีกด้วย ดังนั้น ครั้งต่อไปที่คุณต้องการ Download Website หรือรูปภาพทั้งหมดจาก Page ให้คุณนึกถึง Wget เพราะมันจะช่วยคุณได้เป็นอย่างดี 
3. Data APIs
นอกเหนือจาก Tool ที่คุณต้องการ Scrape หรือ Download Data แล้วคุณยังต้องการ Actual Data ซึ่ง Data APIs จะเป็นตัวช่วยที่ดีของคุณ มี APIs อยู่มากมายใน Python ที่ให้คุณ Download Data ได้ฟรี อย่างเช่น Alpha Vantage ที่จะจัดหาข้อมูลทั้งแบบ Real-Time และข้อมูลในอดีตที่ผ่านมา สำหรับ Global Equities, Forex และ Cryptocurrencies ซึ่งมีข้อมูลย้อนหลังมากกว่า 20 ปี

การใช้ Alpha Vantage APIs เราสามารถทำได้หลายอย่าง เช่น ดึงข้อมูลสำหรับค่า Bitcoin แบบรายวันและ Plot มัน

ตัวอย่าง API อื่น ๆ ที่คล้ายกัน ได้แก่

  • Open Notify API - NASA และ International Space Station Data
  • Exchange Rates API – อัตราแลกเปลี่ยนทั้งปัจจุบันและย้อนหลัง ซึ่งเผยแพร่โดย European Central Bank 

Data Modelling

ดังที่ได้กล่าวไว้ในบทความ การ Clean หรือ Balance Data ถือเป็นอีกขั้นตอนสำคัญก่อนการสร้างแบบจำลองข้อมูล (Data Modelling)

1. Imbalanced-learn

Imabalanced-learn เป็น Tool หนึ่งในการสร้างความสมดุลให้กับ Datasets โดย Datasets จะเกิดความไม่สมดุลเมื่อ Class หรือ Category หนึ่งของ Data มีสัดส่วนของ Sample ที่ใหญ่กว่า Categories อื่น ๆ สิ่งนี้อาจทำให้เกิดปัญหาใหญ่สำหรับ Classification Algorithms ซึ่งอาจทำให้เกิดความเอนเอียงไปสู่ Class ที่มี Data มากกว่า 
เช่น Command ที่เรียกว่า Tomek-Links จาก Library นี้ จะช่วยสร้างความสมดุล (Balance) ให้กับ Dataset

2. Scipy Ecosystem - NumPy


การประมวลผล Actual Data หรือ Modelling เกิดขึ้นผ่าน Scipy Stack ของ Python โดย Scipy Stack ของ Python เป็นชุดของ Software ที่ถูกออกแบบมาสำหรับการคำนวณทางวิทยาศาสตร์ใน Pytho โดยเฉพาะ Scipy Ecosystem ประกอบด้วย Libraries ที่มีประโยชน์อยู่มากมาย แต่ Numpy เป็น Tool ที่ทรงพลังที่สุดในบรรดา Tool ทั้งหมด
Package ที่เป็นพื้นฐาน จะรองกับการคำนวณทางวิทยาศาสตร์ที่ถูกสร้างขึ้น โดย NumPy ย่อมาจากคำว่า Numerical Python มันมี Feature ที่มีประโยชน์มากมายสำหรับการ Operation กับ Metrices หากมีใครที่ใช้ MATLAB มาก่อน พวกเขาจะรู้ได้ทันทีว่า NumPy ไม่เพียงแต่มีประสิทธิภาพเทียบเท่ากับ MATLAB เท่านั้น แต่ยังมีความคล้ายคลึงกันในการ Operation อีกด้วย

3. Pandas

Pandas เป็น Library ที่จัดเตรียม Data Structures เพื่อจัดการและปรับปรุง Data ให้เหมาะสม โครงสร้าง 2 มิติ (2-Dimensional Structure) ที่เรียกว่า Dataframe ถือเป็นสิ่งที่ได้รับความนิยมมากที่สุด
Pandas เป็น Tool ที่เหมาะสำหรับการจัดการกับ Data มันถูกออกแบบมาเพื่อให้ Data Manipulation, Aggregation และ Visualization ทำได้ง่ายและรวดเร็วยิ่งขึ้น

Data Visualization

1. Matplotlib

สำหรับ Package อื่นจาก SciPy Ecosystem ที่ถูกออกแบบมาเพื่อการสร้าง Visualizations ที่ทั้งเรียบง่ายและมีประสิทธิภาพก็คือ Matplotlib มันเป็น 2D Plotting Library ซึ่งสร้าง Publication Quality Figures ในรูปแบบ Hardcopy ที่หลากหลาย
ตัวอย่างบางส่วนของ Matplotlib Outputs


ตัวอย่างอื่น ๆ

2. Seaborn

Seaborn เป็น Python Data Visualization Library ที่สร้างมาจาก Matplotlib โดยหลัก ๆ มันได้จัดเตรียม High-Level Interface สำหรับการวาด Statistical Graphics ที่ให้ทั้งข้อมูลและความน่าดึงดูดใจ ส่วนใหญ่จะ Focus ไปที่การสร้าง Visualization อย่างเช่น Heat Maps

3. MoviePy

MoviePy เป็น Python Library สำหรับการตัด-ต่อ Video, Concatenations, Title Insertions, Video Compositing, Video Processing และ การสร้าง Custom Effects มันสามารถอ่านและเขียนรูปแบบทั่วไปได้ทั้งหมด ทั้งเสียงและ Video รวมไปถึง GIF ด้วย

(Bonus) NLP Tool — FuzzyWuzzy

นี่เป็น Tool เกี่ยวกับเสียงอีกตัวหนึ่ง เป็น Library ที่มีประโยชน์มากเมื่อต้องมีการใช้ String Matching สิ่งหนึ่งที่คุณสามารถดำเนินการได้อย่างรวดเร็ว เช่น String Comparison Ratios, Token Ratios และอื่น ๆ อีกมากมาย

ที่มา:  https://towardsdatascience.com/

 

 

ดูตำแหน่งงานที่ใช้ทักษะ JavaScript ได้ที่นี่

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด