1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Python에서 Spark SQL 입문

Connected

Exercise

텍스트를 벡터 형식으로 변환하기

이제 문장을 분할하고 CountVectorizer를 사용해 단어 배열을 수치 벡터로 변환하는 방법을 배우셨어요.

데이터프레임 df가 제공되며, 열은 sentence, in, out입니다. 각 열은 문자열 배열입니다. sentence는 교과서에서 가져온 한 문장을 단어 목록으로 나타낸 것이고, out 열은 sentence의 마지막 단어를 담습니다. in 열은 sentence에서 마지막 단어를 제거해 만든 것입니다.

CountVectorizer model은 words라는 열을 가진 데이터프레임을 입력으로 받아 vec 열을 생성합니다.

먼저 invec 열을 추가하는 변환을 수행합니다. 결과는 다음과 같습니다:

+----------------------+-------+------------------------------------+
|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

그다음 두 번째 변환을 수행합니다. 결과는 다음과 같습니다:

+------------------------------------+----------------+
|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

Instrukcje

100 XP
  • model을 사용해 df에 transform()을 적용하여 result라는 데이터프레임을 만드세요. result에는 sentence, in, out, invec 열이 있어야 하고, invec은 in 열을 벡터로 변환한 결과입니다.
  • result에 outvec이라는 열을 추가하세요. 이제 result에는 sentence, in, out, invec, outvec 열이 있어야 합니다.