1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ Spark SQL 入門

Connected

演習

テキストをベクトル形式に変換する

CountVectorizer を使って、文を分割し、単語の配列を数値ベクトルに変換する方法を学びました。

データフレーム df が用意されており、sentence、in、out の各列があります。各列は文字列の配列です。sentence は教科書の文を表す単語リストです。out 列には sentence の最後の単語が入っています。in 列は、sentence の最後の単語を取り除いて得られます。

CountVectorizer の model は words という列を持つデータフレームを想定し、vec という列を作成します。

最初に、invec 列を追加する transform を行います。結果は次のようになります。

+----------------------+-------+------------------------------------+
|in                    |out    |invec                               |
+----------------------+-------+------------------------------------+
|[then, how, many, are]|[there]|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|
|[how]                 |[many] |(126,[28],[1.0])                    |
|[i, donot]            |[know] |(126,[15,78],[1.0,1.0])             |
+----------------------+-------+------------------------------------+
only showing top 3 rows

次に、2 回目の transform を行います。結果は次のようになります。

+------------------------------------+----------------+
|invec                               |outvec          |
+------------------------------------+----------------+
|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|(126,[11],[1.0])|
|(126,[28],[1.0])                    |(126,[18],[1.0])|
|(126,[15,78],[1.0,1.0])             |(126,[21],[1.0])|
+------------------------------------+----------------+
only showing top 3 rows

指示

100 XP
  • model を使って df に transform() を実行し、result というデータフレームを作成します。result は sentence、in、out、invec の各列を持ちます。invec は in 列をベクトル変換したものです。
  • result に outvec という列を追加します。result は sentence、in、out、invec、outvec の各列を持つようになります。