Memuat data spam SMS
Anda telah melihat bahwa tipe data dapat diinferensikan langsung dari data. Namun, kadang lebih mudah jika Anda memiliki kendali langsung atas tipe kolom. Anda dapat melakukannya dengan mendefinisikan skema secara eksplisit.
File sms.csv berisi sekumpulan pesan SMS yang telah diklasifikasikan sebagai 'spam' atau 'ham'. Data ini diadaptasi dari UCI Machine Learning Repository. Total ada 5574 SMS, dengan 747 di antaranya berlabel spam.
Catatan tentang format CSV:
- tidak ada rekaman header dan
- setiap kolom dipisahkan oleh titik koma (ini bukan pemisah default).
Kamus data:
id— pengenal rekamantext— isi pesan SMSlabel— spam atau ham (bilangan bulat; 0 = ham dan 1 = spam)
Latihan ini adalah bagian dari kursus
Machine Learning dengan PySpark
Petunjuk latihan
- Tentukan skema data, berikan nama kolom (
"id","text", dan"label") serta tipe kolomnya. - Baca data dari file berformat delimited bernama
"sms.csv". - Cetak skema untuk DataFrame yang dihasilkan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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.____()