Machine Learning dengan PySpark
Andrew Collier
Data Scientist, Fathom Data
Hanya untuk data pelatihan.
Untuk data pengujian dan pelatihan.


Pipeline terdiri dari serangkaian operasi.
Anda bisa menerapkan setiap operasi satu per satu... atau cukup terapkan pipelinenya!
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')
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)
# Latih model pada data pelatihan
regression = regression.fit(cars_train)
cars_test = indexer.transform(cars_test)
cars_test = onehot.transform(cars_test)
cars_test = assemble.transform(cars_test)
# Buat prediksi pada data pengujian
predictions = regression.transform(cars_test)
Gabungkan langkah menjadi sebuah pipeline.
from pyspark.ml import Pipeline
pipeline = Pipeline(stages=[indexer, onehot, assemble, regression])
Data pelatihan
pipeline = pipeline.fit(cars_train)
Data pengujian
predictions = pipeline.transform(cars_test)
Akses tiap tahap dengan atribut .stages.
# Objek LinearRegression (tahap keempat -> 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])
Machine Learning dengan PySpark