Top 5 Python Distributions สำหรับ Machine Learning

22-มิ.ย.-18

คัมภีร์เทพ IT

หากคุณกำลังทำงานเกี่ยวข้องกับด้าน  Statistics, Data Science หรือ Lachine Learning อยู่ละก็ Python ดูจะเป็นตัวเลือกที่ดี ในบทความนี้เรามาดูกันว่า 5 Python Distributions ที่เหมาะกับการทำ Machine Learning มีอะไรบ้าง

1. Anaconda Python

Anaconda ถือว่ามีความโดดเด่นมาก ไม่เพียงแต่ Data Science และ Machine Learning เท่านั้น แต่สำหรับวัตถุประสงค์อื่นๆ เกี่ยวกับ Python Development ด้วย โดย Anaconda ช่วยให้คุณเข้าถึง Package เกี่ยวกับ Data Science ที่ถูกใช้งานบ่อยๆ เช่น NumPy, Pandas, Matplotlib และอื่นๆ อีกมากมาย โดยสามารถใช้ผ่านการ Custom Package Management System ที่เรียกว่า Conda ซึ่งใน Conda-installed Packages ยังรวมไปถึง binary dependencies ที่ไม่สามารถจัดการผ่าน Pip ของ Python ได้ (แต่คุณยังคงสามารถใช้ Pip ได้หากว่าต้องการ) แต่ละ Package จะถูก update อยู่เสมอโดย Anaconda และจะถูก Compile ด้วย Intel MKL extensions เพื่อความรวดเร็ว

ข้อได้เปรียบอื่นๆ ของ Anaconda คือ graphical environment,  Anaconda Navigator แต่ Navigator ไม่ใช่ IDE แต่เป็น GUI front end สำหรับ features ของ Anaconda รวมทั้ง Conda package manager และ user-configured virtual environments คุณยังสามารถใช้ Navigator เพื่อจัดการกับ 3rd Party Applications อย่างเช่น Jupyter notebooks และ Visual Studio Code IDE การติดตั้งด้วย Option ที่น้อยที่สุดของ Anaconda เรียก Miniconda ซึ่งจะสามารถใช้งานส่วนที่เป็นพื้นฐาน แต่ยังสามารถขยายการใช้งานด้วย Conda- หรือ Pip-installed Packages ได้ถ้าคุณต้องการ

2. ActivePython

Data Science เป็น Use cases สำหรับ ActivePython ซึ่งออกแบบมาเพื่อสนับสนุน Python โดยการใช้งานที่สอดคล้องกันระหว่าง Architectures และ Platforms ซึ่งมันจะช่วยคุณได้มาก สำหรับการใช้ Data Science บน platforms เช่น AIX, HP-UX, Solaris รวมทั้ง Windows, Linux และ MacOS

ActivePython ถูกพัฒนาให้ใกล้เคียงกับภาษา Python ให้มากที่สุด แทนที่จะเป็นการติดตั้งพิเศษสำหรับ Package ที่ซับซ้อน ActivePython จะทำการ Pre-compiles Packages เหล่านั้นโดยใช้ Intel MKL Extensions ในส่วนที่จำเป็น และจัดเตรียมให้เป็น Pack-Ins สำหรับ default installation ของ ActivePython

3. CPython

ถ้าคุณต้องการเริ่มต้นเรียนรู้เพื่อทำงานเกี่ยวกับ Machine Learning ตั้งแต่ต้น แนะนำให้ลองเลือก CPython สาเหตุที่ตั้งชื่อนี้ก็เพราะเป็น Reference edition ของ Python runtime ที่เขียนโดยภาษา C โดยหากต้องการใช้งาน CPython ให้เข้าเว็บไซต์ Python Software Foundation และจะมี Tools ที่จำเป็นในการ Run Python Scripts และจัดการกับ Packages

ถ้าคุณต้องการ Custom-build ตัว Python Environment สำหรับ Machine Learning หรือโปรเจค Data Science แล้วละก็ CPython ก็เหมาะสมที่สุด ในทางกลับกัน การใช้ CPython ก็หมายความว่า คุณต้องจัดการกับรายละเอียดหรือข้อมูลที่จำเป็นของการ Install และ Configuring Packages อย่างเช่น NumPy ด้วย Dependencies ของมัน อาจมีส่วนหนึ่งที่คุณต้องหาหรือ Add มันเข้าไปด้วยตนเอง แม้ว่าปัจจุบันสิ่งเหล่านี้ได้ลดภาระให้กับคุณไปได้มากพอสมควรแล้ว โดยเฉพาะอย่างยิ่ง Pip Package Manager ที่ Installs Precompiled Binaries ที่ใช้ใน Data Science Packages แต่ยังคงมีหลายกรณี(โดยเฉพาะใน Microsoft Windows) ที่คุณต้องจัดการด้วยตัวเอง เช่น การติดตั้ง C/C++ Compiler

