Завантаження даних про SMS‑спам
Ви бачили, що типи даних можна вивести безпосередньо з даних. Інколи зручніше мати повний контроль над типами стовпців. Для цього визначають явну схему.
Файл sms.csv містить добірку SMS‑повідомлень, які класифіковано як «spam» або «ham». Дані адаптовано з UCI Machine Learning Repository. Усього є 5 574 SMS, із них 747 позначені як спам.
Нотатки щодо формату CSV:
- немає рядка заголовків і
- поля розділені крапкою з комою (це не типовий роздільник).
Словник даних:
id— ідентифікатор записуtext— вміст SMS‑повідомленняlabel— spam або ham (ціле число; 0 = ham і 1 = spam)
Ця вправа є частиною курсу
Machine Learning з PySpark
Інструкції до вправи
- Укажіть схему даних, задавши назви стовпців (
"id","text"і"label") та їхні типи. - Прочитайте дані з розділеного файла
"sms.csv". - Виведіть схему отриманого DataFrame.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
# Specify column names and types
schema = StructType([
StructField("____", IntegerType()),
____("____", ____()),
____("____", ____())
])
# Load data from a delimited file
sms = spark.read.csv(____, sep=____, header=____, ____=____)
# Print schema of DataFrame
sms.____()