我想使用scikit-learn中的RandomizedSearchCV。在构造函数中,我可以传递param_distributions
,即我想要优化的不同参数的分布。但还有一个fit_params
属性。从文档中我没有看出它的含义。在哪些情况下我应该使用fit_params
而不是param_distributions
?
回答:
一个是用于初始化参数,另一个是用于在实际调用fit
方法时添加的参数。
你想要改变的大多数东西都将通过param_distributions
来设置。像正则化、超参数、损失函数等,这些是特定于模型实例化的。
另一方面,有些在fit
调用中传递的部分有时是必需的。例如,LogisticRegression
支持sample_weights
(文档)。如果这对你很重要,那么你可以在这里添加这些参数,但通常CV是关于锁定你的超参数的,所以我猜大多数时候你需要的是param_distributions
。