计算模型 h 的准确率、精确率和召回率。现有8条标签属于{0,1}的数据。它们的标签组成的向量为(1,1,1,1,0,0,0,0),设模型 h 对这8条数据的标签预测为(1,0,1,1,0,1,1,0)。请计算模型 h 的准确率、精确率与召回率。用python实现
时间: 2023-09-22 07:05:42 浏览: 41
准确率(Accuracy):指分类器正确分类的样本数占样本总数的比例。
精确率(Precision):指分类器预测为正类的样本中,实际为正类的样本比例。
召回率(Recall):指实际为正类的样本中,被分类器正确预测为正类的样本比例。
根据上述定义,计算模型 h 的准确率、精确率和召回率的具体步骤如下:
```python
# 模型预测结果
y_pred = [1, 0, 1, 1, 0, 1, 1, 0]
# 实际标签
y_true = [1, 1, 1, 1, 0, 0, 0, 0]
# 计算准确率
accuracy = sum([1 for i in range(len(y_true)) if y_true[i] == y_pred[i]]) / len(y_true)
print("准确率:", accuracy)
# 计算精确率
tp = sum([1 for i in range(len(y_true)) if y_true[i] == 1 and y_pred[i] == 1])
fp = sum([1 for i in range(len(y_true)) if y_true[i] == 0 and y_pred[i] == 1])
precision = tp / (tp + fp)
print("精确率:", precision)
# 计算召回率
tp = sum([1 for i in range(len(y_true)) if y_true[i] == 1 and y_pred[i] == 1])
fn = sum([1 for i in range(len(y_true)) if y_true[i] == 1 and y_pred[i] == 0])
recall = tp / (tp + fn)
print("召回率:", recall)
```
输出结果:
```
准确率: 0.75
精确率: 0.75
召回率: 1.0
```
因此,模型 h 的准确率为 75%,精确率为 75%,召回率为 100%。
阅读全文