5000点データの読み込みとパース
クラスタリングは、類似度の高いオブジェクト同士をグループ化する、教師なし学習のタスクです。ラベル付きデータを扱う教師あり学習と異なり、クラスタリングはラベルのないデータの構造を理解するのに役立ちます。PySpark MLlib には、クラスタリングでよく使われる K-means アルゴリズムが含まれています。この3部構成の演習では、5000行・2列のデータセットにいくつのクラスタがあるかを見つけます。まずデータを RDD に読み込み、区切り文字に基づいて RDD をパースし、KMeans モデルを実行して評価し、最後にクラスタを可視化します。
第1部では、データを RDD に読み込み、区切り文字に基づいて RDD をパースし、文字列型のデータを整数に変換します。
作業スペースには SparkContext sc が用意されています。また、5000_points.txt へのパスである file_path 変数もすでに利用可能です。
この演習はコースの一部です
PySparkで学ぶBig Data入門
演習の手順
5000_pointsデータセットをclusterRDDという名前の RDD に読み込みます。- 行をタブ("\t")で分割して
clusterRDDを変換します。 - 分割後の RDD を変換して、2列の整数リストを作成します。
- データセットに 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(____.____()))