Carregando dados de spam de SMS
Você já viu que dá pra deduzir os tipos de dados diretamente dos dados. Às vezes, é legal poder controlar diretamente os tipos de coluna. Você faz isso definindo um esquema explícito.
O arquivo “ sms.csv
” tem uma seleção de mensagens SMS que foram classificadas como “spam” ou “ham”. Esses dados foram adaptados do Repositório de Machine Learning da UCI. Tem um total de 5.574 SMS, e 747 foram marcados como spam.
Observações sobre o formato CSV:
- sem registro de cabeçalho e
- Os campos são separados por um ponto e vírgula (esse não é o separador padrão).
Dicionário de dados:
id
— identificador do 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, dando nomes às colunas (
"id"
,"text"
e"label"
) e tipos de coluna. - Lê os dados de um arquivo delimitado chamado “
"sms.csv"
”. - Imprima o esquema para o 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.____()