Carregamento de dados de spam de SMS
Você viu que é possível inferir tipos de dados diretamente dos dados. Às vezes, é conveniente ter controle direto sobre os tipos de coluna. Você faz isso definindo um esquema explícito.
O arquivo sms.csv
contém uma seleção de mensagens SMS que foram classificadas como "spam" ou "ham". Esses dados foram adaptados do UCI Machine Learning Repository (Repositório de aprendizado de máquina da UCI). Há um total de 5574 SMS, dos quais 747 foram rotulados como spam.
Observações sobre o formato CSV:
- nenhum registro de cabeçalho e
- são separados por um ponto e vírgula (esse não é o separador padrão).
Dicionário de dados:
id
- identificador de registrotext
- conteúdo da mensagem SMSlabel
- spam ou ham (número inteiro; 0 = ham e 1 = spam)
Este exercício faz parte do curso
Machine learning com PySpark
Instruções do exercício
- Especifique o esquema de dados, fornecendo nomes de colunas (
"id"
,"text"
e"label"
) e tipos de colunas. - Leia os dados de um arquivo delimitado chamado
"sms.csv"
. - Imprima o esquema do DataFrame resultante.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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.____()