本文介绍了Scipy/Numpy/SCRICKITS-基于两个数组计算精度/召回率分数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 我拟合了Logistic回归模型,并使用以下内容基于训练数据集训练该模型
import scikits as sklearn from sklearn.linear_model import LogisticRegression lr = LogisticRegression(C=0.1, penalty='l1') model = lr.fit(training[:,0:-1], training[:,-1)
- 我有一个交叉验证数据集,其中包含在输入矩阵中关联的标签,可以通过 访问
cv[:,-1]
- 我针对训练好的模型运行交叉验证数据集,该模型根据预测返回0和1的列表
cv_Forecast=Model.Forecast(cv[:,0:-1])
问题
我想根据实际标签和预测标签计算准确率和召回率分数。有没有使用NumPy/Scipy/SCRICKIT来完成这项工作的标准方法?
谢谢
推荐答案
有,请参阅文档:http://scikit-learn.org/stable/modules/classes.html#classification-metrics
您还应该了解一下sklearn.metrics.classification_report
实用程序:
>>> from sklearn.metrics import classification_report
>>> from sklearn.linear_model import SGDClassifier
>>> from sklearn.datasets import load_digits
>>> digits = load_digits()
>>> n_samples, n_features = digits.data.shape
>>> n_split = n_samples / 2
>>> clf = SGDClassifier().fit(digits.data[:n_split], digits.target[:n_split])
>>> predictions = clf.predict(digits.data[n_split:])
>>> expected = digits.target[n_split:]
>>> print classification_report(expected, predictions)
precision recall f1-score support
0 0.90 0.98 0.93 88
1 0.81 0.69 0.75 91
2 0.94 0.98 0.96 86
3 0.94 0.85 0.89 91
4 0.90 0.93 0.91 92
5 0.92 0.92 0.92 91
6 0.92 0.97 0.94 91
7 1.00 0.85 0.92 89
8 0.71 0.89 0.79 88
9 0.89 0.83 0.86 92
avg / total 0.89 0.89 0.89 899
这篇关于Scipy/Numpy/SCRICKITS-基于两个数组计算精度/召回率分数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!