Próbuję różnych kombinacji parametrów, aby określić, która kombinacja parametrów daje najlepszy wynik. W oparciu o mój kod pokazany poniżej, wypróbowałem już 8 różnych kombinacji, ale chcę wypróbować inną kombinację, która jest bez tf-idf.
Więc moje pytanie brzmi, co powinienem zrobić z parameters
, aby pyton wiedział, że po 8 kombinacjach, teraz kontynuujemy bez tf-idf (tf__use_idf
), abyśmy mogli mieć kolejne dodatkowe 4 kombinacje (tylko na podstawie binary
i stop_word
), tj. łącznie 12 kombinacji.
pipeline = Pipeline([
('vect', CountVectorizer()),
('tf', TfidfTransformer()),
('clf', SGDClassifier(loss='log', penalty='l2', max_iter=20, verbose=1)),
])
parameters = {
'vect__stop_words': ('english', None),
'vect__binary': (True, False),
'tf__use_idf': (True, False),
}
grid_search = GridSearchCV(pipeline, parameters, cv=5, n_jobs=-1, verbose=1)
grid_search.fit(train.x, train.y)
best_parameters = grid_search.best_params_
1 odpowiedź
Myślę, że szukasz czegoś takiego:
pipe = Pipeline([
# the reduce_dim stage is populated by the param_grid
('reduce_dim', 'passthrough'),
('classify', LinearSVC(dual=False, max_iter=10000))
])
param_grid = [
{
'reduce_dim': [PCA(iterated_power=7), NMF()],
'reduce_dim__n_components': N_FEATURES_OPTIONS,
'classify__C': C_OPTIONS
},
{
'reduce_dim': [SelectKBest(chi2)],
'reduce_dim__k': N_FEATURES_OPTIONS,
'classify__C': C_OPTIONS
},
]
Ten przykład dostałem z dokumentacji.
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.