Tải và phân tích dữ liệu 5000 điểm
Clustering là một tác vụ học không giám sát, dùng để nhóm các đối tượng vào những cụm có mức độ tương đồng cao. Khác với các tác vụ có giám sát (dữ liệu có nhãn), clustering giúp bạn hiểu dữ liệu không có nhãn. PySpark MLlib có thuật toán K-means phổ biến cho clustering. Trong bài tập gồm 3 phần này, bạn sẽ tìm xem có bao nhiêu cụm trong một tập dữ liệu gồm 5000 hàng và 2 cột. Bạn sẽ lần lượt tải dữ liệu vào một RDD, phân tách RDD theo ký tự phân cách, chạy mô hình KMeans, đánh giá mô hình và cuối cùng trực quan hóa các cụm.
Trong phần đầu, bạn sẽ tải dữ liệu vào RDD, phân tách RDD theo ký tự phân cách và chuyển kiểu dữ liệu chuỗi thành số nguyên.
Lưu ý: bạn đã có SparkContext sc trong không gian làm việc. Biến file_path (đường dẫn đến tệp 5000_points.txt) cũng đã sẵn có trong không gian làm việc.
Bài tập này là một phần của khóa học
Nền tảng Big Data với PySpark
Hướng dẫn bài tập
- Tải tập dữ liệu
5000_pointsvào một RDD tênclusterRDD. - Biến đổi
clusterRDDbằng cách tách các dòng theo tab ("\t"). - Biến đổi RDD đã tách để tạo danh sách số nguyên cho hai cột.
- Xác nhận rằng tập dữ liệu có 5000 hàng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____.____()))