Завантаження та розбір даних «5000 points»
Кластеризація — це завдання некерованого навчання, у якому об'єкти групують у кластери з високою подібністю. На відміну від керованих задач, де дані мають мітки, кластеризація допомагає впорядкувати немарковані дані. У PySpark MLlib є популярний алгоритм K-means для кластеризації. У цій вправі з трьох частин ви з'ясуєте, скільки кластерів є в наборі даних із 5000 рядків і 2 стовпців. Для цього ви спочатку завантажите дані в RDD, розберете RDD за роздільником, запустите модель KMeans, оціните модель і зрештою візуалізуєте кластери.
У першій частині ви завантажите дані в RDD, розберете RDD за роздільником і перетворите рядковий тип даних на цілі числа.
Пам'ятайте, що у вашому робочому середовищі доступний SparkContext sc. Також змінна file_path (шлях до файла 5000_points.txt) уже доступна у вашому середовищі.
Ця вправа є частиною курсу
Основи Big Data з 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(____.____()))