繁体   English   中英

如何在python交叉验证中计算不同的指标值

[英]How to compute different metric value in python cross validation

我正在使用python sk-learn库进行分类。 我正在使用交叉验证来发现分类算法的有效性。 我想计算精度,精度,召回率,F1度量。 目前,我正在使用以下代码。

           dt  =  DecisionTreeClassifier(max_depth=dt_est)
           dt_acc = cross_validation.cross_val_score(dt,x_data_tfidf.toarray(), target_arr, cv=cv,                  scoring='accuracy')
           dt_f1 = cross_validation.cross_val_score(dt,x_data_tfidf.toarray(), target_arr, cv=cv,scoring='f1')
           dt_pre = cross_validation.cross_val_score(dt,x_data_tfidf.toarray(), target_arr, cv=cv, scoring='precision')     
           dt_re = cross_validation.cross_val_score(dt,x_data_tfidf.toarray(), target_arr, cv=cv, scoring='recall')    

我想问问有什么方法可以在一次计算中获得所有(准确性,精度,召回率,f1),目前我必须单独计算所有度量。

谢谢! 提前。

我不确定sklearn是否提供任何包装器功能,但是这样可以节省一些时间。

分数= [“准确性”,“ f1”,“精度”,“召回率”]

指标= {得分:cross_validation.cross_val_score(dt,x_data_tfidf.toarray(),target_arr,cv = cv,scoring = score)得分得分}

不幸的是,这目前尚不可能实现,但我们正在努力。 您可以定义自己的计分对象 ,以计算所有分数并将其打印/存储在某处。

仅供参考,未完成的PR在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM