加载并解析 5000 点数据
聚类是一种无监督学习任务,用于将对象按相似度高的方式分组为若干簇。与带有标签的监督学习不同,聚类可用于理解未标注的数据。PySpark MLlib 提供了常用的 K-means 聚类算法。在这个 3 个部分的练习中,您将确定一个包含 5000 行、2 列的数据集中有多少个簇。为此,您将先把数据加载到 RDD,按分隔符解析 RDD,运行 KMeans 模型,评估模型,并最终可视化这些簇。
在第一部分,您将把数据加载到 RDD,依据分隔符解析 RDD,并将字符串类型的数据转换为整数。
请记住,您的工作区中已提供 SparkContext sc。变量 file_path(5000_points.txt 文件的路径)也已经可用。
本练习是课程的一部分
使用 PySpark 的大数据基础
练习说明
- 将
5000_points数据集加载为名为clusterRDD的 RDD。 - 将
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(____.____()))