def train_classifier(self, trainvectors, labels, alpha='', iterations=50, jobs=10):
iterations = int(iterations)
jobs = int(jobs)
if alpha == '':
paramsearch = GridSearchCV(estimator=Perceptron(), param_grid=dict(alpha=numpy.linspace(0,2,20)[1:],n_iter=[iterations]), n_jobs=jobs)
paramsearch.fit(trainvectors,self.label_encoder.transform(labels))
selected_alpha = paramsearch.best_estimator_.alpha
elif alpha == 'default':
selected_alpha = 1.0
else:
selected_alpha = alpha
# train a perceptron with the settings that led to the best performance
self.model = Perceptron(alpha=selected_alpha,n_iter=iterations,n_jobs=jobs)
self.model.fit(trainvectors, self.label_encoder.transform(labels))
评论列表
文章目录