ComenzarEmpieza gratis

Cargando datos de spam SMS

Has visto que es posible inferir los tipos de datos directamente a partir de los datos. A veces resulta útil tener control directo sobre los tipos de columna. Para ello, define un esquema explícito.

El archivo sms.csv contiene una selección de mensajes SMS que han sido clasificados como «spam» o «ham». Estos datos han sido adaptados del Repositorio de Machine Learning de la UCI. Hay un total de 5574 SMS, de los cuales 747 han sido etiquetados como spam.

Notas sobre el formato CSV:

  • sin registro de encabezado y
  • Los campos están separados por un punto y coma (este no es el separador predeterminado).

Diccionario de datos:

  • id — identificador del registro
  • text — contenido del mensaje SMS
  • label — spam o ham (entero; 0 = ham y 1 = spam)

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones del ejercicio

  • Especifica el esquema de datos, indicando los nombres de las columnas ("id", "text" y "label") y los tipos de columna.
  • Lee los datos de un archivo delimitado llamado "sms.csv".
  • Imprime el esquema del DataFrame resultante.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

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 y ejecutar código