Boru hattı

PySpark ile Machine Learning

Andrew Collier

Data Scientist, Fathom Data

Sızıntı?

fit() yöntemi

Yalnızca eğitim verisi için.

transform() yöntemi

Test ve eğitim verisi için.

PySpark ile Machine Learning

Sızıntılı bir model

Eğitimde test verisinin kullanıldığı model

PySpark ile Machine Learning

Sızdırmaz bir model

Yalnızca eğitim verisinin kullanıldığı model

PySpark ile Machine Learning

Boru hattı

Bir boru hattı bir dizi işlemlerden oluşur.

Birden çok aşamalı bir boru hattı

Her işlemi tek tek uygulayabilirsiniz... ya da doğrudan boru hattını uygulayabilirsiniz!

PySpark ile Machine Learning

Araba modeli: Adımlar

indexer = StringIndexer(inputCol='type', outputCol='type_idx')

onehot = OneHotEncoder(inputCols=['type_idx'], outputCols=['type_dummy'])
assemble = VectorAssembler( inputCols=['mass', 'cyl', 'type_dummy'], outputCol='features' )
regression = LinearRegression(labelCol='consumption')
PySpark ile Machine Learning

Araba modeli: Adımların uygulanması

Eğitim verisi

indexer = indexer.fit(cars_train)
cars_train = indexer.transform(cars_train)
onehot = onehot.fit(cars_train)
cars_train = onehot.transform(cars_train)
cars_train = assemble.transform(cars_train)
# Eğitim verisine modeli uydurun
regression = regression.fit(cars_train)

Test verisi

cars_test  = indexer.transform(cars_test)
cars_test  = onehot.transform(cars_test)
cars_test  = assemble.transform(cars_test)
# Test verisi üzerinde tahmin yapın
predictions = regression.transform(cars_test)
PySpark ile Machine Learning

Araba modeli: Boru hattı

Adımları bir boru hattında birleştirin.

from pyspark.ml import Pipeline

pipeline = Pipeline(stages=[indexer, onehot, assemble, regression])

Eğitim verisi

pipeline = pipeline.fit(cars_train)

Test verisi

predictions = pipeline.transform(cars_test)
PySpark ile Machine Learning

Araba modeli: Aşamalar

Tek tek aşamalara .stages özniteliğiyle erişin.

# LinearRegression nesnesi (dördüncü aşama -> indeks 3)
pipeline.stages[3]

print(pipeline.stages[3].intercept)
4.19433571782916
print(pipeline.stages[3].coefficients)
DenseVector([0.0028, 0.2705, -1.1813, -1.3696, -1.1751, -1.1553, -1.8894])
PySpark ile Machine Learning

Boru hatları iş akışını hızlandırır!

PySpark ile Machine Learning

Preparing Video For Download...