def run_exp_train_cv(crf, feat_dirs, target_label, n_folds=5, n_jobs=-1):
"""
Run cross-validated experiment on training data
"""
# Collect data for running CRF classifier
train_dir = join(LOCAL_DIR, 'train')
true_iob_dir = join(train_dir, 'iob')
X = collect_features(true_iob_dir, *feat_dirs)
labels_fname = join(train_dir, 'train_labels.pkl')
labels = read_labels(labels_fname)
y_true = labels[target_label]
folds_fname = join(train_dir, 'folds.pkl')
folds = read_folds(folds_fname, n_folds)
# Predict]
y_pred = cross_val_predict(crf, X, y_true, cv=folds, verbose=2, n_jobs=n_jobs)
print(flat_classification_report(y_true, y_pred, digits=3, labels=('B', 'I')))
return y_pred
评论列表
文章目录