metrics.accuracy_score
是来自 sklearn.metrics
模块的一个函数,用于计算分类模型的准确率。关于它对不同数据类型的支持:
支持 NumPy Array
是的,metrics.accuracy_score
支持 NumPy 数组作为输入。你可以直接传递 NumPy 数组作为真实标签和预测标签,示例如下:
import numpy as np
from sklearn.metrics import accuracy_score
# 示例数据
y_true = np.array([0, 1, 1, 0])
y_pred = np.array([0, 1, 0, 0])
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)
对 Tensor 的支持
metrics.accuracy_score
不直接支持 PyTorch 或 TensorFlow 的张量(tensor)类型。不过,你可以通过将张量转换为 NumPy 数组来使用它。对于 PyTorch 张量,可以使用 .numpy()
方法,而对于 TensorFlow 张量,可以使用 .numpy()
方法或者 .eval()
方法(在会话中)。
下面是一个将 PyTorch 张量转换为 NumPy 数组的示例:
import torch
from sklearn.metrics import accuracy_score
# 示例张量
y_true_tensor = torch.tensor([0, 1, 1, 0])
y_pred_tensor = torch.tensor([0, 1, 0, 0])
# 将张量转换为 NumPy 数组
y_true_np = y_true_tensor.numpy()
y_pred_np = y_pred_tensor.numpy()
accuracy = accuracy_score(y_true_np, y_pred_np)
print("Accuracy:", accuracy)
总结
- NumPy Array:
accuracy_score
可以直接接受。 - Tensor: 在调用前需转换为 NumPy 数组。这一点适用于大多数需要与 scikit-learn 集成的场景。
内容由零声教学AI助手提供,问题来源于学员提问