Avec make_pipeline qui est apparu dans Code of 1st place in Mercari competition Je n'ai pas vraiment compris le Function Transformer.
Make_pipeline → Convertissez du code tel que [Prétraitement + Apprentissage + Estimation] en un estimateur. La réduction du code est possible.
FunctionTransformer → Convertit n'importe quelle fonction en transformateur. Parce que l'argument de Pipeline doit être un transformateur. La condition minimale pour toute fonction est que l'ajustement et la transformation existent.
Dans l'exemple ci-dessous, SVC est exécuté après l'exécution de PCA (). Le prétraitement et la classification peuvent être exécutés en une série d'opérations.
Site de référence pour l'exemple ci-dessous
qiita.rb
from sklearn.pipeline import Pipeline
from sklearn.svm import SVC
from sklearn.decomposition import PCA
from sklearn import datasets
#Préparation d'échantillons de données
iris = datasets.load_iris()
X, y = iris.data, iris.target
#Créer un pipeline
estimators = [('reduce_dim', PCA()), ('clf', SVC())]
pipe = Pipeline(steps=estimators)
#Apprentissage
pipe.fit(X, y)
#Prévoir
pipe.predict(X)
Extrait partiel du Code n ° 1 du concours Mercari
qiita.rb
from sklearn.pipeline import make_pipeline, make_union, Pipeline
from sklearn.feature_extraction.text import TfidfVectorizer as Tfidf
def on_field(f: str, *vec) -> Pipeline:
return make_pipeline(FunctionTransformer(itemgetter(f), validate=False), *vec)
vectorizer = make_union(
on_field('name', Tfidf(max_features=100000, token_pattern='\w+')),
on_field('text', Tfidf(max_features=100000, token_pattern='\w+', ngram_range=(1, 2))),
on_field(['shipping', 'item_condition_id'],
FunctionTransformer(to_records, validate=False), DictVectorizer()),
n_jobs=4)
Je suis des instances en pipeline de itemgetter et de Tfidf avec make_pipeline. Je crée mon propre convertisseur en convertissant le getter d'élément en transformateur avec Function Transformer. Cela permet d'identifier les chaînes de caractères importantes dans itemgetter (extraction de chaînes de caractères) en une série d'étapes. Cliquez ici pour obtenir les objets
Recommended Posts