spam.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:ml-talks-duolingo 作者: burrsettles 项目源码 文件源码
def experiment(model_class, vectorizer, xval):
    name = model_class.__class__.__name__ + '.' + model_class.penalty
    model = model_class.fit(X, y)
    model_weights = vectorizer.inverse_transform(model.coef_)[0]
    with open('weights.%s.txt' % name, 'w') as f:
        f.write('%s\t%f\n' % ('(intercept)', model.intercept_))
        f.writelines('%s\t%f\n' % k for k in model_weights.items())
    acc_scores = cross_validation.cross_val_score(model, X, y, cv=xval)
    auc_scores = cross_validation.cross_val_score(model, X, y, scoring='roc_auc', cv=xval)
    prec_scores = cross_validation.cross_val_score(model, X, y, scoring='precision', cv=xval)
    recall_scores = cross_validation.cross_val_score(model, X, y, scoring='recall', cv=xval)
    f1_scores = cross_validation.cross_val_score(model, X, y, scoring='f1', cv=xval)
    print '-'*80
    print 'acc\t%.4f\t%s' % (np.mean(acc_scores), name)
    print 'auc\t%.4f\t%s' % (np.mean(auc_scores), name)
    print 'prec\t%.4f\t%s' % (np.mean(prec_scores), name)
    print 'recall\t%.4f\t%s' % (np.mean(recall_scores), name)
    print 'f1\t%.4f\t%s' % (np.mean(f1_scores), name)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号