2013-05-08 4 views

Antwort

8

scikit-learn hat dafür eine doppelte Unterstrich-Notation, as exemplified here. Es funktioniert rekursiv und erstreckt sich auf OneVsRestClassifier, mit dem Vorbehalt, dass der zugrunde liegende Schätzer muss explizit als __estimator angesprochen werden:

parameters = {'ova_svm__estimator__cls__C': [1, 10, 100], 
       'ova_svm__estimator__chi2_k': [200, 500, 1000]} 
5

Für den Schätzer, die Sie Sie die Liste der Parameter mit ihren Tags erhalten können erstellt haben, wie folgt.

import pprint as pp 

pp.pprint(sorted(classifier.get_params().keys())) 

[ 'ova_svm', 'ova_svm__estimator', 'ova_svm__estimator__chi2' 'ova_svm__estimator__chi2__k', 'ova_svm__estimator__chi2__score_func', 'ova_svm__estimator__cls' 'ova_svm__estimator__cls__C', 'ova_svm__estimator__cls__class_weight', 'ova_svm__estimator__cls__dual' , 'ova_svm__estimator__cls__fit_intercept', 'ova_svm__estimator__cls__intercept_scaling', 'ova_svm__estimator__cls__loss', 'ova_svm__estimator__cls__max_iter', ‚ova_svm__estimator__c ls__multi_class', 'ova_svm__estimator__cls__penalty', 'ova_svm__estimator__cls__random_state', 'ova_svm__estimator__cls__tol', 'ova_svm__estimator__cls__verbose' 'ova_svm__estimator__steps', 'ova_svm__n_jobs', 'Schritte' 'vectorizer', 'vectorizer__analyzer', 'vectorizer__binary', ' vectorizer__decode_error ' 'vectorizer__dtype' 'vectorizer__encoding', 'vectorizer__input' 'vectorizer__lowercase', 'vectorizer__max_df' 'vectorizer__max_features', 'vectorizer__min_df' 'vectorizer__ngram_range', 'vectorizer__norm' 'vectorizer__preprocessor',' vectorizer__smooth_idf ', ' vectorizer__stop_words ',' vectorizer__strip _accents', 'vectorizer__sublinear_tf', 'vectorizer__token_pattern', 'vectorizer__tokenizer', 'vectorizer__use_idf', 'vectorizer__vocabulary']

Aus dieser Liste können Sie dann die Parameter einstellen, können Sie sich auf einen GridSearchCV tun wollen.

Verwandte Themen