Carregando 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. Há um total de 5574 SMS, dos quais 747 foram rotulados como spam.
Notas sobre o formato CSV:
- nenhum registro de cabeçalho e
- são separados por 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
Aprendizado de máquina com PySpark
Instruções de 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"
. - Imprime o esquema do DataFrame resultante.
Exercício interativo prático
Experimente este exercício preenchendo 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.____()