在keras-tuner的SklearnTuner文档中,可以找到:
注意,对于这个调谐器,甲骨文的目标应该总是设置为目标(‘得分’,方向=‘max’)。
在设置参数"scoring=metrics.make_scorer(metrics.mean_squared_error)“(根据Sklearn的文档等效于"neg_mean_squared_error”)时,keras在每次试验后都会打印“到目前为止的最佳分数”。对于这些值,我希望找到唯一的负值(为了最大化评分函数)。然而,我最终得到的只是积极的分数。我对这背后的逻辑很好奇?
我的keras-tuner Tuner类当前如下所示:
tuner = kt.tuners.SklearnTuner(
oracle=kt.oracles.BayesianOptimizationOracle(
objective=kt.Objective('score', 'max'),
hypermodel=self.build_model,
scoring=metrics.make_scorer(metrics.mean_squared_error),
cv=KFold(5),)发布于 2022-04-09 06:06:47
我的调谐器调音了一个Sklearn "LinearSVR“模型,它的默认评分是r2。当这个评分衡量模型是否合适时,人们想要最大限度地利用这个价值。在上面的调谐器中,我将评分定制为均方误差,这是一个希望最小化的函数。尽管https://scikit-learn.org/stable/modules/model_evaluation.html中的表可能看起来很混乱(至少在我看来是这样),但"neg_mean_squared_error“评分是而不是,它与metrics.mean_squared_error scoring函数默认的功能相当。我认为,"neg_mean_squared_error“只是利用了这个函数。keras-tuner文档行:
注意,对于这个调谐器,甲骨文的目标应该总是设置为目标(‘得分’,方向=‘max’)。
声明总是设置为"max“,这是不对的。
https://stackoverflow.com/questions/71795495
复制相似问题