Carga de datos de spam SMS
Has visto que es posible deducir tipos de datos directamente de los datos. A veces es conveniente tener un 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 "jamón". Estos datos se han adaptado 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:
- ningún registro de cabecera y
- Los campos están separados por punto y coma (no es **el separador por defecto).
Diccionario de datos:
id
- identificador del registrotext
- contenido del mensaje SMSlabel
- spam o jamón (entero; 0 = jamón y 1 = spam)
Este ejercicio forma parte del curso
Machine learning con PySpark
Instrucciones de ejercicio
- Especifica el esquema de datos, dando nombres a las columnas (
"id"
,"text"
, y"label"
) y tipos de columna. - Lee los datos de un archivo delimitado llamado
"sms.csv"
. - Imprime el esquema del Marco de datos resultante.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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.____()