Загрузка данных о спам-сообщениях
Вы уже видели, что типы данных можно определять автоматически на основе самих данных. Однако иногда удобнее явно задать типы столбцов. Для этого используется явная схема.
Файл sms.csv содержит набор SMS-сообщений, размеченных как «спам» или «не спам» (ham). Данные адаптированы из репозитория UCI Machine Learning Repository. Всего в наборе 5574 сообщения, из которых 747 помечены как спам.
Особенности CSV-формата:
- строка заголовка отсутствует;
- поля разделены точкой с запятой (это не разделитель по умолчанию).
Словарь данных:
id— идентификатор записиtext— текст SMS-сообщенияlabel— спам или не спам (целое число; 0 = не спам, 1 = спам)
Это упражнение является частью курса
Машинное обучение с 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.____()