Zacznij terazZacznij za darmo

Wczytywanie danych SMS ze spamem

Widziałeś już, że typy danych można wywnioskować bezpośrednio z zawartości pliku. Czasem jednak wygodniej jest mieć pełną kontrolę nad typami kolumn — osiągasz to, definiując schemat jawnie.

Plik sms.csv zawiera zbiór wiadomości SMS sklasyfikowanych jako „spam" lub „ham". Dane zostały zaadaptowane z repozytorium UCI Machine Learning Repository. Zbiór zawiera łącznie 5574 wiadomości SMS, z czego 747 oznaczono jako spam.

Informacje o formacie CSV:

  • brak wiersza nagłówka,
  • pola są oddzielone średnikiem (to nie jest domyślny separator).

Słownik danych:

  • id — identyfikator rekordu
  • text — treść wiadomości SMS
  • label — spam lub ham (liczba całkowita; 0 = ham, 1 = spam)

To ćwiczenie jest częścią kursu

Uczenie maszynowe z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj schemat danych, podając nazwy kolumn ("id", "text" i "label") oraz ich typy.
  • Wczytaj dane z pliku z separatorem o nazwie "sms.csv".
  • Wyświetl schemat powstałego DataFrame'u.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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.____()
Edytuj i uruchom kod