sklearn SGDClassifier使用loss='log'报错,请求技术帮助
解决SGDClassifier loss='log'报错问题
这是scikit-learn版本迭代导致的参数名变更问题:
- 旧版本的scikit-learn中,SGDClassifier的
loss参数支持'log'取值;但在较新版本中,该取值已被更名为'log_loss',你的报错信息里也明确列出了当前版本支持的合法参数包含'log_loss'。
有两种解决方式:
- 适配当前版本:直接修改代码中的参数值,将
loss='log'替换为loss='log_loss',修改后的代码如下:from sklearn.linear_model import SGDClassifier clf = SGDClassifier(loss='log_loss', random_state=1) - 匹配书籍版本:如果希望严格遵循书籍中的代码,可以降级scikit-learn到支持
'log'参数的旧版本(例如0.24.x系列),执行以下命令:pip install scikit-learn==0.24.2
内容的提问来源于stack exchange,提问作者MLwith hesam
相关产品推荐
相关产品推荐

