model.score() 在不同的机器学习库中(如 Scikit-Learn)通常是用来计算模型在测试集上的性能评估指标,比如 R² 分数、准确率等。这个方法大多数情况下只处理一维目标变量(例如,回归任务的连续值或分类任务的离散标签)。

对于多维度目标变量的处理:

  1. 多目标回归
  • 在回归任务中,如果你的目标变量是多维的(即一个样本对应多个输出),Sklearn 的标准 model.score() 方法不直接支持多目标回归。
  • 对于这种情况,可以使用 multioutput 评估指标,如 mean_squared_errorr2_score 等,手动计算每个目标变量的分数。
from sklearn.metrics import mean_squared_error, r2_score  

# 假设 y_true 是真实值,y_pred 是模型预测值  
mse = mean_squared_error(y_true, y_pred, multioutput='raw_values')  
r2 = r2_score(y_true, y_pred, multioutput='variance_weighted')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  1. 多分类问题
  • 如果你的任务是多分类(多类别的分类问题),model.score() 方法可以使用,返回模型在测试集上的准确率。
  • 你也可以使用其他分类指标,如 f1_scoreprecision_score 和 recall_score,来分别评估模型在每个类上的表现。
from sklearn.metrics import f1_score  

# 假设 y_true 是真实标签,y_pred 是模型预测结果  
f1 = f1_score(y_true, y_pred, average='weighted')  # 或 'macro'、'micro' 等
  • 1.
  • 2.
  • 3.
  • 4.

小结

  • model.score() 通常只支持一维目标变量,处理多维目标时需要使用其他的评估方法。
  • 评估多维目标值的模型时,你可以分别评估每个维度,或者通过合适的方法来综合多个目标的评估结果