SMSスパムデータの読み込み
データからデータ型を直接推論できることを学びました。場合によっては、列の型を直接指定できると便利です。そのためには、明示的なスキーマを定義します。
ファイル sms.csv には、「スパム」または「ハム」に分類されたSMSメッセージが含まれています。このデータは UCI Machine Learning Repository を基に加工したものです。SMSは合計5574件あり、そのうち747件がスパムとしてラベル付けされています。
CSV形式に関する注意事項:
- ヘッダー行はありません。
- フィールドはセミコロンで区切られています(デフォルトの区切り文字ではありません)。
データ辞書:
id— レコードの識別子text— SMSメッセージの内容label— スパムまたはハム(整数値。0 = ハム、1 = スパム)
この演習はコースの一部です
Machine Learning with PySpark
演習の手順
- 列名(
"id"、"text"、"label")と列の型を指定して、データスキーマを定義します。 "sms.csv"という名前の区切りファイルからデータを読み込みます。- 生成されたDataFrameのスキーマを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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.____()