Memuat data spam SMS
Anda telah melihat bahwa tipe data dapat diinferensi langsung dari data. Namun, terkadang lebih nyaman jika Anda memiliki kendali langsung atas tipe kolom. Anda dapat melakukannya dengan mendefinisikan skema secara eksplisit.
File sms.csv memuat sejumlah pesan SMS yang telah diklasifikasikan sebagai 'spam' atau 'ham'. Data ini diadaptasi dari UCI Machine Learning Repository. Total terdapat 5.574 SMS, dengan 747 di antaranya berlabel spam.
Catatan format CSV:
- tidak ada header, dan
- setiap field dipisahkan oleh tanda titik koma (ini bukan pemisah bawaan/default).
Kamus data:
id— pengenal rekamantext— isi pesan SMSlabel— spam atau ham (bilangan bulat; 0 = ham dan 1 = spam)
Latihan ini merupakan bagian dari kursus
Machine Learning dengan PySpark
Instruksi latihan
- Tentukan skema data dengan memberikan nama kolom (
"id","text", dan"label") serta tipe kolomnya. - Baca data dari file berdelimiter bernama
"sms.csv". - Cetak skema untuk DataFrame yang dihasilkan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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.____()