เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การโหลดและแปลงข้อมูล 5000 จุด

การจัดกลุ่ม (Clustering) คืองานการเรียนรู้แบบไม่มีผู้สอน (unsupervised learning) ที่จัดวัตถุเข้าเป็นกลุ่มตามความคล้ายคลึงกัน ต่างจากงานแบบมีผู้สอน (supervised) ที่ข้อมูลจะมีป้ายกำกับ การจัดกลุ่มช่วยให้เราทำความเข้าใจข้อมูลที่ไม่มีป้ายกำกับได้ PySpark MLlib มีอัลกอริทึม K-means ที่นิยมใช้กันอย่างแพร่หลายสำหรับงานนี้ ในแบบฝึกหัด 3 ส่วนนี้ จะได้ค้นหาว่ามีกี่กลุ่มในชุดข้อมูลที่มี 5000 แถวและ 2 คอลัมน์ โดยจะเริ่มจากโหลดข้อมูลลงใน RDD แปลง RDD ตามตัวคั่น รันโมเดล KMeans ประเมินผลโมเดล และสุดท้ายแสดงภาพกลุ่มข้อมูล

ในส่วนแรก จะโหลดข้อมูลลงใน RDD แปลง RDD ตามตัวคั่น และแปลงข้อมูลประเภท string ให้เป็นจำนวนเต็ม

โปรดทราบว่า SparkContext sc พร้อมใช้งานใน workspace แล้ว รวมถึงตัวแปร file_path (ซึ่งเป็น path ไปยังไฟล์ 5000_points.txt) ก็พร้อมใช้งานเช่นกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Big Data Fundamentals with PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • โหลดชุดข้อมูล 5000_points ลงใน RDD ชื่อ clusterRDD
  • แปลง clusterRDD โดยแยกแต่ละบรรทัดด้วยแท็บ ("\t")
  • แปลง RDD ที่แยกแล้วให้สร้างลิสต์ของจำนวนเต็มสำหรับทั้งสองคอลัมน์
  • ตรวจสอบว่าชุดข้อมูลมีครบ 5000 แถว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Load the dataset into an RDD
clusterRDD = sc.____(file_path)

# Split the RDD based on tab
rdd_split = clusterRDD.____(lambda x: ____.split(____))

# Transform the split RDD by creating a list of integers
rdd_split_int = rdd_split.____(lambda x: [int(____), int(x[1])])

# Count the number of rows in RDD 
print("There are {} rows in the rdd_split_int dataset".format(____.____()))
แก้ไขและรันโค้ด