Comece agoraComece grátis

Carregando dados de spam de SMS

Você viu que é possível inferir os tipos de dados diretamente a partir dos dados. Às vezes, porém, é melhor ter controle direto sobre os tipos das colunas. Para isso, você define um schema explícito.

O arquivo sms.csv contém uma seleção de mensagens de SMS 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.

Observações sobre o formato CSV:

  • não há linha de cabeçalho e
  • os campos são separados por ponto e vírgula (isso não é o separador padrão).

Dicionário de dados:

  • id — identificador do registro
  • text — conteúdo da mensagem SMS
  • label — spam ou ham (inteiro; 0 = ham e 1 = spam)

Este exercicio faz parte do curso

Machine learning com PySpark

Ver curso

Instruções do exercicio

  • Especifique o schema dos dados, informando os nomes das colunas ("id", "text" e "label") e seus tipos.
  • Leia os dados de um arquivo delimitado chamado "sms.csv".
  • Imprima o schema do DataFrame resultante.

exercicio interativo prático

Tente este exercicio 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.____()
Editar e Executar Código