ComenzarEmpieza gratis

Puntuación, números y fichas

Al final del capítulo anterior cargaste un conjunto de datos de mensajes SMS que habían sido etiquetados como "spam" (etiqueta 1) o "jamón" (etiqueta 0). Ahora vas a utilizar esos datos para construir un modelo clasificador.

Pero primero tendrás que preparar los mensajes SMS como se indica a continuación:

  • eliminar la puntuación y los números
  • tokenizar (dividir en palabras individuales)
  • eliminar palabras vacías
  • aplica el truco del hashing
  • convertir a representación TF-IDF.

En este ejercicio eliminarás los signos de puntuación y los números, y luego tokenizarás los mensajes.

Los datos de los SMS están disponibles en sms.

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones de ejercicio

  • Importa la función para sustituir expresiones regulares y la función para tokenizar.
  • Sustituye todos los caracteres de puntuación de la columna text por un espacio. Haz lo mismo con todos los números de la columna text.
  • Divide la columna text en fichas. Nombra la columna de salida words.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Import the necessary functions
from pyspark.sql.functions import ____
from pyspark.ml.feature import ____

# Remove punctuation (REGEX provided) and numbers
wrangled = sms.withColumn('text', ____(sms.text, '[_():;,.!?\\-]', ____))
wrangled = wrangled.withColumn(____, ____(____, ____, ____))

# Merge multiple spaces
wrangled = wrangled.withColumn('text', regexp_replace(wrangled.text, ' +', ' '))

# Split the text into words
wrangled = ____(inputCol='text', outputCol=____).____(wrangled)

wrangled.show(4, truncate=False)
Editar y ejecutar código