def eval_model(name, model, data):
print '=' * 20
print name, 'training'
model.fit(data, train.target, sample_weight=sample_weights)
print name, 'trained'
predictions = model.predict(processed_test_data)
print name, 'accuracy', np.mean(predictions == test.target)
print(metrics.classification_report(test.target, predictions))
print metrics.confusion_matrix(test.target, predictions)
print name, 'f1 cross validation', cross_validation.cross_val_score(model, grammar_processed_data, train.target, scoring='f1')
print name, 'precision cross validation', cross_validation.cross_val_score(
model, grammar_processed_data, train.target, scoring='precision'
)
return model, predictions
# SVM need balance on input features, same ranges and variances and stuff like that
评论列表
文章目录