繁体   English   中英

Scipy / Numpy / scikits - 根据两个数组计算精确度/召回分数

[英]Scipy/Numpy/scikits - calculating precision/recall scores based on two arrays

  • 我适合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_predict = model.predict(cv [:,0:-1])

我想根据实际标签和预测标签计算精度和召回分数。 是否有标准的方法来使用numpy / scipy / scikits?

谢谢

是的,请参阅文档: 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

暂无
暂无

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

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