Skip to content

Instantly share code, notes, and snippets.

@jmquintana79
Last active July 8, 2024 12:03
Show Gist options
  • Save jmquintana79/b008c50ff30d35c0a236635d672343d4 to your computer and use it in GitHub Desktop.
Save jmquintana79/b008c50ff30d35c0a236635d672343d4 to your computer and use it in GitHub Desktop.
Los custom transfomer con los que he trabajado hasta ahora eran desarrollados con una clase. Existe una nueva manera a través de la funcionalidad FunctionTransformer de tal manera que aplicando esta a una función la convierte en un transfomer usable
import pandas as pd
from sklearn.preprocessing import FunctionTransformer
from sklearn.pipeline import Pipeline
# example
from sklearn.linear_model import LogisticRegression
# X, y
def get_dummies_size(df):
return pd.get_dummies(df, columns=['size'])
# Using FunctionTransformer to integrate pd.get_dummies
dummies_transformer = FunctionTransformer(get_dummies_size)
# Creating a pipeline
pipeline = Pipeline(steps=[
('dummies', dummies_transformer),
('classifier', LogisticRegression())
])
# fit
pipeline.fit(X,y)
# If you want to check the transformation results you can use named_steps
preprocessed_X = pipeline.named_steps['dummies'].fit_transform(X)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment