始める無料で始める

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.____()
コードを編集して実行