何时使用评分与指标来评估ML性能

嗨,“得分”和“指标”之间的基本区别是什么。这些都是用来衡量效果的,但是它们有何不同?

如果您看到示例

在下面的十字线中使用'neg_mean_squared_error'进行得分

X = array[:,0:13]
Y = array[:,13]
seed = 7
kfold = model_selection.KFold(n_splits=10,random_state=seed)
model = LinearRegression()
scoring = 'neg_mean_squared_error'
results = model_selection.cross_val_score(model,X,Y,cv=kfold,scoring=scoring)
print("MSE: %.3f (%.3f)") % (results.mean(),results.std())

但是在下面的xgboost示例中,我正在使用metrics ='rmse'

cmatrix = xgb.DMatrix(data=X,label=y)
params = {'objective': 'reg:linear','max_depth': 3}
cv_results = xgb.cv(dtrain=cmatrix,params=params,nfold=3,num_boost_round=5,metrics='rmse',as_pandas=True,seed=123)

print(cv_results)
sdn0214 回答:何时使用评分与指标来评估ML性能

  

它们有何不同?

他们没有;这些实际上只是不同的术语,用来声明同一件事。

准确地说,评分是一个过程,其中根据某些指标(或得分)。对于参数scoring的scikit-learn术语选择(如您的第一个代码片段)相当不幸(实际上意味着对函数进行评分),因为MSE(及其变体为负) MSE和RMSE)是指标得分。但是实际上,如示例片段所示,这两个术语用作同义词,并且经常互换使用。

这里真正感兴趣的区别不在“得分”和“度量”之间,而是在损失(通常称为成本)和度量(例如准确性)之间(用于分类问题);这通常会使新用户感到困惑。您可能会在以下线程中找到我的答案很有用(忽略某些标题中的Keras提及,答案通常适用):

本文链接:https://www.f2er.com/3160542.html

大家都在问