IniziaInizia gratis

Creare dati di feature con finestra di contesto

La tecnica della finestra mobile è utile per i modelli di machine learning che usano dati di feature con finestra di contesto.

Nel tuo workspace è disponibile una tabella text con le colonne id, word, part, title. Contiene i capitoli 9, 10, 11 e 12 del libro su Sherlock Holmes. Le parole sono già elaborate e organizzate con una parola per riga. Ogni parola ha un indice intero univoco fornito dalla colonna id. La colonna id è minore per le parole che compaiono prima nel testo e maggiore per quelle che compaiono più tardi nel testo.

Le prime 10 righe dell'insieme di dati per il capitolo 12 sono stampate nella console come Table1. Le prime dieci righe del risultato desiderato, limitate alla parte 12 (Capitolo 12), sono stampate nella console come Table2. In Table2, la parola "data" per la riga è fornita nella colonna w3. Le colonne w1 e w2 riportano le due parole immediatamente precedenti alla parola data. Le colonne w4 e w5 riportano le due parole immediatamente successive alla parola data.

Nota come w1 e w2 siano null per la prima riga. Questo perché non ci sono parole precedenti a w3 (qui, "xii") che rientrino nella parte 12.

Se hai dei dubbi su come è stato fatto nel video, dai un'occhiata alle diapositive disponibili alla destra della console.

Questo esercizio fa parte del corso

Introduzione a Spark SQL in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Ottieni la parola per ogni riga, insieme alle due parole precedenti e alle due parole successive.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Word for each row, previous two and subsequent two words
query = """
SELECT
part,
LAG(word, 2) OVER(PARTITION BY ____ ORDER BY ____) AS w1,
LAG(word, ____) OVER(____ BY part ____ BY id) AS w2,
word AS w3,
____(word, 1) OVER(____ BY part ____ BY id) AS w4,
LEAD(word, 2) OVER(____ BY part ____ BY id) AS w5
FROM text
"""
spark.sql(query).where("part = 12").show(10)
Modifica ed esegui il codice