ข้อด้อยของ CPython คือ มันไม่ได้ใช้ Performance-Accelerating Options ซึ่งมีประโยชน์ต่อ Machine Learning และ Data Science อย่าง Intel’s Math Kernel Library (MKL) Extensions ที่คุณจะต้องสร้าง NumPy และ SciPy libraries เพื่อใช้ Intel MKL ทั้งหมดด้วยตัวเอง

4. Enthought Canopy

Enthought Canopy ดูจะคล้ายคลึงกับ Anaconda ในหลายๆ เรื่อง มันถูกสร้างขึ้นโดยใช้หลักการและ Use cases ของ Data Science และ Machine Learning มีทั้ง Package index, Graphical front ends และ Command-line Tools สำหรับ จัดการการ Setup ทั้งหมด โดย Enterprise users สามารถซื้อ Enthought Deployment Server ซึ่งเป็น Behind-the-firewall package management system นอกจากนี้ Machine Learning Packages ที่สร้างขึ้นสำหรับ Canopy ก็ใช้ Intel MKL Extensions

ความแตกต่างหลักๆ ระหว่าง Anaconda และ Canopy คือเรื่องของ Scope เพราะ Canopy ดูจะใช้งานได้ในระดับกลางๆ ส่วน Anaconda ดูจะครอบคลุมกว่า อย่างเช่น ในขณะที่ Canopy มี Command-line Tools สำหรับสร้างและจัดการกับ Python Virtual Environments (ซึ่งมันจะมีประโยชน์เมื่อต้องจัดการกับ Packages ต่างๆ ใน Machine Learning Workflows ที่แตกต่างกัน) ส่วน Anaconda มี GUI สำหรับแต่ละ Job ในทางกลับกัน Canopy ยังมี IDE แบบ Built-in (ทั้ง File browser, Jupyter notebook และ Code editor) ซึ่งเป็นประโยชน์สำหรับในการทำงานและลดความยุ่งยากลง

5. WinPython

แต่เดิม WinPython ถูก build ขึ้นเพื่อเป็น Edition หนึ่งของ Python ที่สร้างมาเฉพาะสำหรับ Microsoft Windows แม้ CPython จะถูก builds สำหรับ Windows แต่อาจยังมีประสิทธิภาพไม่มากพอ ซึ่ง WinPython ได้เข้ามาเติมเต็มในส่วนนี้ แม้ CPython สำหรับ Windows จะดีขึ้นกว่าเดิม ขณะเดียวกัน WinPython ก็ได้มาเติมจุดที่ยังบกพร่องอยู่ โดยเฉพาะอย่างยิ่งสำหรับ Data Science และ Machine Learning Applications โดย default แล้ว WinPython เป็นแบบ Portable ซึ่ง WinPython เหมาะกับ Single Directory ที่เข้า Concept ว่า Placed Anywhere และ Run Anywhere การติดตั้ง WinPython สามารถทำเป็น archive หรือเป็น USB drive ซึ่งติดตั้งมาพร้อมกับ Variables, Packages และ Scripts ที่จำเป็นสำหรับการทำงาน มันเป็นวิธีที่มีประโยชน์อย่างมากสำหรับการรวบรวมข้อมูลทั้งหมดที่จำเป็นในการ Train model หรือ Reproduce Data Experiment หรือคุณสามารถ Register การติดตั้ง WinPython กับ Windows และใช้งานหลัง Install ได้ (และสามารถยกเลิกการลงทะเบียนภายหลังได้) นอกจากนี้ยังมี Libraries ต่างๆ ทั้ง NumPy, Pandas, Jupyter และ Interface สำหรับภาษา R และ Julia ยังมี Mingw64 C/C++ Compiler มาพร้อมกับ NumPy ใน WinPython ด้วย เพื่อให้ Binary Python Extensions สามารถ built ได้จาก Source โดยตรง ไม่ต้องติดตั้งตัว Compiler เพิ่มอีก

WinPython มีตัวติดตั้ง Package ของตัวเอง (WPPM) ซึ่งจัดการ Package ที่มาพร้อมกับ Prebuilt Binary และ pure-Python Packages ส่วนใครที่ต้องการเฉพาะแค่ WinPython ที่ไม่รวม package อื่นๆ ก็สามารถใช้ “zero version” ได้ (แบบเดียวกับ Miniconda ของ Anaconda)

ที่มา:  https://www.infoworld.com/

 

 

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

 

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

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง