← retour aux snippets

PySpark ML: VectorAssembler + StandardScaler

assembler des features et normaliser pour MLlib

PySpark ML: VectorAssembler + StandardScaler

objectif

Expliquer et montrer comment assembler des features et normaliser pour MLlib.

code minimal

from pyspark.ml.feature import VectorAssembler, StandardScaler
from pyspark.ml.classification import LogisticRegression
from pyspark.ml import Pipeline

assembler = VectorAssembler(inputCols=["f1","f2","f3"], outputCol="features")
scaler = StandardScaler(inputCol="features", outputCol="scaled", withMean=True, withStd=True)
lr = LogisticRegression(featuresCol="scaled", labelCol="label", maxIter=50)
pipe = Pipeline(stages=[assembler, scaler, lr])
model = pipe.fit(df)

utilisation

pred = model.transform(df)
pred.select("label","probability","prediction").show(5)

variante(s) utile(s)

# CrossValidator avec ParamGridBuilder peut tuner les hyperparamètres

notes

  • VectorAssembler requiert toutes les colonnes numériques sans NaN.
  • Utilisez StringIndexer pour les catégorielles au préalable.