Categories
Computer Data

#21 A* Search Algorithm กับการเดินในเขาวงกต

หลังจากที่เขียนในบทความก่อนหน้าถึงโครงสร้างข้อมูลแบบ Graph และ เทคนิคการเดินทางใน Graph (Graph Traversal) เพื่อหาเส้นทาง Shortest Path โดย Dijkstra’s กับ Bellman-Ford’s Algorithms แล้ว

ในบทความนี้เราจะมาแนะนำเทคนิคอีกเทคนิคหนึ่งที่มีชื่อว่า A* (อ่านว่าเอ-สตาร์) Search Algorithm

The English version is available here.

Categories
Computer Data

#19 Big-O, Search & Sort ที่ใช้ในงาน Data

The English version of this blog related to the first part: Big-O notation, is available here.

เมื่อวันก่อนเข้าไปอ่านในหน้าเว็บ Medium ที่กล่าวถึง Data Structures & Algorithms (ย่อเป็น DSA) ที่จำเป็นสำหรับทาง Data Engineer ว่าต้องรู้เทคนิคไหนบ้าง แถมตอนเรียนในคอร์สจากเว็บ DataTH (รวมถึงที่อื่น) ก็มีกล่าวถึงไว้นิดหน่อยว่าจำเป็นต้องรู้เรื่องนี้ต่อยอดจากที่เรียนในคอร์ส

เราเลยสังเกตตอนที่เขียนโค้ดแล้วพบว่าโค้ดมันก็รันได้ แต่ประสิทธิภาพมันก็ไม่ได้ดีอะไรขนาดนั้น การมีความรู้ทางด้าน DSA ก็นำไปใช้ช่วยเขียนโค้ดให้ทำงานได้มีประสิทธิภาพมากกว่าเดิม โดยในบทความนี้ก็สรุป และแชร์เรื่องนี้ครับ

Categories
Computer Data

#18 ใช้ Databricks ดึงอัตราแลกเปลี่ยนลงตาราง

ช่วงสองสามสัปดาห์ที่ผ่านมาเราได้เข้าไปดู Special Classes เรื่อง Intro to Databricks ในคอร์ส Road to Data Engineer 2.0 ของ DataTH School จากนั้นเราเลยทดลองทำโปรเจคด้วย Databricks และแชร์ลงบทความนี้

แต่ก่อนอื่น เราไม่เสียเวลาเกริ่นนาน เรามาเริ่มพูดถึง Databricks กันก่อนดีกว่าครับ

The English version is available here.

Categories
Computer Data

#15 แปลงข้อมูลจากไฟล์ให้เป็น Structured Data

The English version is available in Medium.

ข้อมูลประเภท Unstructured Data เป็นข้อมูลที่ไม่มีโครงสร้างที่แน่นอนแบบที่ปรากฏในข้อมูลประเภท Structured Data และ Semi-Structured Data โดยตัวอย่างข้อมูลประเภทนี้ได้แก่ ไฟล์ รูปภาพ วิดีโอ และเสียง

Categories
Computer Data

#14 ดึงข้อมูลจาก Database มาโชว์ใน Dashboard

ต่อมาโปรเจคก่อนหน้าที่ทำ Data Pipeline ที่ดึงข้อมูลไฟล์ Excel จากเว็บไซต์ของกระทรวงอว. (กระทรวงการอุดมศึกษา วิทยาศาสตร์ วิจัยและนวัตกรรม) คราวนี้เรามาทำอีกโปรเจคหนึ่งที่สร้าง Data Pipeline มาดึงข้อมูลจากฐานข้อมูล (Database) เพื่อนำมาทำ Dashboard

Categories
Computer Data

#13 ทำ Data Pipeline ดึง Data ต้นทุนนศ.ต่อปี

Data Pipeline คือกระบวนการลำเลียงข้อมูลจากแหล่งข้อมูล (Data Source) มายังจุดหมาย (Destination)

ข้อดีของการทำ Data Pipeline ตามกระบวนการนี้ ได้แก่ รวบรวมข้อมูลให้เป็นหนึ่งเดียว (Locality) กับไม่จำเป็นต้องต่อท่อตรงจาก Data Source ไปยัง Destination (Decoupling) และสามารถทำซ้ำได้ (Reproducible) เพื่อให้เราเก็บข้อมูลไว้สำหรับการนำข้อมูลไปประมวลผลใหม่อีกกี่รอบก็ได้ [1]

Categories
Computer

#12 – รู้จัก Apple MLX และเขียนโค้ด Linear Regression

Apple MLX เป็นไลบรารีสำหรับงานทางด้าน Machine Learning ที่พัฒนาโดยทีมงาน Apple Machine Learning Research ที่ออกแบบมาเพื่อ Apple Silicon (ชิปแบบ M2, M3) โดยเฉพาะ โดยไลบรารีนี้มีฟีเจอร์ที่เด่น ๆ ได้แก่

Categories
Computer

#11 – Linear Regression แบบเขียนมือ

Linear regression เป็นความสัมพันธ์แบบเชิงเส้นระหว่างค่าที่เราต้องการทำนาย กับตัวแปรที่เรานำมาใช้ในการคำนวณ เทคนิคนี้เป็นเทคนิคที่ใช้มานานแล้ว กับเป็นเทคนิคที่เป็นโมเดลทางคณิตศาสตร์ที่เข้าใจง่าย ร่วมกับใช้งานได้หลากหลาย ตั้งแต่การศึกษา ไปจนถึงธุรกิจต่าง ๆ

Categories
Computer

#10 – ปรับโมเดลให้แม่นขึ้นด้วย Two-Step Data Augmentation

For English, please click this link to the original article published in GitHub Gist.

Data Augmentation คือเทคนิคที่ช่วยเพิ่มปริมาณของข้อมูลในชุดข้อมูล (Dataset) จากเดิมโดยการสังเคราะห์ข้อมูลขึ้นมาใหม่

เหตุผลที่ทำแบบนี้มาจากการเทรนโมเดลสำหรับใช้งานทางด้าน Computer Vision จำเป็นต้องใช้ข้อมูลที่มีปริมาณมาก แต่ติดปัญหาอย่างหนึ่งเลยคือข้อมูลที่เรามีอยู่มีปริมาณน้อย ไม่เพียงพอต่อการนำไปใช้เทรนโมเดล ดังนั้นแล้วเราจำเป็นต้องทำ Data Augmentation เพื่อช่วยเพิ่มความแม่นยำของโมเดลที่นำมาใช้งานทางด้าน Computer Vision

Categories
Computer Data

#4 – วิธีโหลดไฟล์ลง Google Drive ด้วย Colab

ปกติเวลาดาวน์โหลดไฟล์จากเว็บมาลงบนคอมพิวเตอร์เราก็จะบันทึกลงคอมพิวเตอร์ของเราตามปกติโดยการกดปุ่มดาวน์โหลดในหน้าเว็บไซต์ของแต่ละเว็บไซต์

อย่างไรก็ตาม กรณีที่เราอยู่ข้างนอกที่ใช้เน็ตมือถือ หรือพักโรงแรมที่เน็ตมันไม่เร็วมาก ถ้าเราดาวน์โหลดไฟล์ตามปกติ เราก็จะใช้ Bandwidth เป็นจำนวนมาก หรือต้องรอดาวน์โหลดไฟล์กว่าจะเสร็จก็ใช้ระยะเวลานาน