Kom igångKom igång gratis

Korsvalidering av pipeline för modell för flygduration

Den korsvaliderade modell du just byggde var enkel – den använde enbart km för att förutsäga duration.

En annan viktig prediktor för flygduration är avgångsflygplatsen. Flyg tar generellt längre tid att lyfta från trafikintensiva flygplatser. Låt oss se om modellen förbättras när vi lägger till den här prediktorn!

I den här övningen lägger du till fältet org i modellen. Eftersom org är kategoriskt krävs dock lite mer arbete innan det kan inkluderas: det måste först omvandlas till ett index och sedan one-hot-kodas innan det sätts ihop med km och används för att bygga regressionsmodellen. Vi samlar ihop dessa operationer i en pipeline.

Följande objekt har redan skapats:

  • params – ett tomt parameternät
  • evaluator – en regressionsutvärderare
  • regression – ett LinearRegression-objekt med labelCol='duration'.

Klasserna StringIndexer, OneHotEncoder, VectorAssembler och CrossValidator har redan importerats.

Den här övningen är en del av kursen

Maskininlärning med PySpark

Visa kurs

Övningsinstruktioner

  • Skapa en strängindexerare. Ange in- och utdatafälten som org respektive org_idx.
  • Skapa en one-hot-kodare. Namnge utdatafältet org_dummy.
  • Sätt ihop fälten km och org_dummy till ett enda fält kallat features.
  • Skapa en pipeline med följande steg: strängindexerare, one-hot-kodare, assembler och linjär regression. Använd den för att skapa en korsvaliderare.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Create an indexer for the org field
indexer = ____(____, ____)

# Create an one-hot encoder for the indexed org field
onehot = ____(____, ____)

# Assemble the km and one-hot encoded fields
assembler = ____(____, ____)

# Create a pipeline and cross-validator.
pipeline = ____(stages=[____, ____, ____, ____])
cv = ____(estimator=____,
          estimatorParamMaps=____,
          evaluator=____)
Redigera och kör kod