ComeçarComece de graça

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 registro
  • text - conteúdo da mensagem SMS
  • label - spam ou ham (número inteiro; 0 = ham e 1 = spam)

Este exercício faz parte do curso

Machine learning com PySpark

Ver curso

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.____()
Editar e executar o código