ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ML-For-Beginners 训练 LogisticRegression 模型出现 ConvergenceWarning 最大迭代数警告怎么处理?

ML-For-Beginners 训练 LogisticRegression 模型出现 ConvergenceWarning 最大迭代数警告怎么处理? ML-For-Beginners 训练 LogisticRegression 模型出现 ConvergenceWarning 最大迭代数警告怎么处理【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners在 ML-For-Beginners 课程的 Regression 部分第 4 课2-Regression/4-Logistic/README.md中用 scikit-learn 训练LogisticRegression预测南瓜颜色时model.fit(X_train, y_train)可能在输出中打印如下警告ConvergenceWarning: Maximum number of iterations reached意思是算法在默认的最大迭代次数内没有收敛。仓库的 TROUBLESHOOTING.mdCommon Error Messages 一节给出了针对该警告的两种处理方式增大max_iter或先对特征做标准化。本文按这个路径说明如何修复并验证。警告出现的上下文课程的标准训练流程是先对南瓜数据做特征编码OrdinalEncoderOneHotEncoder通过ColumnTransformer组合标签用LabelEncoder然后train_test_split划分训练/测试集最后from sklearn.linear_model import LogisticRegression model LogisticRegression() model.fit(X_train, y_train) predictions model.predict(X_test)注意这里使用的是默认构造参数没有设置max_iter。仓库中的参考实现2-Regression/4-Logistic/solution/notebook.ipynb也是同样的写法数据文件位于 2-Regression/data/US-pumpkins.csv。修复方案一增大最大迭代次数TROUBLESHOOTING.md 给出的直接改法是实例化时把max_iter设为 1000from sklearn.linear_model import LogisticRegression # Increase max iterations model LogisticRegression(max_iter1000)其余流程不变仍然用fit(X_train, y_train)训练。修复方案二先对特征做标准化同一节给出的另一种改法是用StandardScaler对特征X做标准化后再训练from sklearn.preprocessing import StandardScaler scaler StandardScaler() X_scaled scaler.fit_transform(X)文档把这两条并列给出代码注释为 Or scale your features first没有规定必须选哪一个也没有说明两者叠加使用。验证修复是否生效重新运行训练与评估代码确认输出中不再出现ConvergenceWarning: Maximum number of iterations reached这一行。正常输出模型评分。课程的评估代码是from sklearn.metrics import f1_score, classification_report print(classification_report(y_test, predictions)) print(Predicted labels: , predictions) print(F1-score: , f1_score(y_test, predictions))仓库参考 notebook 中该课程的文档示例输出如下注意这是示例结果你的数据划分不同数值可能不同precision recall f1-score support 0 0.94 0.98 0.96 166 1 0.85 0.67 0.75 33 accuracy 0.92 199 macro avg 0.89 0.82 0.85 199 weighted avg 0.92 0.92 0.92 199 F1-score: 0.7457627118644068只要警告消失、classification_report能正常打印就说明警告已被处理具体指标数值不要拿示例值当固定预期。限制与后续步骤文档只给出上述两种改法没有提供其他调参建议不要把忽略警告当作处理手段——课程自己的 notebook 中抑制 seaborn 警告时也明确说明 Ignoring warnings is NOT a best practice。如果按以上方式处理问题仍然存在TROUBLESHOOTING.md 的 Still Having Issues? 一节给出的下一步是搜索已有 issue、查看 Discord 讨论或提交新 issue需附操作系统、Python/R 版本、完整报错信息和复现步骤。更多背景可回到课程文档2-Regression/4-Logistic/README.md 与 2-Regression/README.md。【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表