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.