อยากเริ่มทำ Machine Learning ด้วย Python ดูบ้าง แต่ไม่รู้ว่าเขานิยมใช้ Libraries ไหนกัน วันนี้ทางผู้เขียนมี Libraries ดี ๆ ยอดฮิตสำหรับสาย Machine Learning มาแนะนำให้กับทุกคน จะมีอะไรบ้างนั้น ไปดูกันเลย
TensorFlow
เป็น Library ยอดฮิตที่ถูกพัฒนาโดยป๋า Google ยักษ์ใหญ่ของเรา ซึ่งในเกือบทุกผลิตภัณฑ์ของ Google ที่เราใช้ในชีวิตประจำวัน เช่น Gmail และ Google Search Engine ก็ล้วนใช้ TensorFlow หมด
ซึ่งผู้ใช้งาน ก็สามารถทำงานผ่าน Cloud หรืออุปกรณ์มือถือ อย่าง iOS และ Andriod ได้ ไม่จำเป็นต้องบน Computer เสมอไป
สามารถใช้สร้างและเทรนโมเดลของ Machine Learning ได้อย่างง่ายดาย ไม่ว่าจะเป็นมือใหม่ก็สามารถเริ่มลองทำได้ หรือว่าจะเป็นมืออาชีพ ก็ต่างเลือกใช้งานเจ้าตัวนี้กัน มี Algorithm เด่น ๆ อยู่มากมายให้เลือกใช้งานกัน เช่น
- Linear Regression
- Classification
- Deep Learning Classification
- Deep Learning Wipe and Deep
- Boosted Tree Regression
- Boosted Tree Classification
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
Keras
หากการใช้งาน TensorFlow นั้นยากเกินไปล่ะก็ ลองหันมาใช้เจ้า Keras กันดูสิ Library นี้เกิดจากการที่นักวิจัยจากทาง Google Lab ได้คิดค้นและพัฒนา Platform ใหม่ขึ้นมา เพื่อเอาไว้เรียกใช้งาน TensorFlow ในเบื้องหลังแทน ทำให้พวกเราเขียนโปรแกรมผ่าน Keras ได้โดยแทบจะไม่ต้องยุ่งกับ TensorFlow เลย
Keras นั้นเป็น Deep Learning Library ที่ใช้งานง่าย แต่มีประสิทธิภาพสูงในการรัน Model เนื่องจาก Back-end ของ Keras นั้น มีทั้ง TensorFlow และ Theano ซึ่งเป็น Deep Learning Library ที่มีประสิทธิภาพสูงทั้งคู่ ทำให้ผู้ใช้งานอย่างเราสามารถมั่นใจในประสิทธิภาพการทำงานได้อย่างเต็มที่
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
PyTorch
เป็น Deep Learning Library ที่ถูกพัฒนาโดย Facebook ที่ถูกดัดแปลงมาจาก Torch Library ที่ใช้ในภาษา Lua มาก่อน มีจุดเด่นในการ สร้างและเทรน Deep Learning Models อีกทั้งมี Function ให้ใช้งานอยู่หลากหลาย ไม่ว่าจะเป็น การจัดการข้อมูลเบื้องต้นก่อนนำมาใช้เป็นข้อมูลป้อนเข้า การแปลงและตัดแต่งรูปภาพเพื่อเพิ่มความหลากหลายให้ข้อมูลรูปภาพ การดึงชุดข้อมูลตัวอย่าง เช่น MNIST, CIFAR, ฯลฯ และยังสามารถใช้ GPU ช่วยในการคำนวนเพื่อเพิ่มประสิทธิภาพความเร็วได้อีกด้วย
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
Scikit-learn
เป็น Library ที่มีเครื่องมือ โมเดลล้ำ ๆ อยู่เยอะมากเลย เหมาะกับการใช้ในการทำ Machine Learning เป็นอย่างดี มี Function การทำงานต่าง ๆ อยู่ครบเครื่อง ไม่ว่าจะเป็นการ Classification, Regression, Clustering, Dimensionality Reduction, Model Selection, และ Preprocessing.
สามารถนำไปใช้ควบคู่กับ Library อื่น ๆ ได้อย่างดี ตัวอย่างเช่น Numpy และ Scipy มีเครื่องมือเด่น ๆ อยู่มากมายให้เลือกใช้งาน ไม่ว่าจะเป็น
- Classification
- Regression
- Clustering
- Model Selection
- Pre-processing
- และอย่างอื่นอีกมากมาย
หากใครที่เป็นมือใหม่กำลังหัดเริ่มทำ Machine Learning ขอบอกเลยว่า Library นี้ใช้งานง่าย เหมาะกับการหัดเริ่มแน่นอน
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
https://scikit-learn.org/stable/user_guide.html
Pandas
เป็น Library ที่ทำให้เราสามารถจัดการข้อมูลต่าง ๆ ได้ง่ายขึ้น ไม่ว่าจะเป็น การโหลดข้อมูลไฟล์ CSV เข้ามา แล้วแสดงข้อมูลออกมาในรูปแบบคล้ายกับ Table โดยมีการแบ่งข้อมูลเป็น Row กับ Column เราจะเรียกสิ่งนี้ว่า Data Frame
นิยมใช้กันมากเลยในการช่วยทำ Data Analysis ไว้ใช้สำหรับตรวจสอบข้อมูล และจัดข้อมูลต่าง ๆ โดย เจ้า Library นี้มีเครื่องมือที่เหมาะกับการทำ Data Preparation อยู่มากมาย ก่อนที่จะนำไปใช้เทรน Machine Learning นับว่าเป็นของดีที่สาย Machine Learning ห้ามพลาด !!
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
Theano
เป็น Open Source Project ที่ออกแบบมาเพื่อเป็น Deep Learning โดยเจ้าตัวนี้นั้นสามารถกำหนดและวัดผลสมการคำนวณทางคณิตศาสตร์ได้ดีเลยทีเดียว รวมถึง Array แบบหลาย ๆ มิติได้ด้วย
ถูกออกแบบมาเพื่อให้รองรับกับ Neural Network Algorithms ที่มีขนาดใหญ่ใน Deep Learning ใช้ควบคู่กับ NumPy ได้เป็นอย่างดี ซึ่งสามารถทำงานได้ทั้งบน CPU และ GPU ทำให้แสดงประสิทธิภาพการทำงานออกมาได้อย่างรวดเร็ว
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
https://github.com/Theano/Theano
Numpy
เป็น Library ที่ทำให้เราสามารถใช้ Object ชนิดที่เรียกว่า ndarray ได้ ซึ่งโดยปกติแล้ว Python นั้นมีสิ่งที่เรียกว่า Array อยู่แล้ว
แต่มักจะไม่เป็นที่นิยมใช้งานกัน เพราะเจ้า Library นี้สามารถทำหน้าที่ได้ ดีกว่า เลยทำให้ส่วนมากเลือกใช้งานเจ้า Library นี้เพื่อใช้เป็น Array แทนจากที่มีนั่นเอง
นิยมใช้กันมากเลยในการช่วยทำ Data Cleaning สามารถใช้คำนวณทางคณิตศาสตร์ที่ซับซ้อนได้ ใช้งานง่าย และมี Array Interface ที่เป็น Feature ที่โดดเด่นที่สุดของ Numpy อีกด้วย
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
SciPy
เป็น Library ที่ใช้ในการแก้ปัญหาทางวิทยาศาสตร์และคณิตศาสตร์ ถูกสร้างขึ้นต่อยอดจาก NumPy Library ทำให้ผู้ใช้สามารถจัดการและแสดงภาพข้อมูลด้วยคำสั่งที่หลากหลายมากขึ้นกว่าเดิม
มี Function อยู่มากมาย ไม่ว่าจะเป็น Linear Algebra หรือ Optimization ซึ่งถ้านำไปใช้ควบคู่กับ NumPy ก็จะเติมเต็มประสิทธิภาพการทำงานได้อย่างดีเยี่ยม
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
Matplotlib
เป็น Library ที่นิยมใช้มากที่สุดในการ Plot Graph ไม่ว่าจะเป็นสองมิติหรือ สามมิติ ซึ่งมีความยืดหยุ่นสูงสามารถทำกราฟได้หลายรูปเเบบเเถมยังเข้าใจได้ง่ายอีกด้วย
ซึ่งเจ้า Library นี้สามารถ Plot Graph ออกมาหลายชนิดด้วยกัน ไม่ว่าจะเป็น กราฟเส้นธรรมดา, แผนภูมิแท่ง, แผนภูมิวงกลมเเละอื่น ๆ อีกมากมาย
และอีกทั้งยังสามารถปรับแต่งเเก้ไขอะไรได้มากมายตามที่ต้องการ เช่นสีเส้น, รูปแบบเส้นและอื่น ๆ เหมาะกับการแปลงข้อมูลใน Array ออกมาเป็น Graph เพื่อใช้ทำ Data Analysis ได้ง่ายขึ้น
หากใครสนใจ กดที่ Link ด้านล่างได้เลยน้า
เป็นอย่างไรบ้างทุกคน จาก Library ที่แนะนำมาหลาย ๆ ตัวนี้ ขอบอกเลยว่าน่าใช้งานมากกก ในหลาย ๆ ตัว เป็น Library ที่ Dev สาย Machine Learning หลายคนเลือกใช้งานกัน หวังว่าทุกคนจะได้รับไอเดีย Library ใหม่ ๆ เพิ่มเติมกันนะ