python - how - scikit learn algorithm
recuperar las caracterÃsticas intermedias de una tuberÃa en Scikit(Python) (2)
Usando la función get_params()
, puede obtener acceso en las diversas partes de la tubería y sus respectivos parámetros internos. Aquí hay un ejemplo de acceso a ''vect''
text_clf = Pipeline([(''vect'', CountVectorizer()),
(''tfidf'', TfidfTransformer()),
(''clf'', MultinomialNB())]
print text_clf.get_params()[''vect'']
rendimientos (para mí)
CountVectorizer(analyzer=u''word'', binary=False, decode_error=u''strict'',
dtype=<type ''numpy.int64''>, encoding=u''utf-8'', input=u''content'',
lowercase=True, max_df=1.0, max_features=None, min_df=1,
ngram_range=(1, 1), preprocessor=None, stop_words=None,
strip_accents=None, token_pattern=u''(?u)//b//w//w+//b'',
tokenizer=None, vocabulary=None)
No he ajustado la canalización a ningún dato en este ejemplo, por lo que llamar a get_feature_names()
en este punto devolverá un error.
Estoy usando una tubería muy similar a la dada en este ejemplo :
>>> text_clf = Pipeline([(''vect'', CountVectorizer()),
... (''tfidf'', TfidfTransformer()),
... (''clf'', MultinomialNB()),
... ])
sobre el cual utilizo GridSearchCV
para encontrar los mejores estimadores sobre una grilla de parámetros.
Sin embargo, me gustaría obtener los nombres de columna de mi conjunto de entrenamiento con el método CountVectorizer()
de CountVectorizer()
. ¿Es esto posible sin implementar CountVectorizer()
fuera de la tubería?
solo para referencia
The estimators of a pipeline are stored as a list in the steps attribute:
>>>
>>> clf.steps[0]
(''reduce_dim'', PCA(copy=True, n_components=None, whiten=False))
and as a dict in named_steps:
>>>
>>> clf.named_steps[''reduce_dim'']
PCA(copy=True, n_components=None, whiten=False)