Sklearn: How to reset a regressor or classifier object in sknn

I defined the regress as follows:

nn1 = Regressor( layers=[ Layer("Rectifier", units=150), Layer("Rectifier", units=100), Layer("Linear")], regularize="L2", # dropout_rate=0.25, learning_rate=0.01, valid_size=0.1, learning_rule="adagrad", verbose=False, weight_decay=0.00030, n_stable=10, f_stable=0.00010, n_iter=200) 

I use this regression in k-fold cross-validation. In order for the cross-check to work correctly and not learn from previous bends, it is necessary that the regressor is reset after each fold.
How can I reset a regressor object?

+5
source share
2 answers

sklearn.base.clone should achieve what you want to achieve

+6
source

The sample that I use for cross-validation creates a new classifier for each training / testing pair:

 from sklearn.cross_validation import KFold kf = KFold(len(labels),n_folds=5, shuffle=True) for train, test in kf: clf = YourClassifierClass() clf.fit(data[train],labels[train]) # Do evaluation with data[test] and labels[test] 

You can save the current best classifier in a separate variable and access its parameters after cross-checking (this is also useful if you want to try different parameters).

+1
source

Source: https://habr.com/ru/post/1232838/


All Articles