เนื้อหาในนี้เน้นการเปรียบเทียบจุดเด่นของภาษาคอมพิวเตอร์และเครื่องมือต่าง ๆ ที่เหล่านักวิทยาศาตร์ข้อมูลนิยมใช้ โดยแบ่งออกเป็นหมวดหมู่หลักดังนี้
R เป็นภาษาที่ถูกสร้างขึ้นเพื่อนักสถิติโดยเฉพาะ มีจุดเด่นที่น่าสนใจคือ
- ไม่ต้องเขียน For Loops: R ออกแบบมาให้จัดการข้อมูลแบบ Vector/Matrix ได้เลย ทำให้การวิเคราะห์สะดวกกว่าภาษาโปรแกรมทั่วไป
- Community ที่แข็งแกร่ง: หากติดปัญหา สามารถค้นหาตัวอย่างโค้ดบน Google ได้ง่ายมาก
- ระบบ Packages: มีมากกว่า 7,000 แพ็กเกจ (ผ่านระบบ CRAN) ที่ช่วยขยายขีดความสามารถให้ทำได้ทุกอย่าง
- Interfaces: สามารถใช้งานผ่าน RStudio (ยอดนิยมที่สุด) หรือ Jupyter Notebook ก็ได้
- ความโปร่งใส: การพิมพ์คำสั่ง (Command Line) ช่วยให้การวิเคราะห์ข้อมูลตรวจสอบย้อนกลับได้ (Replicability)
Python แตกต่างจาก R ตรงที่เป็นภาษาที่ใช้เขียนโปรแกรมได้ทุกรูปแบบ ไม่ใช่แค่สถิติ
- ความง่าย: เรียนรู้ง่ายและมีผู้ใช้งานทั่วโลกนับแสนคน
- Packages สำหรับ Data: แม้จะมีแพ็กเกจรวมกว่า 80,000 ตัว แต่ตัวหลักที่สาย Data ต้องรู้คือ NumPy, SciPy (คำนวณ), Pandas (จัดการตารางข้อมูล), Matplotlib/Seaborn (สร้างกราฟ) และ Scikit-learn (Machine Learning)
- Versions: ต้องระวังเรื่องความแตกต่างระหว่าง Python 2.x และ 3.x (ปัจจุบันแนะนำ 3.x เป็นหลัก)
- Jupyter Notebook: เป็นเครื่องมือหลักที่คนสาย Data รัก เพราะเขียนโค้ดไปพร้อมกับการทำ Markdown บันทึกเนื้อหาได้ในตัวเดียว
เราใช้ SQL เพราะนั่นคือที่ที่ข้อมูลสถิตอยู่ SQL ไม่ใช่แอปพลิเคชัน แต่เป็นภาษาสำหรับจัดการ Relational Database (RDBMS)
- คำสั่งพื้นฐาน: เรียนรู้แค่
SELECT, FROM, WHERE, ORDER BY ก็เพียงพอต่อการดึงข้อมูล 80-90% แล้ว
- ฐานข้อมูลยอดนิยม: Oracle, SQL Server (ฝั่งเสียเงิน) และ MySQL, PostgreSQL (ฝั่ง Open Source)
ภาษาเหล่านี้เปรียบเหมือนรากฐานที่ทำให้อัลกอริทึมทำงานได้
- ความเร็วและเสถียรภาพ: C/C++ เร็วที่สุด มักใช้เขียน Engine ของโปรแกรมสถิติอีกที
- บทบาท: งานส่วนนี้มักเป็นหน้าที่ของ Data Engineers ที่ดูแลระบบหลังบ้าน (Backend) มากกว่านักวิเคราะห์ (Analysts)
¶ 5. Bash และ Command Line (CLI)
เครื่องมือรุ่นเก๋าที่ยังทรงพลัง
- Do one thing well: เน้นการใช้คำสั่งสั้นๆ (One-liners) แต่ทำงานได้ทรงพลัง เช่น
grep (ค้นหา), sed (แปลงข้อความ), awk (จัดการข้อความ)
- Shell: บน Mac/Linux นิยมใช้ Bash ส่วน Windows นิยม PowerShell
คือการใช้สัญลักษณ์พิเศษเพื่อค้นหาข้อความตามรูปแบบ (Pattern Matching)
- สัญลักษณ์พื้นฐาน:
^ (Caret) : หาคำที่ขึ้นต้นด้วย...
$ (Dollar) : หาคำที่ลงท้ายด้วย...
. (Dot) : ใช้แทนตัวอักษรอะไรก็ได้ 1 ตัว
- ประโยชน์: ช่วยค้นหาข้อมูลที่ซับซ้อน เช่น การตรวจสอบความถูกต้องของ Email หรือการดึงคำเฉพาะเจาะจงออกจากเอกสารมหาศาล
เครื่องมือเหล่านี้เป็นเพียง "เครื่องมือ" (Tools) เท่านั้น สิ่งสำคัญคือ วิทยาศาสตร์ข้อมูล (Data Science) นั้นกว้างใหญ่กว่าเครื่องมือ ความสำเร็จไม่ได้มาจากการรู้จักเครื่องมือเยอะที่สุด แต่มาจากการเลือกใช้เครื่องมือให้เหมาะกับงานและการทำงานร่วมกันเป็นทีมนั่นเอง